|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
TTabel поиск по столбцу с датой и временем
Здравствуйте. Я новичок в этом нелёгком деле, по этому особо не ругайте.
Есть таблица, в ней есть столбец формата "число.месяц.год часы:минуты:секунды" т.е "чч.мм.гггг чч:мм:сс", собственно как организовать поиск или фильтр только по чч.мм.гггг. Как бы я не старался ищет только по полной строке. Код:
dbgrd1.DataSource.DataSet.Locate('EVENT_TIME', edt2.Text, [loCaseInsensitive, loPartialKey]); Перед тем как сюда написать пол дня мучил Гугл, безрезультатно. |
#2
|
||||
|
||||
Цитата:
Запрос, которым данные вытягиваешь, покажи. И вообще, какой-то черезжопный вариант фокусировки. Как вариант - бегать по нужному полю датасета и сверять. — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#3
|
||||
|
||||
Не знаю, может есть варианты и поэлегантнее, но я бы так организовал частичный поиск в записях, прямым перебором:
Код:
var i: integer; begin DataSet.First; for i:= 0 to DataSet.RecordCount do begin if Copy(DataSet.FieldValues['EVENT_TIME'], 1, Pos(' ', DataSet.FieldValues['EVENT_TIME']) - 1) = edt2.Text then begin Label1.Caption:= DataSet.FieldValues['EVENT_TIME'];// для примера Exit; end else DataSet.Next; end; end; Добавлено позже а ещё лучше вместо строки цикла подставить вот это Код:
... while not DataSet.Eof do ... Я не понял Вашего вопроса, но всё же Вам на него отвечу! Последний раз редактировалось Alegun, 13.10.2013 в 00:55. |
#4
|
||||
|
||||
Всё очень просто:
Допустим у вас есть TDateTimePicker (тот же Edit Только по клику вываливается календарь ) 1) выбираем дату 2) Код:
Table1.Locate('%' + DateToStr(DateTimePicker.Date) + ('%'), []); 4) Profit p.s. проверил в XE3. В таблице из ~6000 записей находит за 1.493 секунды. Единственное, с чем можно будет пошаманить, так это с SQL командой Date_Format |