|
|
|
| Помогите , кто знает, пожалуйста .
Решил вызвать запрос из программы
Call RecordSet.Open(SQL, Catalog.ActiveConnection, adOpenDynamic, adLockOptimistic)
Для получения запроса в виде SQL выражения :
1.Создал запрос в интерактивном режиме
2. затем через меню "Вид-РежимSQL" получил выражение SQL
Вот выражение
SELECT Квартирные_платежи.Номер_квартиры, Квартирные_платежи.Дата_поступления, Квартирные_платежи.Дата_платежа, Квартирные_платежи.Сумма_платежа, Квартирные_платежи.Описание, Квартирные_платежи.Источник_приема
FROM Квартирные_платежи
WHERE (((Квартирные_платежи.Дата_поступления) Between [Forms]![Бухгалтерия]![ПолеНачДатаФайла] And [Forms]![Бухгалтерия]![ПолеКонечнДатаФайла]));
Компилятор выдает ошибку синтаксиса в выражении после WHERE | |
|
| |
|
|
|
| Да , в программе SQL описал
SQL = "SELECT Квартирные_платежи.Номер_квартиры, Квартирные_платежи.Дата_поступления, " & _
"Квартирные_платежи.Дата_платежа, Квартирные_платежи.Сумма_платежа, " & _
"Квартирные_платежи.Описание, Квартирные_платежи.Источник_приема " & _
"FROM Квартирные_платежи " & _
"WHERE((Квартирные_платежи.Дата_поступления)" & _
" Between ( " & [Forms]![Бухгалтерия]![ПолеНачДатаФайла] & _
" And " & [Forms]![Бухгалтерия]![ПолеКонечнДатаФайла] & " ));"
Перебор вариантов в течении часа - двух не дал пока результата) | |
|
| |
|
|
|
| Надо собрать SQL строку кодом и подставить значения полей формы в SQL строку запроса в соответствующем формате.
То есть вместо
[Forms]![Бухгалтерия]![ПолеНачДатаФайла]
должно быть что-то типа
#12/21/2009# | |
|
| |
|
|
|
| [Forms]![Бухгалтерия]![ПолеНачДатаФайла] и [Forms]![Бухгалтерия]![ПолеКонечнДатаФайла] он заменяет на то ,что стоит в форме , например 08.06.2010. Проверил выводом Msg на экран.
Только, что проверил и с вашими #, для чего переделал вид SQL в программе
SQL = "SELECT Квартирные_платежи.Номер_квартиры, Квартирные_платежи.Дата_поступления, " & _
"Квартирные_платежи.Дата_платежа, Квартирные_платежи.Сумма_платежа, " & _
"Квартирные_платежи.Описание, Квартирные_платежи.Источник_приема " & _
"FROM Квартирные_платежи " & _
"WHERE(((Квартирные_платежи.Дата_поступления)" & _
" Between #" & [Forms]![Бухгалтерия]![ПолеНачДатаФайла] & _
"# And #" & [Forms]![Бухгалтерия]![ПолеКонечнДатаФайла] & "# ));"
Результат - тот же( | |
|
| |
|
|
|
| Ничего удивительного.
Я же не говорил, что нужно "обернуть" решетками значение поля, я говорил применить форматирование для дат:
... & Format$(DataField, "\#mm\/dd\/yyyy\#") & ... | |
|
| |
|
|
|
| Да, похоже,вы правы - оставил для примера ваш вид даты с # заменив "." на "/" и проглотил.
С Format завтра потренируюсь - спасибо. | |
|
| |
|
|
|
| До завтра не дождался - проверил - работает - большое спасибо. | |
|
| |
|
|
|
| "Завтра" наступило полчаса назад.
Успехов. | |
|
| |