Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: запрос с параметрами и Vba
 
 автор: ludmil   (31.05.2011 в 01:21)   личное сообщение
 
 

В запросе
поле таблицы [отделение] имеет условие отбора вида [Forms]![заставка]![Поле337] это текст;
есть вычисляемые поля
выр6: DateSerial(Year(Date());1;11)

выр5: IIf(Forms![ВСЕ ОТЧЕТЫ]!Поле0<[выр6];[выр6];Forms![ВСЕ ОТЧЕТЫ]!Поле0) это дата краткий формат

При работе непосредственно с запросом формируется все корректно.
Если работаю в Vba
Set qdf = dbs.QueryDefs("имя")

qdf.Parameters("[Forms]![ВСЕ ОТЧЕТЫ]![Поле0]") = [Forms]![Все отчеты]![поле0]
qdf.Parameters("[Forms]![заставка]![Поле337]") = [Forms]![заставка]![Поле337]
Set R = qdf.OpenRecordset(dbOpenForwardOnly)
Do Until R.EOF
… идет выборка данных и разнесение в нужную таблицу
R.MoveNext
Loop
R.Close
Похоже что именно Выр5 работает не так или не верно оформляю передачу параметров
Что не так ,подскажите пожалуйста.

  Ответить  
 
 автор: Силblч   (31.05.2011 в 10:13)   личное сообщение
 
 

[имхо] формировал бы строку запроса в коде, раз уж МИФ, подставляя нужные значения [/имхо]

  Ответить  
 
 автор: osmor   (31.05.2011 в 10:52)   личное сообщение
 
 

Покажите полный текст запроса

  Ответить  
 
 автор: Анатолий (Киев)   (31.05.2011 в 10:56)   личное сообщение
 
 


Похоже что именно Выр5 работает не так

Как выглядит "не так"?

Функция IIF возвращает тип Variant. Если в Forms![ВСЕ ОТЧЕТЫ]!Поле0 всегда указана дата, то надежнее обернуть ваш IIF функцией CDate.
У вас это поле Forms![ВСЕ ОТЧЕТЫ]!Поле0 связано с полем типа Date/Time? Или, хотя бы, в св-ве "Формат" указан формат даты?

Параметрам запроса, отличным от текстовых желательно явно указывать тип (в SQL выражении перед SELECT идет строка PARAMETERS).

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList