T
trss
Изначально была такая проблема:
Access 2007. Есть на форме кнопка и 2 поля куда вводятся даты. При нажатии кнопки данные из полей записываются во временные переменные
TempVars("statdate1").Value = usDate(statdate1.Value)
TempVars("statdate2").Value = usDate(statdate2.Value)
(usDate - функция, преобразует даты в американский стандарт)
Затем открывается форма, содержащая подчиненную. В основе подчиненной лежит запрос на выборку.
Нужно, чтобы запрос каждый раз при нажатии на кнопку выдавал инфу за период(2 введенные даты), поэтому в конструкторе запроса на поле Дата в условии отбора пишу:
Between [tempvars]![statdate1] And [tempvars]![statdate2]
Access сообщает мне, что "Выражение неверно введено и является слишком сложным для расчета..."
Как заставить выполняться этот запрос, используя заранее введенные переменные?
мне посоветовали использовать вместо переменных функции. которые возвращают те же значения, что и у переменных. Я попробовал написать(опыт плохой в прогании) и столкнулся с этим:
В общем ситуация следующая:
поразмыслив теми малыми знаниями в области программирования, что у меня есть, я пришел к выводу, что функции, возвращающие нужные мне переменные должны выглядеть как-то так:
Public Function statdate1() As String
statdate1 = [TempVars]![statdate1]
End Function
Public Function statdate2() As String
statdate2 = [TempVars]![statdate2]
End Function
В конструкторе запросов в условии отбора поля Дата пишу:
Between statdate1() And statdate2()
В результате Аксес мне пишет о несоответствии типов.
Перед присвоением в теле функции переменная [TempVars]![statdate1] имела значение #05/22/2009#
После присвоения
statdate1 = [TempVars]![statdate1] - вот здесь
Функция вернула мне 22.05.2009
Отсюда и несоответствие типов. Что-то я совсем завис... Возможно я делаю что-то фатально не правильно? Где тут подвох?
P.S. если я только что написал полную ересь - сильно не бейте
Access 2007. Есть на форме кнопка и 2 поля куда вводятся даты. При нажатии кнопки данные из полей записываются во временные переменные
TempVars("statdate1").Value = usDate(statdate1.Value)
TempVars("statdate2").Value = usDate(statdate2.Value)
(usDate - функция, преобразует даты в американский стандарт)
Затем открывается форма, содержащая подчиненную. В основе подчиненной лежит запрос на выборку.
Нужно, чтобы запрос каждый раз при нажатии на кнопку выдавал инфу за период(2 введенные даты), поэтому в конструкторе запроса на поле Дата в условии отбора пишу:
Between [tempvars]![statdate1] And [tempvars]![statdate2]
Access сообщает мне, что "Выражение неверно введено и является слишком сложным для расчета..."
Как заставить выполняться этот запрос, используя заранее введенные переменные?
мне посоветовали использовать вместо переменных функции. которые возвращают те же значения, что и у переменных. Я попробовал написать(опыт плохой в прогании) и столкнулся с этим:
В общем ситуация следующая:
поразмыслив теми малыми знаниями в области программирования, что у меня есть, я пришел к выводу, что функции, возвращающие нужные мне переменные должны выглядеть как-то так:
Public Function statdate1() As String
statdate1 = [TempVars]![statdate1]
End Function
Public Function statdate2() As String
statdate2 = [TempVars]![statdate2]
End Function
В конструкторе запросов в условии отбора поля Дата пишу:
Between statdate1() And statdate2()
В результате Аксес мне пишет о несоответствии типов.
Перед присвоением в теле функции переменная [TempVars]![statdate1] имела значение #05/22/2009#
После присвоения
statdate1 = [TempVars]![statdate1] - вот здесь
Функция вернула мне 22.05.2009
Отсюда и несоответствие типов. Что-то я совсем завис... Возможно я делаю что-то фатально не правильно? Где тут подвох?
P.S. если я только что написал полную ересь - сильно не бейте