![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
несоответствие типов [D7]
RUu © (2010-12-15 13:36:00)Получаю несоответствие типов данных выражению условия отбора.
SELECT Цена, [Код товара], Дата, [Код склада]
FROM Цены ps1
WHERE ([Код товара]=:param2) and ([Код пункта]=:param3)
and (Дата=(select max(Дата) from Цены ps2 where (ps1.[Код товара]=ps2.[Код товара])and(ps1.[Код склада]=ps2.[Код склада])and(ps1.Дата=ps2.Дата))
and(ps2.Дата<=:param1))
Если убрать строку
and(ps2.Дата<=:param1)то все работает.
:param1 типа ftDateTime, я туда загоняю дату формата dd.mm.yyyy hh:mm.ss, а Access формат этого поля Дата/время, полный.
В чем может быть дело?
Anatoly Podgoretsky (2010-12-15 16:02:00) [21]
> а не строку в Access-формате даты.
Так он даже сует не в этом формате, а в другом.
stas (2010-12-15 15:43:00) [22]Ega23 © (15.12.10 15:39) [4]
А! я не так понял. )
Ega23 (2010-12-15 15:39:00) [23]
> А чем параметры не устраивают?
Так он использует параметры. Просто скармливает ему не то, что требуется.
Либо поставить ParamCheck := False, добавить параметры ручками и для param1 прописать DataType := ftString
Либо этого не делать, но тогда в ParamByName('param1').Value пихать именно TDateTime, а не строку в Access-формате даты.
stas (2010-12-15 15:36:00) [24]RUu (15.12.10 13:36)
Посмотри как access делает, он дату в ## берет. А чем параметры не устраивают?
Anatoly Podgoretsky (2010-12-15 13:46:00) [25]> RUu (15.12.2010 13:36:00) [0]
А зачем ты туда загоняешь текст, вот и ругается, ты туда загоняй дату,
конечно если поле ps2.Дата это дата.
Ega23 (2010-12-15 13:39:00) [26]
> В чем может быть дело?
В том, что формат dd.mm.yyyy hh:mm.ss- это строка. А поле - ftDateTime.