Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.09.09;
Скачать: [xml.tar.bz2];

Вниз

Выбор с помощью 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.006 c
1-26935
Raiv
2002-08-26 18:07
2002.09.09
ProgressBar


1-27110
Юрий Зотов
2002-08-28 16:38
2002.09.09
Не работают точки останова в DLL


14-27181
Карлсон
2002-08-11 19:25
2002.09.09
На чем пишутся ОС?


6-27149
Dennis S
2002-06-28 12:37
2002.09.09
LAN - есть идеи?


1-26984
Фагот
2002-08-29 12:17
2002.09.09
QuickReport





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский