Вопрос № 91725: Здравствуйте.
Подскажите как правильно написать запрос к БД Аксцесс на выбор за определенный период. В приведённом коде Д7 ругается,что min не имеет значения по умолчанию.
Заранее спасибо....
Вопрос № 91.725
Здравствуйте.
Подскажите как правильно написать запрос к БД Аксцесс на выбор за определенный период. В приведённом коде Д7 ругается,что min не имеет значения по умолчанию.
Заранее спасибо.
Сделайте так:
AbonentModule.DeaktivQuery.SQL.Add('WHERE DateDeactiv BETWEEN #'+datetostr(min)+ '# AND #'+datetostr(max)+'#');
На своем компьютере найдите файл JETSQL40.CHM. (у меня лежит в "C:Program FilesCommon FilesMicrosoft SharedOFFICE111049")
В "Указателе" выберите "WHERE - предложение".
По поводу даты там написано:
При указании аргумента условиеОтбора литералы даты (символы дат) должны вводиться в американском формате, даже если используется неамериканская версия ядра базы данных Jet. Например, дата 10 мая 1996 года записывается в России как 10.05.96, а в США как 5/10/96. Обязательно заключите даты в символы «решетки» (#), как показано в следующих примерах.
Для отбора записей с этой датой в российской базе данных необходимо использовать следующую инструкцию SQL:
SELECT * FROM Заказы WHERE ДатаИсполнения = #5/10/96#;
Кроме того, можно применять функцию DateValue, которая поддерживает международные стандарты, заданные в Microsoft Windows®. Например, для отбора записей в американской базе данных создайте текст программы:
SELECT * FROM Заказы WHERE ДатаИсполнения = DateValue('5/10/96');
Для российской базы данных текст программы будет выглядеть так:
SELECT * FROM Заказы WHERE ДатаИсполнения = DateValue('10.5.96');
А насчет сортировки по полю дат добавьте в конец запроса ORDER BY поле_даты ASC.
Также можно глянуть здесь (правда на английском языке :) )
Ответ отправил: Устинов С.Е. (статус: Специалист)
Ответ отправлен: 17.06.2007, 11:22
Отвечает: Кайгородов Сергей Александрович
Здравствуйте, Шмаров Сергей!
Запрос в виде ADOQuery
select Telefon, Famili, Name1, Name2, Sity, Street, Dom, Kvart, DateDeactiv, DaektivParam
Where DateDeactiv >= :min and DateDeactiv <= :max
Затем параметры, которые передаются в ADOQuery
ADOQuery.Close;
ADOQuery1.Parameters.ParamValues['min'] := '10.06.2007;
ADOQuery1.Parameters.ParamValues['max] := '18.06.2007;
AdoQuery1.Open;