|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
DBGrid фильтр/поиск
В DBgrid есть столбцы "Пол сотрудника" и "Вид работы", в строках можно выбирать из выпадающего списка "жен." или "муж." и аналогично "основная" или "по совместительству", всего около 150 человек в базе. Подскажите как можно узнать сколько например женщин работают по совместительству, или мужчин на основной работе...Поиск работает только по 1 столбцу то есть могу узнать сколько всего мужчин или всего людей на основной работе, а сделать фильтр по 2 столбцам если есть совпадение не получается.
Вот мой код по поиску "Виду работы" Код:
procedure TForm3.Edit3Change(Sender: TObject); begin if (edit3.text<>'') then begin BD2.Filter:='([Вид работы] LIKE '''+edit3.Text+'%'')'; BD2.Filtered:=true; end else BD2.Filtered:=false; end; |
#2
|
||||
|
||||
А так?
Код:
BD2.Filter:=Format('([Пол сотрудника]=''%s'' and [Вид работы] LIKE %s%'')',[Edit2.Text, Edit3.Text]); BD2.Filtered:=true; Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#3
|
|||
|
|||
не работает
|
#4
|
||||
|
||||
Цитата:
Google в помощь |
#5
|
|||
|
|||
|
#6
|
||||
|
||||
Код:
BD2.Filter:='([Пол сотрудника]='+QuotedStr(Edit2.Text)+' and [Вид работы] LIKE '+QuotedStr(Edit3.Text+'%')+')'; BD2.Filtered:=true; Google в помощь |
#7
|
||||
|
||||
Ага, понятно. Там для функции Format просто надо дважды %% делать если мы хотим его вывести как % иначе он его считает как ошибочный параметр
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |