Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.009 c
7-27240
kmc
2002-06-26 14:47
2002.09.09
Пробелмы с печатью на лезерных принтерах


1-26990
EternalWonderer
2002-08-27 09:27
2002.09.09
Распознавание голосовых команд.


8-27115
Bober
2002-04-30 23:55
2002.09.09
Текстурирование


1-27020
maxim2
2002-08-30 06:41
2002.09.09
Подскажите коды клавиш PageUp PageDown стрелка вверх и вниз


1-27000
xyz
2002-08-22 22:07
2002.09.09
User.dat system.dat... как самому такую штуку сделать?




   Наверх