powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите разобраться с запросом!!!!
73 сообщений из 73, показаны все 3 страниц
Помогите разобраться с запросом!!!!
    #32779009
Фотография softmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть запрос к mySQL делаю из Access
делаю связь с таблицами mySQL (хотя наверное это не нужно )
делаю запрос к mySQL

SELECT DISTINCT
v.description,
date_format(log_date, '%H:%i:%s') AS h,
date_format(log_date, '%d.%m.%Y') AS d,
u.user_name,
p.department_name,
u.notes
FROM
vv v,
users u,
departments p,
access_log a,
readers r,
tokens t
WHERE
(a.token_id = t.token_id) AND
(a.token_id = u.token_id) AND
(a.reader_id = r.reader_id) AND
(a.reader_id = v.reader_id) AND
(u.department_id = p.department_id) AND
(a.log_date>='01-09-2004') AND
(a.log_date<='10-04-2005')
ORDER BY
d,
h
Вопрос такой как состыковать форму что бы значения
(a.log_date>='01-09-2004') AND
(a.log_date<='10-04-2005')
брались из полей
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32779121
Фотография Shurgenz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторВопрос такой как состыковать форму что бы значения
(a.log_date>='01-09-2004') AND
(a.log_date<='10-04-2005')
брались из полей

А так не получается?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
dim df,mf,dt,mt as String

df = day(me.date_field_from)
if len(df)= 1  then
   df="0" & df
end if
mf = month(me.date_field_from)
if len(mf)= 1  then
   mf="0" & mf
end if

....
strSQL=strSQL & " AND (a.log_date>=" & df & "-" & mf & "-" & CStr(Year(me.date_field_from))
и т.п.
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32779124
Фотография Shurgenz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тока одинарные кавычки я там забыл поставить
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32779176
Фотография softmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
догда еще такой вопрос
Надо будет создовать еще один запрос
уже к имеющемуся или как????
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32779466
Фотография Shurgenz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не... strSQL - это твой запрос
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32779627
Фотография softmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемый Shurgenz а можно более подробно ...
Пожалуста !!!
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32779659
Фотография Shurgenz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
dim strSQL as String
strSQL="SELECT DISTINCT v.description, " _
& "date_format(log_date, '%H:%i:%s') AS h, _
& "date_format(log_date, '%d.%m.%Y') AS d," _
& "u.user_name,p.department_name,u.notes " _
& "FROM vv v, users u, departments p, access_log a, readers r, tokens t " _
& "WHERE (a.token_id = t.token_id) AND (a.token_id = u.token_id) AND " _
& "(a.reader_id = r.reader_id) AND (a.reader_id = v.reader_id) AND " _
& "(u.department_id = p.department_id) AND "
' дальше то, что я писал уже выше


А потом выполняешь эту строку там, где ты ее выполняешь для mySQL
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32779901
Фотография softmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прости конечно за тупость но что то я как раз не уловил как это состыковать
ведь sql запрос я просто в запросе писал а здесь я так понимаю
не так все просто ....
и еще такой вопрос как то в accesse запрос к mysql медленно происходит как можно реализовать что бы запрос формировалсь на основе данных форм
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32780062
Фотография Shurgenz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторПрости конечно за тупость но что то я как раз не уловил как это состыковать
ведь sql запрос я просто в запросе писал а здесь я так понимаю
не так все просто ....
и еще такой вопрос как то в accesse запрос к mysql медленно происходит как можно реализовать что бы запрос формировалсь на основе данных форм

Да все тут как раз просто....

строка собирается так:

"собственно текст запроса" & значение переменной (поля) формы (строковое выражение).
получается "собственно текст запроса+значение переменной (поля) формы (строковое выражение)" и далее таким же макаром, пока всю строку не соберешь. Это легко смотрится в дебаггере. Запусти и по шагам любуйся на выполнение


А мускул медленно отрабатывает потому, что через ODBC только к нему можно из акеса пристыковаться. А ODBC - он сам по себе тормознут. Да еще и акес через себя его пропускает, если ты прилинковываешь таблицы. Лучше их не прилинковывать... Хотя, по синтаксису запроса видно, что ты как раз и не прилинковываешь их. Так собирай тогда запрос свой в строку.


Ну вот пример:

Код: plaintext
1.
2.
strSQL="Select"
strSQL=strSql & " some_field "
strSQL=strSql & " FROM "
и т.д

Погляди теперь это в дебаггере по шагам.
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32780071
Kelme
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и надо использовать запросы к серверу (Query path-through)
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32780162
Фотография softmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kelmeи надо использовать запросы к серверу (Query path-through)
Так я и делаю запросы к серверу
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32780165
Kelme
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
молодец, я просто так сказал, мало-ли :)
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32780405
Фотография softmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А можно простенький примерчик !!!Плиз я уже почти понял
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32780462
Kelme
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пример чего тебе надо?
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32780476
Фотография softmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пример как реализовать vba запрос
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32781590
Фотография softmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прошу очень помочь только осваиваю sql vba поэтому сложно все сразу понять !!!
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32782097
Фотография softmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот так составил не проходит
Private Sub Кнопка0_Click()


Dim strSQL As String
strSQL = "SELECT DISTINCT v.description, " _
& "date_format(log_date, '%H:%i:%s') AS h," _
& "date_format(log_date, '%d.%m.%Y') AS d," _
& "u.user_name,p.department_name,u.notes " _
& "FROM vv v, users u, departments p, access_log a, readers r, tokens t " _
& "WHERE (a.token_id = t.token_id) AND (a.token_id = u.token_id) AND " _
& "(a.reader_id = r.reader_id) AND (a.reader_id = v.reader_id) AND " _
& "(u.department_id = p.department_id) AND "

Dim df, mf, dt, mt As String

df = Day(Me.date_field_from)
If Len(df) = 1 Then
df = "0" & df
End If
mf = Month(Me.date_field_from)
If Len(mf) = 1 Then
mf = "0" & mf
End If

strSQL = strSQL
& " AND "(a.log_date>=" & df & "-" & mf & "-" & CStr(Year(me.date_field_from))& " AND "(a.log_date>=" & df & "-" & mf & "-" & CStr(Year(me.date_field_from))"
End Sub
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32782247
GKirill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
Private Sub Кнопка0_Click()


Dim strSQL As String
strSQL = "SELECT DISTINCT v.description, " _
& "date_format(log_date, '%H:%i:%s') AS h," _
& "date_format(log_date, '%d.%m.%Y') AS d," _
& "u.user_name,p.department_name,u.notes " _
& "FROM vv v, users u, departments p, access_log a, readers r, tokens t " _
& "WHERE (a.token_id = t.token_id) AND (a.token_id = u.token_id) AND " _
& "(a.reader_id = r.reader_id) AND (a.reader_id = v.reader_id) AND " _
& "(u.department_id = p.department_id) AND "

Dim df, mf, dt, mt As String

df = Day(Me.date_field_from)
If Len(df) =  1  Then
df = "0" & df
End If
mf = Month(Me.date_field_from)
If Len(mf) =  1  Then
mf = "0" & mf
End If

strSQL = strSQL _
& "(a.log_date>='" & df & "-" & mf & "-" & CStr(Year(me.date_field_from)) _
& "') AND (a.log_date>='" & df & "-" & mf & "-" & CStr(Year(me.date_field_from)) _
& "')"
End Sub
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32782288
Фотография softmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Теперь ошибок нет но собственно ничего и не происходит
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32782292
Фотография softmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как ему указать что нужно делать именно запрос к серверу
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32782330
GKirill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kelmeи надо использовать запросы к серверу (Query path-through)

В дизайнере запросов:
Query - SQL Specific - Pass-Through.
Потом открываешь окошко Properties и задаешь для свойства
ODBC Connect Str значение коннекта к твоему MySQL - серверу.
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32782525
Фотография softmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все равно не работает бред какойто
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32782541
Фотография softmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я правильно понял в свойстве формы
Источнок записей
в свойствах построителя
указать источник строк
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32782725
GKirill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softmasterЯ правильно понял в свойстве формы
Источнок записей
в свойствах построителя
указать источник строк
Если ты хочешь, чтобы твоя форма строилась на этом запросе, ты должен его задавать динамически в зависимости от полей с датой.
Т.е.
Код: plaintext
Me.RecordSource = этот самый запрос
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32782774
Фотография softmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что то у меня опять не клееться !!
Можно хотябы маленький пример базки
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32783448
Фотография softmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GKirill softmasterЯ правильно понял в свойстве формы
Источнок записей
в свойствах построителя
указать источник строк
Если ты хочешь, чтобы твоя форма строилась на этом запросе, ты должен его задавать динамически в зависимости от полей с датой.
Т.е.
Код: plaintext
Me.RecordSource = этот самый запрос


Очень прошу тебя мне помочь не как мне не освоить сей продукт можно маленький пример
Очень надо а я понимаю ты в этом Гуру!!!
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32783468
AlTis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
dim strDate as string
dim strSQL as string

strDate = "'" & format(me!fldDate,"yyyy") & "-" & format(me!fldDate,"mm") & "-" & format(me!fldDate,"dd") & "'"

strSQL="SELECT * FROM MyTable WHERE fldDate=" & strDate 

currentdb.querydeqs("MyPassThroughQuery").sql=strsql

me.recordsource="MyPassThroughQuery"

где:
me!fldDate - поле на форме, содержащее дату
MyTable - таблица на майсикле
fldDate - поле таблицы MyTable
MyPassThroughQuery - сохранённый запрос к серверу
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32783503
Фотография Alexander G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тут есть опечаточка - queryde f s
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32783530
Фотография softmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlTis
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
dim strDate as string
dim strSQL as string

strDate = "'" & format(me!fldDate,"yyyy") & "-" & format(me!fldDate,"mm") & "-" & format(me!fldDate,"dd") & "'"

strSQL="SELECT * FROM MyTable WHERE fldDate=" & strDate 

currentdb.querydeqs("MyPassThroughQuery").sql=strsql

me.recordsource="MyPassThroughQuery"

где:
me!fldDate - поле на форме, содержащее дату
MyTable - таблица на майсикле
fldDate - поле таблицы MyTable
MyPassThroughQuery - сохранённый запрос к серверу

Так получаеться что запрос к MySql все равно полный нужно делать
Я то думал он собираеться
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32783551
Фотография softmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да данные на Mysql у меня храняться в нескольких таблицах
FROM
access_log a,
departments p,
readers r,
tokens t,
users u,
vv v

Как тут быть
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32783556
AlTis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 softmaster
так он и собирается. программно.
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32783570
AlTis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 softmaster

джоинь эти таблицы как тебе надо.
чтение книг тебе поможет.
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32783583
Фотография softmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlTis2 softmaster
так он и собирается. программно.
Хорошо тогда можно по порядку
Вот MySql запрос
SELECT DISTINCT
v.description,
date_format(log_date,'%H:%i:%s') AS h,
date_format(log_date,'%d.%m.%Y') AS d,
u.user_name,
p.department_name,
p.department_name,
u.notes
FROM
access_log a,
departments p,
readers r,
tokens t,
users u,
vv v
WHERE (a.token_id=t.token_id) AND
(a.token_id=u.token_id) AND
(a.reader_id=r.reader_id) AND
(a.reader_id=v.reader_id) AND
(u.department_id=p.department_id) AND
(a.log_date>='01-09-2004') AND
(a.log_date<='10-04-2005')
ORDER BY d, h
Как он будет выглядеть в vba
+
Добавить форму что бы изменять строки например
(a.log_date>='01-09-2004') AND
(a.log_date<='10-04-2005')
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32783608
Фотография softmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlTis2 softmaster

джоинь эти таблицы как тебе надо.
чтение книг тебе поможет.
Да в том то и дело что книги то сейчас нет под рукой я думал здесь помогут !!
Но что то как то наверное ошибся
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32783765
Фотография Shurgenz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
dim df,mf,dt,mt as String
dim strSQL as String

df = day(me.date_field_from)
if len(df)= 1  then
   df="0" & df
end if
mf = month(me.date_field_from)
if len(mf)= 1  then
   mf="0" & mf
end if
dt = day(me.date_field_to)
if len(dt)= 1  then
   dt="0" & dt
end if
mt = month(me.date_field_to)
if len(mf)= 1  then
   mt="0" & mt
end if

strSQL="SELECT DISTINCT "_
& "v.description, " _
& "date_format(log_date,'%H:%i:%s') AS h, " _
& "date_format(log_date,'%d.%m.%Y') AS d, " _
& "u.user_name, " _
& "p.department_name, " _
& "p.department_name, " _
& "u.notes " _
& "FROM " _
& "access_log a inner join tokens t on a.token_id=t.token_id " _
& "inner join readers r on a.reader_id=r.reader_id " _ 
& "inner join users u on a.token_id=u.token_id " _
& "inner join vv v on a.reader_id=v.reader_id " _
& "inner join departments p on u.department_id=p.department_id " _
& "WHERE a.log_date>='" & df & "-" & mf & "-" & CStr(Year(me.date_field_from)) & "' " _
& "AND a.log_date<='" & dt & "-" & mt & "-" & CStr(Year(me.date_field_to)) & "' " _
& "ORDER BY date_format(log_date,'%d.%m.%Y'), date_format(log_date,'%H:%i:%s')"

пся крев... ну какие тебе еще то примеры нужны?
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32783967
GKirill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softmaster AlTis2 softmaster
так он и собирается. программно.
Хорошо тогда можно по порядку
Вот MySql запрос
SELECT DISTINCT
v.description,
date_format(log_date,'%H:%i:%s') AS h,
date_format(log_date,'%d.%m.%Y') AS d,
u.user_name,
p.department_name,
p.department_name,
u.notes
FROM
access_log a,
departments p,
readers r,
tokens t,
users u,
vv v
WHERE (a.token_id=t.token_id) AND
(a.token_id=u.token_id) AND
(a.reader_id=r.reader_id) AND
(a.reader_id=v.reader_id) AND
(u.department_id=p.department_id) AND
(a.log_date>='01-09-2004') AND
(a.log_date<='10-04-2005')
ORDER BY d, h
Как он будет выглядеть в vba
+
Добавить форму что бы изменять строки например
(a.log_date>='01-09-2004') AND
(a.log_date<='10-04-2005')
Судя по этому тексту это Pass-Through запрос и ты таблички в акес не линкуешь. Тоды ты создаешь Pass-Through запрос, и он является источником для формы.
Если ты прилинкуешь эти табдички, то можно сделать акесный (не Pass-Through) запрос как описал Shurgenz. И делаешь тогда его источником для формы.
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32783991
Фотография Shurgenz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне вообще вот что интересно:

Если, как утверждает автор, таблички у него прилинкованы, то на кой в запросе используется синтаксис mysql? Тогда запрос должен быть аксессный.

и его проще отладить и собрать в конструкторе
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32784093
Фотография softmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shurgenz
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
dim df,mf,dt,mt as String
dim strSQL as String

df = day(me.date_field_from)
if len(df)= 1  then
   df="0" & df
end if
mf = month(me.date_field_from)
if len(mf)= 1  then
   mf="0" & mf
end if
dt = day(me.date_field_to)
if len(dt)= 1  then
   dt="0" & dt
end if
mt = month(me.date_field_to)
if len(mf)= 1  then
   mt="0" & mt
end if

strSQL="SELECT DISTINCT "_
& "v.description, " _
& "date_format(log_date,'%H:%i:%s') AS h, " _
& "date_format(log_date,'%d.%m.%Y') AS d, " _
& "u.user_name, " _
& "p.department_name, " _
& "p.department_name, " _
& "u.notes " _
& "FROM " _
& "access_log a inner join tokens t on a.token_id=t.token_id " _
& "inner join readers r on a.reader_id=r.reader_id " _ 
& "inner join users u on a.token_id=u.token_id " _
& "inner join vv v on a.reader_id=v.reader_id " _
& "inner join departments p on u.department_id=p.department_id " _
& "WHERE a.log_date>='" & df & "-" & mf & "-" & CStr(Year(me.date_field_from)) & "' " _
& "AND a.log_date<='" & dt & "-" & mt & "-" & CStr(Year(me.date_field_to)) & "' " _
& "ORDER BY date_format(log_date,'%d.%m.%Y'), date_format(log_date,'%H:%i:%s')"

пся крев... ну какие тебе еще то примеры нужны?

Спасибо конечно за ваше терпение
но как я могу все понять если мне все время разные куски кода даете
Я не могу уловить логики
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
dim df,mf,dt,mt as String
dim strSQL as String

df = day(me.date_field_from)
if len(df)= 1  then
   df="0" & df
end if
mf = month(me.date_field_from)
if len(mf)= 1  then
   mf="0" & mf
end if
dt = day(me.date_field_to)
if len(dt)= 1  then
   dt="0" & dt
end if
mt = month(me.date_field_to)
if len(mf)= 1  then
   mt="0" & mt
end if

strSQL="SELECT DISTINCT "_
& "v.description, " _
& "date_format(log_date,'%H:%i:%s') AS h, " _
& "date_format(log_date,'%d.%m.%Y') AS d, " _
& "u.user_name, " _
& "p.department_name, " _
& "p.department_name, " _
& "u.notes " _
& "FROM " _
& "access_log a inner join tokens t on a.token_id=t.token_id " _
& "inner join readers r on a.reader_id=r.reader_id " _ 
& "inner join users u on a.token_id=u.token_id " _
& "inner join vv v on a.reader_id=v.reader_id " _
& "inner join departments p on u.department_id=p.department_id " _
& "WHERE a.log_date>='" & df & "-" & mf & "-" & CStr(Year(me.date_field_from)) & "' " _
& "AND a.log_date<='" & dt & "-" & mt & "-" & CStr(Year(me.date_field_to)) & "' " _
& "ORDER BY date_format(log_date,'%d.%m.%Y'), date_format(log_date,'%H:%i:%s')"
Куда это цеплять
К форме или кнопке
Потом я сделал пустой запрос к серверу его куда цеплять

и что еще нужно сделать
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32784116
Фотография softmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я же попросил совета
А получил странный ответ кто советует не линковать таблицы а кто наооборот !?
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32784130
GKirill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У тебя, возможно, на форме есть кнопка и 2 поля с датами. Ты вводишь нужные даты в поля и жмешь на этот кнопарь. Поэтому этот код вешается на событие Click (или DblClick как удобнее) этого кнопаря.
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32784141
GKirill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softmasterЯ же попросил совета
А получил странный ответ кто советует не линковать таблицы а кто наооборот !?
Если запрос на MySql, то никакие таблички тебе линковать не надо. Если запрос акесный, то линкуешь все таблички и делаешь на них аксеный запрос.
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32784159
GKirill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ты реши какой ты хочешь запрос создать: акесный или MySql.
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32784164
Фотография softmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GKirillУ тебя, возможно, на форме есть кнопка и 2 поля с датами. Ты вводишь нужные даты в поля и жмешь на этот кнопарь. Поэтому этот код вешается на событие Click (или DblClick как удобнее) этого кнопаря.
Так и есть !!!

Хочу конечно MySQL
Если можно конечно его собрать
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32784194
Фотография Shurgenz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softmasterЕсть запрос к mySQL делаю из Access
делаю связь с таблицами mySQL (хотя наверное это не нужно )
делаю запрос к mySQL

SELECT DISTINCT
v.description,
date_format(log_date, '%H:%i:%s') AS h,
date_format(log_date, '%d.%m.%Y') AS d,
u.user_name,
p.department_name,
u.notes
FROM
vv v,
users u,
departments p,
access_log a,
readers r,
tokens t
WHERE
(a.token_id = t.token_id) AND
(a.token_id = u.token_id) AND
(a.reader_id = r.reader_id) AND
(a.reader_id = v.reader_id) AND
(u.department_id = p.department_id) AND
(a.log_date>='01-09-2004') AND
(a.log_date<='10-04-2005')
ORDER BY
d,
h
Вопрос такой как состыковать форму что бы значения
(a.log_date>='01-09-2004') AND
(a.log_date<='10-04-2005')
брались из полей

обращусь к первому вопросу....

я так понял, что форма содержит только две даты... от и до. Всвязи с этим и строил свои советы... если еще надо использовать запрос как рекордсоурсе к этой же, или другой форме, то без прилинковывания, в принципе, тоже можно обойтись... но тогда поля должны быть свободные на форме... и переход по записям осуществляться не стандартными средствами, а по нажатию кнопки, которую напишешь сам... по этой кнопке всем полям будешь присваивать поля текущей записи запроса... Смотри сам...

А то, что я написал, является просто ответом на вопрос: Вопрос такой как состыковать форму что бы значения
(a.log_date>='01-09-2004') AND
(a.log_date<='10-04-2005')
брались из полей


В принципе, то что я написал - почти готовая процедура... только без окончания, которое зависит от того, для чего тебе этот запрос нужен
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32784212
GKirill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softmaster GKirillУ тебя, возможно, на форме есть кнопка и 2 поля с датами. Ты вводишь нужные даты в поля и жмешь на этот кнопарь. Поэтому этот код вешается на событие Click (или DblClick как удобнее) этого кнопаря.
Так и есть !!!

Хочу конечно MySQL
Если можно конечно его собрать
Если ты создал пустой запрос запрос к серверу, то делаешь следующее:
вставляешь этот код событие Click кнопаря
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
Private Sub Кнопка0_Click()


Dim strSQL As String
strSQL = "SELECT DISTINCT v.description, " _
& "date_format(log_date, '%H:%i:%s') AS h," _
& "date_format(log_date, '%d.%m.%Y') AS d," _
& "u.user_name,p.department_name,u.notes " _
& "FROM vv v, users u, departments p, access_log a, readers r, tokens t " _
& "WHERE (a.token_id = t.token_id) AND (a.token_id = u.token_id) AND " _
& "(a.reader_id = r.reader_id) AND (a.reader_id = v.reader_id) AND " _
& "(u.department_id = p.department_id) AND "

Dim df, mf, dt, mt As String

df = Day(Me.date_field_first)
If Len(df) =  1  Then
   df = "0" & df
End If
mf = Month(Me.date_field_first)
If Len(mf) =  1  Then
   mf = "0" & mf
End If
dt = Day(Me.date_field_second)
If Len(dt) =  1  Then
   dt = "0" & dt
End If
mt = Month(Me.date_field_second)
If Len(mt) =  1  Then
   mt = "0" & mt
End If

strSQL = strSQL _
& "(a.log_date>='" & df & "-" & mf & "-" & CStr(Year(me.date_field_first)) _
& "') AND (a.log_date>='" & dt & "-" & mt & "-" _
& CStr(Year(me.date_field_second)) & "')"
CurrentDb.QueryDefs("имя твоего пустого запроса").Sql = strSQL
Me.RecordSource = "имя твоего пустого запроса"
End Sub
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32784226
Фотография softmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shurgenz softmasterЕсть запрос к mySQL делаю из Access
делаю связь с таблицами mySQL (хотя наверное это не нужно )
делаю запрос к mySQL

SELECT DISTINCT
v.description,
date_format(log_date, '%H:%i:%s') AS h,
date_format(log_date, '%d.%m.%Y') AS d,
u.user_name,
p.department_name,
u.notes
FROM
vv v,
users u,
departments p,
access_log a,
readers r,
tokens t
WHERE
(a.token_id = t.token_id) AND
(a.token_id = u.token_id) AND
(a.reader_id = r.reader_id) AND
(a.reader_id = v.reader_id) AND
(u.department_id = p.department_id) AND
(a.log_date>='01-09-2004') AND
(a.log_date<='10-04-2005')
ORDER BY
d,
h
Вопрос такой как состыковать форму что бы значения
(a.log_date>='01-09-2004') AND
(a.log_date<='10-04-2005')
брались из полей

обращусь к первому вопросу....

я так понял, что форма содержит только две даты... от и до. Всвязи с этим и строил свои советы... если еще надо использовать запрос как рекордсоурсе к этой же, или другой форме, то без прилинковывания, в принципе, тоже можно обойтись... но тогда поля должны быть свободные на форме... и переход по записям осуществляться не стандартными средствами, а по нажатию кнопки, которую напишешь сам... по этой кнопке всем полям будешь присваивать поля текущей записи запроса... Смотри сам...

А то, что я написал, является просто ответом на вопрос: Вопрос такой как состыковать форму что бы значения
(a.log_date>='01-09-2004') AND
(a.log_date<='10-04-2005')
брались из полей


В принципе, то что я написал - почти готовая процедура... только без окончания, которое зависит от того, для чего тебе этот запрос нужен

Спасибо за оказаное внимание и терпение к моему вопросу !!!

Суть такая есть запрос MySQL
Его можно использовать хоть из екселя
но так как результат запроса бываеть более 100000 строк
хотелось бы задавать
более его конкретным
поэтому хотел прибегнуть к средствам акеса и вашей помощи а как именно это будет реализоваться впринципе не важно
Нужно что бы на форме были поля куда можно вводить данные типа интервала даты
по конкретному узеру
ну можно еще и по депортаменту
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32784255
Фотография softmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GKirill softmaster GKirillУ тебя, возможно, на форме есть кнопка и 2 поля с датами. Ты вводишь нужные даты в поля и жмешь на этот кнопарь. Поэтому этот код вешается на событие Click (или DblClick как удобнее) этого кнопаря.
Так и есть !!!

Хочу конечно MySQL
Если можно конечно его собрать
Если ты создал пустой запрос запрос к серверу, то делаешь следующее:
вставляешь этот код событие Click кнопаря
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
Private Sub Кнопка0_Click()


Dim strSQL As String
strSQL = "SELECT DISTINCT v.description, " _
& "date_format(log_date, '%H:%i:%s') AS h," _
& "date_format(log_date, '%d.%m.%Y') AS d," _
& "u.user_name,p.department_name,u.notes " _
& "FROM vv v, users u, departments p, access_log a, readers r, tokens t " _
& "WHERE (a.token_id = t.token_id) AND (a.token_id = u.token_id) AND " _
& "(a.reader_id = r.reader_id) AND (a.reader_id = v.reader_id) AND " _
& "(u.department_id = p.department_id) AND "

Dim df, mf, dt, mt As String

df = Day(Me.date_field_first)
If Len(df) =  1  Then
   df = "0" & df
End If
mf = Month(Me.date_field_first)
If Len(mf) =  1  Then
   mf = "0" & mf
End If
dt = Day(Me.date_field_second)
If Len(dt) =  1  Then
   dt = "0" & dt
End If
mt = Month(Me.date_field_second)
If Len(mt) =  1  Then
   mt = "0" & mt
End If

strSQL = strSQL _
& "(a.log_date>='" & df & "-" & mf & "-" & CStr(Year(me.date_field_first)) _
& "') AND (a.log_date>='" & dt & "-" & mt & "-" _
& CStr(Year(me.date_field_second)) & "')"
CurrentDb.QueryDefs("имя твоего пустого запроса").Sql = strSQL
Me.RecordSource = "имя твоего пустого запроса"
End Sub


Все так сделал форма получаеться пустой
тоесть с нее все пропадает
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32784277
GKirill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А попробуй открыть (выполнить) этот запрос. Он что-нить выдает?
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32784300
GKirill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я так понял, что ты просто хочешь менять запрос в зависимости от некоторых параметров. Но тогда тебе не зачем форму завязывать на этот запрос, ты просто будешь менять Sql текст самого запроса в зависимости от указанных параметров.
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32784307
Фотография softmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GKirillА попробуй открыть (выполнить) этот запрос. Он что-нить выдает?
Да сам запрос выдает названия столбцов
столбцы пустые
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32784319
Фотография softmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GKirillЯ так понял, что ты просто хочешь менять запрос в зависимости от некоторых параметров. Но тогда тебе не зачем форму завязывать на этот запрос, ты просто будешь менять Sql текст самого запроса в зависимости от указанных параметров.

А как это запрос то все равно должен быть
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32784394
GKirill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softmaster GKirillА попробуй открыть (выполнить) этот запрос. Он что-нить выдает?
Да сам запрос выдает названия столбцов
столбцы пустые
Т.к. запрос ничего не выдает, значит сам запрос неправильно написан. Т.к. запрос в любом случае должен че-то выдавать. Да коннект к серверу (ODBC Connect Str) ты прописал?
softmasterА как это запрос то все равно должен быть
Дык запрос-то у тебя и останется, ты просто меняешь его Sql.
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32784564
Фотография Shurgenz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2GKirill

Если имена столбцов есть, то и коннект есть, ИМХО, Запрос неверный, скорее всего. Если есть способ напрямую с mysql поработать, надо на нем этот запрос запустить... скопировать строку запроса и запустить... заодно и проверить, как он сформировался
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32784573
Фотография softmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GKirill softmaster GKirillА попробуй открыть (выполнить) этот запрос. Он что-нить выдает?
Да сам запрос выдает названия столбцов
столбцы пустые
Т.к. запрос ничего не выдает, значит сам запрос неправильно написан. Т.к. запрос в любом случае должен че-то выдавать. Да коннект к серверу (ODBC Connect Str) ты прописал?
softmasterА как это запрос то все равно должен быть
Дык запрос-то у тебя и останется, ты просто меняешь его Sql.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
Dim strSQL As String
strSQL = "SELECT DISTINCT v.description, " _
& "date_format(log_date, '%H:%i:%s') AS h," _
& "date_format(log_date, '%Y.%m.%d') AS d," _
& "u.user_name,p.department_name,u.notes " _
& "FROM vv v, users u, departments p, access_log a, readers r, tokens t " _
& "WHERE (a.token_id = t.token_id) AND (a.token_id = u.token_id) AND " _
& "(a.reader_id = r.reader_id) AND (a.reader_id = v.reader_id) AND " _
& "(u.department_id = p.department_id) AND "

Dim df, mf, dt, mt As String

df = Day(Me.date_field_first)
If Len(df) =  1  Then
   df = "0" & df
End If
mf = Month(Me.date_field_first)
If Len(mf) =  1  Then
   mf = "0" & mf
End If
dt = Day(Me.date_field_second)
If Len(dt) =  1  Then
   dt = "0" & dt
End If
mt = Month(Me.date_field_second)
If Len(mt) =  1  Then
   mt = "0" & mt
End If

strSQL = strSQL _
& "(a.log_date>='" & CStr(Year(Me.date_field_first)) & "-" & mf & "-" & df _
& "') AND (a.log_date!!!!!<=!!!!!!!'" & CStr(Year(Me.date_field_second)) & "-" & mt & "-" _
& dt & "')"
strSQL = strSQL _
!!!!!!& " ORDER BY d,h"!!!!!!

CurrentDb.QueryDefs("ary").SQL = strSQL
Me.RecordSource = "ary"

Немного откаректировал твою процедуру запрос стал работать но как сделать что бы я мог при нажатии кнопа не только формировать запрос но и увидеть результат его работы
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32784622
GKirill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softmasterНемного откаректировал твою процедуру запрос стал работать но как сделать что бы я мог при нажатии кнопа не только формировать запрос но и увидеть результат его работы
Запрос сам выполняется, я так понял, т.е. работает.
Если ты хочешь увидеть толькл рез-т его работы, то тебе не надо форму завязывать на нем. А надо его просто выполнить, т.е. вставить строку
Код: plaintext
DoCmd.OpenQuery "ary"
, т.е. твой код должен иметь примерно такой вид.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
Dim strSQL As String
strSQL = "SELECT DISTINCT v.description, " _
& "date_format(log_date, '%H:%i:%s') AS h," _
& "date_format(log_date, '%Y.%m.%d') AS d," _
& "u.user_name,p.department_name,u.notes " _
& "FROM vv v, users u, departments p, access_log a, readers r, tokens t " _
& "WHERE (a.token_id = t.token_id) AND (a.token_id = u.token_id) AND " _
& "(a.reader_id = r.reader_id) AND (a.reader_id = v.reader_id) AND " _
& "(u.department_id = p.department_id) AND "

Dim df, mf, dt, mt As String

df = Day(Me.date_field_first)
If Len(df) =  1  Then
   df = "0" & df
End If
mf = Month(Me.date_field_first)
If Len(mf) =  1  Then
   mf = "0" & mf
End If
dt = Day(Me.date_field_second)
If Len(dt) =  1  Then
   dt = "0" & dt
End If
mt = Month(Me.date_field_second)
If Len(mt) =  1  Then
   mt = "0" & mt
End If

strSQL = strSQL _
& "(a.log_date>='" & CStr(Year(Me.date_field_first)) & "-" & mf & "-" & df _
& "') AND (a.log_date!<='" & CStr(Year(Me.date_field_second)) & "-" & mt & "-" _
& dt & "') ORDER BY d,h"
CurrentDb.QueryDefs("ary").SQL = strSQL
DoCmd.OpenQuery "ary"
и ты должен увидеть на экране рез-т выполнения запроса.
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32784782
Фотография softmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
о да дело сдвинулось с мертвой точки тепрь есть такая проблема
добавил строку
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Dim un As String
un = (Me.users)
If Len(un) =  1  Then
   un = "0" & un
End If
strSQL = strSQL _
& "(u.user_name='" & un & "')AND "
что бы по конкретному юзеру
работает но только когда строка полная
Вопрос:
как сделать что бы если в случае с числами выходило окно введите число
или еще как нибудь а в случае с людьми пустое поле значит запрос по всем
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32784927
GKirill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softmasterВопрос:
как сделать что бы если в случае с числами выходило окно введите число
или еще как нибудь
Код: plaintext
1.
Dim Ch as Integer
Ch = InputBox("Введите число","Ввод числа")
softmasterа в случае с людьми пустое поле значит запрос по всем

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Dim un As String
un = (Me.users)
If Len(un) =  1  Then
   un = "0" & un
End If
strSQL = strSQL _
& Iif(Nz(Me.users,"")="","","(u.user_name='" & un & "')")
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32784942
Фотография Shurgenz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
три поля на форме... два с числами, одно с номерами юзеров...

следишь, чтоб len(me.поле_с_юзером)>0 если больше 0, то вставляй номер на этапе формирования запроса

Если не указана дата, вообще ничего не собирай... то есть, проверяй вначале, а потом уже собирай то, что тебе надо.

и поле с юзером можно еще проверить на IsNumeric (не помню уже, есть такая в VBA, или как-то по другому зовется)
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32784952
Фотография Shurgenz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кирил,

Iif - такого в mysql нету, кажись.
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32784956
Фотография Shurgenz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тьфу, совсем сплю....
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32784958
Фотография softmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
Dim strSQL As String
strSQL = "SELECT DISTINCT v.description, " _
& "date_format(log_date, '%H:%i:%s') AS h," _
& "date_format(log_date, '%Y.%m.%d') AS d," _
& "u.user_name,p.department_name,u.notes " _
& "FROM vv v, users u, departments p, access_log a, readers r, tokens t " _
& "WHERE (a.token_id = t.token_id) AND (a.token_id = u.token_id) AND " _
& "(a.reader_id = r.reader_id) AND (a.reader_id = v.reader_id) AND " _
& "(u.department_id = p.department_id) AND "

Dim un As String
un = (Me.users)
If Len(un) =  1  Then
   un = "0" & un
End If
strSQL = strSQL _
& IIf(Nz(Me.users, "") = "", "", "(u.user_name='" & un & "')")

Dim Ch As Integer
Ch = InputBox("Введите число", "Ввод числа")

Dim df, mf, dt, mt As String

df = Day(Me.date_field_first)
If Len(df) =  1  Then
   df = "0" & df
End If
mf = Month(Me.date_field_first)
If Len(mf) =  1  Then
   mf = "0" & mf
End If
dt = Day(Me.date_field_second)
If Len(dt) =  1  Then
   dt = "0" & dt
End If
mt = Month(Me.date_field_second)
If Len(mt) =  1  Then
   mt = "0" & mt
End If

'Dim Ch As Integer
'Ch = InputBox("Введите число", "Ввод числа")

strSQL = strSQL _
& "(a.log_date>='" & CStr(Year(Me.date_field_first)) & "-" & mf & "-" & df _
& "') AND (a.log_date<='" & CStr(Year(Me.date_field_second)) & "-" & mt & "-" _
& dt & "')"

strSQL = strSQL _
& " ORDER BY d,h"

CurrentDb.QueryDefs("ary").SQL = strSQL
Me.RecordSource = "ary"

DoCmd.OpenQuery "ary", , acReadOnly
DoCmd.SetWarnings True
    
End Sub

Что то не идет !!!,
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32784966
Фотография softmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shurgenzтри поля на форме... два с числами, одно с номерами юзеров...

следишь, чтоб len(me.поле_с_юзером)>0 если больше 0, то вставляй номер на этапе формирования запроса

Если не указана дата, вообще ничего не собирай... то есть, проверяй вначале, а потом уже собирай то, что тебе надо.

и поле с юзером можно еще проверить на IsNumeric (не помню уже, есть такая в VBA, или как-то по другому зовется)

Не с номера а с именами
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32784975
Фотография Shurgenz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тогда еще проще... на len() проверяй
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32784991
Фотография softmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shurgenzтогда еще проще... на len() проверяй
Как это записать
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32785002
Фотография Shurgenz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
if len(me.поле_с_юзером)> 0  then
    формируешь
end if
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32785005
Фотография Shurgenz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ужас... пошел я до дому
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32785012
Фотография Shurgenz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
после поля с юзером... надо еще .Value

Код: plaintext
1.
2.
if len(me.поле_с_юзером.Value)> 0  then
    формируешь
end if
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32785030
Фотография softmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отцы просто земной Вам поклон
правда еще немного
вопросиков есть
как сделать когда
нет и
Код: plaintext
SELECT DISTINCT v.description, date_format(log_date, '%H:%i:%s') AS h,date_format(log_date, '%Y.%m.%d') AS d,u.user_name,p.department_name,u.notes FROM vv v, users u, departments p, access_log a, readers r, tokens t WHERE (a.token_id = t.token_id) AND (a.token_id = u.token_id) AND (a.reader_id = r.reader_id) AND (a.reader_id = v.reader_id) AND (u.department_id = p.department_id) AND (u.user_name='')AND (a.log_date>=' 2004 - 11 - 10 ') AND (a.log_date<=' 2004 - 11 - 15 ') ORDER BY d,h
получаеться строка строиться так
соответсвенно пустой запрос что сделал не так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
Dim strSQL As String
strSQL = "SELECT DISTINCT v.description, " _
& "date_format(log_date, '%H:%i:%s') AS h," _
& "date_format(log_date, '%Y.%m.%d') AS d," _
& "u.user_name,p.department_name,u.notes " _
& "FROM vv v, users u, departments p, access_log a, readers r, tokens t " _
& "WHERE (a.token_id = t.token_id) AND (a.token_id = u.token_id) AND " _
& "(a.reader_id = r.reader_id) AND (a.reader_id = v.reader_id) AND " _
& "(u.department_id = p.department_id) AND "

Dim un As String
If Len(Me.users) >  0  Then
    un = (Me.users)
    End If
If Len(un) =  1  Then
   un = "0" & un
End If


strSQL = strSQL _
& "(u.user_name='" & un & "')AND "


'Dim Ch As Integer
'Ch = InputBox("Введите число", "Ввод числа")

Dim df, mf, dt, mt As String

df = Day(Me.date_field_first)
If Len(df) =  1  Then
   df = "0" & df
End If
mf = Month(Me.date_field_first)
If Len(mf) =  1  Then
   mf = "0" & mf
End If
dt = Day(Me.date_field_second)
If Len(dt) =  1  Then
   dt = "0" & dt
End If
mt = Month(Me.date_field_second)
If Len(mt) =  1  Then
   mt = "0" & mt
End If



strSQL = strSQL _
& "(a.log_date>='" & CStr(Year(Me.date_field_first)) & "-" & mf & "-" & df _
& "') AND (a.log_date<='" & CStr(Year(Me.date_field_second)) & "-" & mt & "-" _
& dt & "')"

strSQL = strSQL _
& " ORDER BY d,h"

CurrentDb.QueryDefs("ary").SQL = strSQL
Me.RecordSource = "ary"

DoCmd.OpenQuery "ary", , acReadOnly
DoCmd.SetWarnings True
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32785042
Фотография Shurgenz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если одно из полей в формируемом запросе - null, вся строка в нулл сбросится.... удачи
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32785054
Фотография softmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShurgenzЕсли одно из полей в формируемом запросе - null, вся строка в нулл сбросится.... удачи
Брат совсем без тебя ни как не получаеться
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32785623
Фотография Shurgenz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Предлагаю, чтоб не особо морочить себя и других, сделать следующее:

все строки, где собирается strSQL разбить на отдельные команды... В отладчике потом по шагам посмотришь, где строка обнуляется

сделать это можно так:

из

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
strSQL = "SELECT DISTINCT v.description, " _
& "date_format(log_date, '%H:%i:%s') AS h," _
& "date_format(log_date, '%Y.%m.%d') AS d," _
& "u.user_name,p.department_name,u.notes " _
& "FROM vv v, users u, departments p, access_log a, readers r, tokens t " _
& "WHERE (a.token_id = t.token_id) AND (a.token_id = u.token_id) AND " _
& "(a.reader_id = r.reader_id) AND (a.reader_id = v.reader_id) AND " _
& "(u.department_id = p.department_id) AND "

получится

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
strSQL = "SELECT DISTINCT v.description, " 
strSQL = strSQL & "date_format(log_date, '%H:%i:%s') AS h," 
strSQL = strSQL & "date_format(log_date, '%Y.%m.%d') AS d," 
strSQL = strSQL & "u.user_name,p.department_name,u.notes " 
strSQL = strSQL & "FROM vv v, users u, departments p, access_log a, readers r, tokens t " 
strSQL = strSQL & "WHERE (a.token_id = t.token_id) AND (a.token_id = u.token_id) AND " 
strSQL = strSQL & "(a.reader_id = r.reader_id) AND (a.reader_id = v.reader_id) AND " 
strSQL = strSQL & "(u.department_id = p.department_id) AND "

наподобие этого...
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32788348
Orlic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Народ, читал-читал, но кое-чего не понял.
У меня на форме есть текстбокс tboPorts, в него надо прописать значение по умолчанию (которое высветится при загрузке формы), которое является подсчетом определенного поля таблицы. Создавать сохраненный запрос для этих целей не хочу, а динамически выполнить SQL запрос не получается...
Вот строка запроса (АксусьХР):
Код: plaintext
1.
2.
3.
strPorts = "SELECT DISTINCTROW ports.Коммутатор, Count(ports.Порт) AS [Порты] " & _
                "FROM ports " & _
                "WHERE (ports.Коммутатор = " & Me.id_set.Value & ")"

теперь результат выполнения его (число по идее), надо запихнуть в текстбокс:

Код: plaintext
1.
Me.tbo_add_ports.Value = РЕЗУЛЬТАТ ВЫПОЛНЕННИЯ ЗАПРОСА strPorts

а вот как выполнить его и получить результат - я не понял. Пробовал
Код: plaintext
1.
2.
  DoCmd.RunSQL strPorts  
  Me.tbo_add_ports.Value = strPorts
не то, так как это для запросов на изменение.
Код: plaintext
1.
2.
3.
    CurrentDb.QueryDefs("ЧТО ТУТ ПИСАТЬ").SQL = strPorts
    DoCmd.OpenQuery "ЧТО ТУТ ПИСАТЬ"
    И КАК СОХРАНЯТЬ РЕЗУЛЬТАТ?

Хелпы мне мало помогли, а книги нет.
Подскажите, пожалуйста.
...
Рейтинг: 0 / 0
Помогите разобраться с запросом!!!!
    #32788982
GKirill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
OrlicНарод, читал-читал, но кое-чего не понял.
У меня на форме есть текстбокс tboPorts, в него надо прописать значение по умолчанию (которое высветится при загрузке формы), которое является подсчетом определенного поля таблицы. Создавать сохраненный запрос для этих целей не хочу, а динамически выполнить SQL запрос не получается...
Вот строка запроса (АксусьХР):
Код: plaintext
1.
2.
3.
strPorts = "SELECT DISTINCTROW ports.Коммутатор, Count(ports.Порт) AS [Порты] " & _
                "FROM ports " & _
                "WHERE (ports.Коммутатор = " & Me.id_set.Value & ")"
Group By забыл, должно быть
Код: plaintext
1.
2.
3.
strPorts = "SELECT DISTINCTROW ports.Коммутатор, Count(ports.Порт) " & _
"AS [Порты] FROM ports " & _
"WHERE (ports.Коммутатор = " & Me.id_set.Value & ") " & _
"GROUP BY ports.Коммутатор"
Orlic
теперь результат выполнения его (число по идее), надо запихнуть в текстбокс:

Код: plaintext
1.
Me.tbo_add_ports.Value = РЕЗУЛЬТАТ ВЫПОЛНЕННИЯ ЗАПРОСА strPorts

а вот как выполнить его и получить результат - я не понял. Пробовал
Код: plaintext
1.
2.
  DoCmd.RunSQL strPorts  
  Me.tbo_add_ports.Value = strPorts

можешь написать примерно следующее:
Код: plaintext
1.
2.
3.
  Dim RstPorts as DAO.RecordSet
  Set RstPorts = Currentdb.OpenRecordSet(strPorts)
  Me.tbo_add_ports.Value = Iif(RstPorts.RecordCount> 0 ,RstPorts.Fields("Порты"), 0 )
...
Рейтинг: 0 / 0
73 сообщений из 73, показаны все 3 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите разобраться с запросом!!!!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]