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

Форум: MS ACCESS

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

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

 
 

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

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

тема: Проблема в вызове запроса через Call
 
 автор: Andru_SPB   (08.06.2010 в 23:31)   личное сообщение
 
 

Помогите , кто знает, пожалуйста .
Решил вызвать запрос из программы
Call RecordSet.Open(SQL, Catalog.ActiveConnection, adOpenDynamic, adLockOptimistic)
Для получения запроса в виде SQL выражения :
1.Создал запрос в интерактивном режиме
2. затем через меню "Вид-РежимSQL" получил выражение SQL

Вот выражение

SELECT Квартирные_платежи.Номер_квартиры, Квартирные_платежи.Дата_поступления, Квартирные_платежи.Дата_платежа, Квартирные_платежи.Сумма_платежа, Квартирные_платежи.Описание, Квартирные_платежи.Источник_приема
FROM Квартирные_платежи
WHERE (((Квартирные_платежи.Дата_поступления) Between [Forms]![Бухгалтерия]![ПолеНачДатаФайла] And [Forms]![Бухгалтерия]![ПолеКонечнДатаФайла]));

Компилятор выдает ошибку синтаксиса в выражении после WHERE

  Ответить  
 
 автор: Andru_SPB   (08.06.2010 в 23:36)   личное сообщение
 
 

Да , в программе SQL описал

SQL = "SELECT Квартирные_платежи.Номер_квартиры, Квартирные_платежи.Дата_поступления, " & _
"Квартирные_платежи.Дата_платежа, Квартирные_платежи.Сумма_платежа, " & _
"Квартирные_платежи.Описание, Квартирные_платежи.Источник_приема " & _
"FROM Квартирные_платежи " & _
"WHERE((Квартирные_платежи.Дата_поступления)" & _
" Between ( " & [Forms]![Бухгалтерия]![ПолеНачДатаФайла] & _
" And " & [Forms]![Бухгалтерия]![ПолеКонечнДатаФайла] & " ));"
Перебор вариантов в течении часа - двух не дал пока результата)

  Ответить  
 
 автор: Lukas   (08.06.2010 в 23:37)   личное сообщение
 
 

Надо собрать SQL строку кодом и подставить значения полей формы в SQL строку запроса в соответствующем формате.
То есть вместо
[Forms]![Бухгалтерия]![ПолеНачДатаФайла]
должно быть что-то типа
#12/21/2009#

  Ответить  
 
 автор: Andru_SPB   (08.06.2010 в 23:48)   личное сообщение
 
 

[Forms]![Бухгалтерия]![ПолеНачДатаФайла] и [Forms]![Бухгалтерия]![ПолеКонечнДатаФайла] он заменяет на то ,что стоит в форме , например 08.06.2010. Проверил выводом Msg на экран.
Только, что проверил и с вашими #, для чего переделал вид SQL в программе
SQL = "SELECT Квартирные_платежи.Номер_квартиры, Квартирные_платежи.Дата_поступления, " & _
"Квартирные_платежи.Дата_платежа, Квартирные_платежи.Сумма_платежа, " & _
"Квартирные_платежи.Описание, Квартирные_платежи.Источник_приема " & _
"FROM Квартирные_платежи " & _
"WHERE(((Квартирные_платежи.Дата_поступления)" & _
" Between #" & [Forms]![Бухгалтерия]![ПолеНачДатаФайла] & _
"# And #" & [Forms]![Бухгалтерия]![ПолеКонечнДатаФайла] & "# ));"
Результат - тот же(

  Ответить  
 
 автор: Lukas   (09.06.2010 в 00:13)   личное сообщение
 
 

Ничего удивительного.
Я же не говорил, что нужно "обернуть" решетками значение поля, я говорил применить форматирование для дат:
... & Format$(DataField, "\#mm\/dd\/yyyy\#") & ...

  Ответить  
 
 автор: Andru_SPB   (09.06.2010 в 00:21)   личное сообщение
 
 

Да, похоже,вы правы - оставил для примера ваш вид даты с # заменив "." на "/" и проглотил.
С Format завтра потренируюсь - спасибо.

  Ответить  
 
 автор: Andru_SPB   (09.06.2010 в 00:28)   личное сообщение
 
 

До завтра не дождался - проверил - работает - большое спасибо.

  Ответить  
 
 автор: Lukas   (09.06.2010 в 00:30)   личное сообщение
 
 

"Завтра" наступило полчаса назад.
Успехов.

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