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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.5 MB
Время: 0.003 c
15-1290540718
Денис2
2010-11-23 22:31
2011.03.06
Кто ставил GLibWMIall1.6b


2-1292409400
RUu
2010-12-15 13:36
2011.03.06
несоответствие типов


15-1290379995
Германн
2010-11-22 01:53
2011.03.06
Высота строки в TListView. D2007


11-1231630051
zangk2k
2009-01-11 02:27
2011.03.06
how do i install the KOL in Delphi 2009?


15-1290612541
alexdn_
2010-11-24 18:29
2011.03.06
Почта





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский