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

Вниз

несоответствие типов   Найти похожие ветки 

 
RUu   (2010-12-15 13:36) [0]

Получаю несоответствие типов данных выражению условия отбора.
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 формат этого поля Дата/время, полный.
В чем может быть дело?


 
Ega23 ©   (2010-12-15 13:39) [1]


> В чем может быть дело?


В том, что формат  dd.mm.yyyy hh:mm.ss - это строка. А поле - ftDateTime.


 
Anatoly Podgoretsky ©   (2010-12-15 13:46) [2]

> RUu  (15.12.2010 13:36:00)  [0]

А зачем ты туда загоняешь текст, вот и ругается, ты туда загоняй дату,
конечно если поле ps2.Дата это дата.


 
stas ©   (2010-12-15 15:36) [3]

RUu   (15.12.10 13:36)
Посмотри как access делает, он дату в ## берет. А чем параметры не устраивают?


 
Ega23 ©   (2010-12-15 15:39) [4]


>  А чем параметры не устраивают?


Так он использует параметры. Просто скармливает ему не то, что требуется.
Либо поставить ParamCheck := False, добавить параметры ручками и для param1 прописать DataType := ftString
Либо этого не делать, но тогда в ParamByName("param1").Value пихать именно TDateTime, а не строку в Access-формате даты.


 
stas ©   (2010-12-15 15:43) [5]

Ega23 ©   (15.12.10 15:39) [4]
А! я не так понял. )


 
Anatoly Podgoretsky ©   (2010-12-15 16:02) [6]


> а не строку в Access-формате даты.

Так он даже сует не в этом формате, а в другом.


 
Ega23 ©   (2010-12-15 16:09) [7]


> Так он даже сует не в этом формате, а в другом.


Я в Access не бум-бум, но вот товарищ пишет:

>  я туда загоняю дату формата dd.mm.yyyy hh:mm.ss, а Access
> формат этого поля Дата/время, полный.


 
Anatoly Podgoretsky ©   (2010-12-15 16:17) [8]

> Ega23  (15.12.2010 16:09:07)  [7]

А формат #MM/DD/YYYY hh:mm:ss#
У фокспро например совсем другой формат
и так далее.

Конечно VCL немного стирает грани.


 
Ega23 ©   (2010-12-15 16:31) [9]


> А формат #MM/DD/YYYY hh:mm:ss#


А, ну тогда другое дело.
Хотя всё равно это не отменяет несоответствия типов параметров. :)


 
Anatoly Podgoretsky ©   (2010-12-15 16:34) [10]

> Ega23  (15.12.2010 16:31:09)  [9]

Ни в коей мере.


 
RUu   (2010-12-16 03:48) [11]


> Так он использует параметры. Просто скармливает ему не то,
>  что требуется.
> Либо поставить ParamCheck := False, добавить параметры ручками
> и для param1 прописать DataType := ftString
> Либо этого не делать, но тогда в ParamByName("param1").Value
> пихать именно TDateTime, а не строку в Access-формате даты.
>

Так я туда дату загоняю именно как р-т ф-и strtodatetime, а не строкой.


 
RUu   (2010-12-17 10:36) [12]

Поставил такое условие в выражении:
and (m2.Дата <= #12.12.2010# )
Получаю ошибку "Дата содержит синтаксическую ошибку в выражении запроса
"(ps1.[Код товара]=ps2.[Код товара])and(ps1.[Код склада]=ps2.[Код склада])and(ps1.Дата=ps2.Дата))
and(ps2.Дата<= #12.12.2010# "

" и далее все условия запроса. А как только условие
and (m2.Дата < #12.12.2010# )
удаляешь так все работает. Так какая ошибка-то? Все и так уже по справке.
Дата в таблице типа "Дата/время", форматы разные пробовал - и полный и краткий. Приведу еще раз запрос:
SELECT Цена, [Код товара], Дата, [Код склада]
FROM Цены ps1
WHERE ([Код товара]=2) and ([Код пункта]=8)
and (Дата=(select max(Дата) from Цены ps2 where (ps1.[Код товара]=ps2.[Код товара])and(ps1.[Код склада]=ps2.[Код склада])and(ps1.Дата=ps2.Дата))
and(ps2.Дата<= #12.12.2010# ))

Вы видите здесь ошибку?


 
Ega23 ©   (2010-12-17 10:47) [13]


> Вы видите здесь ошибку?


Да. Тебе её уже указали.


 
RUu   (2010-12-17 10:49) [14]

Повторите еще раз, пожалуйста, если не затруднит! Вот что конкретно в тексте запроса нужно поправить?


 
Ega23 ©   (2010-12-17 10:52) [15]

Ты вообще как, ответы читаешь, не?


 
RUu   (2010-12-17 10:54) [16]

Да я это в самом акцессе запускаю уже не из Delphi.


 
sniknik ©   (2010-12-17 10:55) [17]

> Поставил такое условие в выражении:
> and (m2.Дата <= #12.12.2010# )
> Получаю ошибку "Дата содержит синтаксическую ошибку в выражении запроса

> Anatoly Podgoretsky ©   (15.12.10 16:17) [8]
>> Ega23  (15.12.2010 16:09:07)  [7]
> А формат #MM/DD/YYYY hh:mm:ss#
> У фокспро например совсем другой формат
> и так далее.

найди 10 отличий... ну и дальше не менее важно, обратить внимание на "совсем другой формат"


 
sniknik ©   (2010-12-17 10:57) [18]

> Вот что конкретно в тексте запроса нужно поправить?
это здесь так не работает. за тебя писать никто не будет, особенно после явно указанного глюка.

> Да я это в самом акцессе запускаю уже не из Delphi.
и что? должна быть разница? обьект тот же.


 
RUu   (2010-12-17 10:57) [19]

Ну сделал так:
and (m2.Дата < #12/12/2010 12:00:00# )
Не катит


 
sniknik ©   (2010-12-17 10:58) [20]

> Не катит
кантуй


 
Ega23 ©   (2010-12-17 10:59) [21]


> Ну сделал так:

Может всё-таки "ну хелп почитаешь"? К Access?
А то гадать до следующего года будешь. А там 3 пропущенных экзамена, потом военком, сапоги....


 
RUu   (2010-12-17 11:04) [22]

Ну все всем огромное спасибо, разобрался!!


 
Anatoly Podgoretsky ©   (2010-12-17 11:25) [23]


> Вы видите здесь ошибку?

Да конечно, это и не число и не строка.


 
Anatoly Podgoretsky ©   (2010-12-17 11:26) [24]

> RUu  (17.12.2010 10:54:16)  [16]

А зачем тогда обсужждаешь в форуме Дельфи, а не в Акцесс?
Не боишься, что тему закроют по этому признаку?


 
Anatoly Podgoretsky ©   (2010-12-17 11:27) [25]

> sniknik  (17.12.2010 10:55:17)  [17]

И это должно быть строкой!


 
Anatoly Podgoretsky ©   (2010-12-17 11:27) [26]

> RUu  (17.12.2010 10:57:19)  [19]

Чукча не читатель.



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

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

Наверх




Память: 0.53 MB
Время: 0.01 c
2-1292062969
rish
2010-12-11 13:22
2011.03.06
Integrated debugging


4-1245953070
Nikfel
2009-06-25 22:04
2011.03.06
Как получить handle главного окна


2-1292145931
rish
2010-12-12 12:25
2011.03.06
Снова о Debuggere


8-1205319739
PMak
2008-03-12 14:02
2011.03.06
Вывод текста на изображение игры


15-1290634183
Юрий
2010-11-25 00:29
2011.03.06
С днем рождения ! 25 ноября 2010 четверг