![]() |
| ||
|
|
Новости |
Поиск |
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-17 11:27:00) [1]> RUu (17.12.2010 10:57:19) [19]
Чукча не читатель.
Anatoly Podgoretsky (2010-12-17 11:27:00) [2]> sniknik (17.12.2010 10:55:17) [17]
И это должно быть строкой!
Anatoly Podgoretsky (2010-12-17 11:26:00) [3]> RUu (17.12.2010 10:54:16) [16]
А зачем тогда обсужждаешь в форуме Дельфи, а не в Акцесс?
Не боишься, что тему закроют по этому признаку?
Anatoly Podgoretsky (2010-12-17 11:25:00) [4]
> Вы видите здесь ошибку?
Да конечно, это и не число и не строка.
RUu (2010-12-17 11:04:00) [5]Ну все всем огромное спасибо, разобрался!!
Ega23 (2010-12-17 10:59:00) [6]
> Ну сделал так:
Может всё-таки "ну хелп почитаешь"? К Access?
А то гадать до следующего года будешь. А там 3 пропущенных экзамена, потом военком, сапоги....
sniknik (2010-12-17 10:58:00) [7]> Не катит
кантуй
RUu (2010-12-17 10:57:00) [8]Ну сделал так:
and (m2.Дата < #12/12/2010 12:00:00# )
Не катит
sniknik (2010-12-17 10:57:00) [9]> Вот что конкретно в тексте запроса нужно поправить?
это здесь так не работает. за тебя писать никто не будет, особенно после явно указанного глюка.
> Да я это в самом акцессе запускаю уже не из Delphi.
и что? должна быть разница? обьект тот же.
sniknik (2010-12-17 10:55:00) [10]> Поставил такое условие в выражении:
> 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 отличий... ну и дальше не менее важно, обратить внимание на " совсем другой формат"
RUu (2010-12-17 10:54:00) [11]Да я это в самом акцессе запускаю уже не из Delphi.
Ega23 (2010-12-17 10:52:00) [12]Ты вообще как, ответы читаешь, не?
RUu (2010-12-17 10:49:00) [13]Повторите еще раз, пожалуйста, если не затруднит! Вот что конкретно в тексте запроса нужно поправить?
Ega23 (2010-12-17 10:47:00) [14]
> Вы видите здесь ошибку?
Да. Тебе её уже указали.
RUu (2010-12-17 10:36:00) [15]Поставил такое условие в выражении:
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# ))
Вы видите здесь ошибку?
RUu (2010-12-16 03:48:00) [16]
> Так он использует параметры. Просто скармливает ему не то,
> что требуется.
> Либо поставить ParamCheck := False, добавить параметры ручками
> и для param1 прописать DataType := ftString
> Либо этого не делать, но тогда в ParamByName('param1').Value
> пихать именно TDateTime, а не строку в Access-формате даты.
>
Так я туда дату загоняю именно как р-т ф-и strtodatetime, а не строкой.
Anatoly Podgoretsky (2010-12-15 16:34:00) [17]> Ega23 (15.12.2010 16:31:09) [9]
Ни в коей мере.
Ega23 (2010-12-15 16:31:00) [18]
> А формат #MM/DD/YYYY hh:mm:ss#
А, ну тогда другое дело.
Хотя всё равно это не отменяет несоответствия типов параметров. :)
Anatoly Podgoretsky (2010-12-15 16:17:00) [19]> Ega23 (15.12.2010 16:09:07) [7]
А формат #MM/DD/YYYY hh:mm:ss#
У фокспро например совсем другой формат
и так далее.
Конечно VCL немного стирает грани.
Ega23 (2010-12-15 16:09:00) [20]
> Так он даже сует не в этом формате, а в другом.
Я в Access не бум-бум, но вот товарищ пишет:
> я туда загоняю дату формата dd.mm.yyyy hh:mm.ss, а Access
> формат этого поля Дата/время, полный.