![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
![]() Необходимо реализовать поиск в интервале дат.
Есть 2 компонента DateTimePicker1 и DateTimePicker2, так же есть DBGrid. Нужно чтобы всё это запускалось через обычную кнопку, и желательно что бы это было сделано на filtered ![]() Заранее спасибо. PS: бд ACCESS |
#2
|
|||
|
|||
![]() Ну так и делай. Только там не на DBGrid, а на самом источнике данных делается.
Код:
procedure TForm1.ADOQuery1FilterRecord(DataSet: TDataSet; var Accept: Boolean); begin If FMyFiltered Then Accept := (DataSet.FieldByName('Date1').AsDateTime > DateTimePicker1.Date) And (DataSet.FieldByName('Date1').AsDateTime < DateTimePicker2.Date) Else Accept := True; end; procedure TForm1.Button1Click(Sender: TObject); begin FMyFiltered := True; end; ЗЫ. Предпочитаю пользоваться этим событием - больше возможностей. |
#3
|
|||
|
|||
![]() Кхм...прошу прощения, но я нуб полный =\ выпускной курс, но увы, в колледже ничему не учили.
Цитата:
|
#4
|
||||
|
||||
![]() Grid - это только средство отображения данных, потому запросы/фильтры надо использовать на источнике данных для отображения.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#5
|
|||
|
|||
![]() Если чесно всё равно не понимаю как ЭТО работает
![]() Код:
procedure TFindeUnit.btn1Click(Sender: TObject); begin DataModule1.ADOTable1.Filtered:=false; if Edit1.Text='' then exit; DataModule1.ADOTable1.Filter:=Combobox1.Text + ' LIKE ' + #39 + Edit1.Text + '%' + #39; DataModule1.ADOTable1.Filtered:=true; end; ....Приношу извинения за нубство, но на самом деле вот только сейчас всё это осваиваю. |
#6
|
||||
|
||||
![]() Вот так для даты можно попробовать:
Код:
procedure TFindeUnit.btn1Click(Sender: TObject); begin DataModule1.ADOTable1.Filtered:=false; if Edit1.Text='' then exit; DataModule1.ADOTable1.Filter:=Format('Date1 between DateValue(%s) and DateValue(%s)',[DateToStr(DateTimePicker1.Date),DateToStr(DateTimePicker2.Date)]); DataModule1.ADOTable1.Filtered:=true; end; Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |