|
#1
|
|||
|
|||
DateTimePicker
Как вызвать DateTimePicker в определенном поле таблицы в динамически созданном DBGrid ?
|
#2
|
|||
|
|||
и подскажите, что не так с запросом?
Код:
ADOQuery1.SQL.Clear; ADOQuery1.SQL.Text:='SELECT * FROM '+PageControl1.ActivePage.Caption+' WHERE Сроки исполнения < '+DateToStr(d1)+''; ADOQuery1.Open; Говорит что пропущен оператор.... |
#3
|
||||
|
||||
Ищущий да обрящет:
http://www.delphisources.ru/forum/sh...ad.php?t=10119 Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#4
|
||||
|
||||
Цитата:
работа с датами требует некоторого навыка. У вас какая БД? Если Акцес, то там немного иначе надо текст запроса с датой оформлять Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. Последний раз редактировалось Страдалецъ, 09.02.2016 в 17:55. |
#5
|
|||
|
|||
Цитата:
|
#6
|
||||
|
||||
Если прямо в тексте то дату надо оформлять так #01.01.2016#
Т.е. ваш запрос по логике должен выглядеть так: Код:
ADOQuery1.SQL.Text:='SELECT * FROM '+PageControl1.ActivePage.Caption+' WHERE [Сроки исполнения] < #'+DateToStr(d1)+'#'; Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. Последний раз редактировалось Страдалецъ, 09.02.2016 в 18:07. |
#7
|
|||
|
|||
Мне надо всего лишь показать записи, дата которых меньше текущей даты (
|
#8
|
||||
|
||||
Пример запроса я чуть выше показал. Попробуйте.
И есть еще один интересный нюанс. Чистой даты как-бы нет. Есть Дата и время. Если вы считаете что задаете дату 01.01.2016 то вы ошибаетесь, на самом деле будет подставлена дата и время 01.01.2016 00:00:01. Из этого вытекает забавный момент. Если вы хотите выбрать данные за сутки, то задав период с 01.01.2016 по 01.01.2016 вы суток не получите. Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#9
|
|||
|
|||
Сейчас говорит
--------------------------- Debugger Exception Notification --------------------------- Project KiP.exe raised exception class EOleException with message 'Дата содержит синтаксическую ошибку в выражении запроса '[Срок исполнения] < #09.02.2016#''. Process stopped. Use Step or Run to continue. --------------------------- OK Help --------------------------- |
#10
|
||||
|
||||
поле [Срок исполнения] в таблице - дата?
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#11
|
||||
|
||||
Сейчас проверю, как Адо к такой дате относится. Есть все-же разница как акцес обрабатывает дату, а как адо ее понимает. Я могу и ошибится.
Ага. Есть отличие. У меня Дату хочет видеть в формате 01/01/2016, но это вроде зависит от региональных настроек на компьютере. Причем дату он воспринимает и с решетками и без, главное косая черта в формате присутствовала. Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. Последний раз редактировалось Страдалецъ, 09.02.2016 в 18:28. |
#12
|
|||
|
|||
Да , поле типа ДАТА/ВРЕМЯ
|
#13
|
|||
|
|||
Project KiP.exe raised exception class EOleException with message 'Параметр [Срок исполнения]не имеет значения по умолчанию'. Process stopped. Use Step or Run to continue.
это если в запросе даты через слэши ставить Но в аксесе даты то остаются через точки... ADOQuery1.SQL.Text:='SELECT * FROM '+PageControl1.ActivePage.Caption+' WHERE Наименование > "1"'; Так все раюботает именно с датами не получается, помогите а Последний раз редактировалось ApxaHGe1, 09.02.2016 в 20:20. |
#14
|
||||
|
||||
Можно скомбинировать формирование запроса. Поскольку имена таблиц нельзя задавать параметром, то часть запроса собираем как текст, а дальше параметром задаем дату:
Код:
ADOQuery1.SQL.Text:='SELECT * FROM '+PageControl1.ActivePage.Caption+' WHERE [Сроки исполнения] < :Date'; ADOQuery1.Parameters.ParamValues['Date'] := d1; ADOQuery1.Open; Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#15
|
|||
|
|||
post deleted
Последний раз редактировалось ApxaHGe1, 10.02.2016 в 00:01. |