Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.09;
Скачать: CL | DM;

Вниз

Выбор с помощью TQuery из базы Access   Найти похожие ветки 

 
Lola ©   (2002-08-19 17:16) [0]

Строку SQL формирую в программе, значения беру из TDateEdit. Результирующая строка имеет вид SELECT ... FROM Reg Reg WHERE DateDoc="18.08.2002". В результате вылетает с ошибкой Data type mismatch in criteria expression. Примечательно то, что на Paradox-е этот код проходит без ошибок. Вопрос: в чем ошибка?


 
Reindeer Moss Eater   (2002-08-19 17:20) [1]

Ошибка в том, что "Data type mismatch in criteria expression"
Используй параметрический запрос


 
Mike Kouzmine   (2002-08-19 17:21) [2]

Возможно надо "#18/08/2002#" или что-то в этом роде.
Но, вообще, если работаю с Эксесом, то все запросы пишу в нем, а использую TADOStroredProc.


 
koks ©   (2002-08-19 17:36) [3]

Да, Access очччень не привиредлив в отношении дат.
В свое время долго бился над этой проблемой...
Вот решение, может не самое красивое, но стопудовое (но только в случае Access (в моем случае это был Access 200) - а и только в случае подключения через ADO)

твоя дата - MyDate: TDateTime

var
MyDate: TDateTime;
AYear, AMonth, ADay: integer;
begin
DecodeDate(MyDate, AYear, AMonth, ADay);
Query.Close;
Query.Params.ParamByName("Year").Value := AYear;
Query.Params.ParamByName("Month").Value := AMonth;
Query.Params.ParamByName("Day").Value := ADat;
Query.Open;
end;

Query.SQL:

SELECT F1, F2, F3
FROM MyTable
WHERE DateField = DateSeria(:Year, :Month, :Day);

DateSerial - это функция VBA Access, которая возвращает корркетную для Access дату по трем числамЖ год, месяц, день...
Если ты подключаешься через ADO, а ан в свою очередь через Jet - то у тебя появляется доступ к этим функциям...








 
Lola ©   (2002-08-19 18:33) [4]


> Mike Kouzmine (19.08.02 17:21)
Такой формат тоже пробовала, ругается на синтаксическую ошибку.
Попробую использовать параметры. Особо спасибо koks © за DateSerial. Я о ней не знала.



Страницы: 1 вся ветка

Текущий архив: 2002.09.09;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
3-26900
demisen
2002-08-20 11:25
2002.09.09
Разделять разряды в QuickReport


14-27197
Malder
2002-08-13 23:44
2002.09.09
Delphi - как оболочка для написаня СУБД


3-26889
Alek_1
2002-08-20 02:45
2002.09.09
EhLib


1-27042
lipskiy
2002-08-27 20:56
2002.09.09
Есть ли ф-я для определения контрола по координатам?


1-27069
Skif
2002-08-28 09:07
2002.09.09
Удаление файлов