Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

несоответствие типов [D7]


Страницы:   1 2

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
> формат этого поля Дата/время, полный.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо