Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 11.05.2014
Сообщений: 28
MS Access

ComboBox и фильтрация записей

16.11.2014, 12:04. Показов 1961. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, покажите пожалуйста, как сделать фильтрацию в зависимости от комбобокса. Т.е. например по фамилии, имени, отчеству

Это прописано в edit'e на гл. форме
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
procedure TfName.Edit1Change(Sender: TObject);
begin
//fDM.MyLocate(Edit1.Text);
//если в поле Edit1 есть хоть одна буква,
if Edit1.Text <>'' then begin
fDM.TLichData.Filtered := False; //отключаем фильтр
fDM.ed := Edit1.Text; //передаем в fDM новый текст
fDM.TLichData.Filtered := True; //включаем фильтр
end
//если букв нет, фильтрацию отключаем:
else fDM.TLichData.Filtered := False;
 
 
end;
Это прописано в DM
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
procedure TfDM.TLichDataFilterRecord(DataSet: TDataSet;
  var Accept: Boolean);
var
s : String; //для значения поля
 
begin
//получаем столько начальных букв из поля Фамилия,
//сколько букв имеется в переменной ed:
s := Copy(DataSet['Фамилия'], 1, Length(ed));
//делаем проверку на совпадение значений:
Accept := s = ed;
end;
Конечно можно сделать в разных edit'ах, но хотелось бы так...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.11.2014, 12:04
Ответы с готовыми решениями:

Фильтрация в Combobox-е
Доброго времени суток. Подскажите пожалуйста есть ли возможность реализовать такую вещь? Есть combobox, например с фамилиями, можно ли...

Фильтрация с combobox
Всем приветик! Возникла проблемка..надеюсь что поможете решить Есть dGrid и combobox, который осуществляет фильтрацию по...

Фильтрация БД с combobox
Делаю фильтрацию по этому видео уроку https://www.youtube.com/watchv=FeNlT4gtCg0&amp;index=7&amp;list=PLzTKGcAZiYWI6v7mYiFR-rOtKJ_Bq5LuA ...

1
Эксперт Pascal/Delphi
 Аватар для xxbesoxx
1135 / 616 / 129
Регистрация: 13.02.2009
Сообщений: 3,600
16.11.2014, 13:42
Цитата Сообщение от Denis_Seven Посмотреть сообщение
Здравствуйте, покажите пожалуйста, как сделать фильтрацию в зависимости от комбобокса. Т.е. например по фамилии, имени, отчеству
Смотрите
1)
Delphi
1
2
  private
    procedure VoborPoisk;
2)
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
procedure TForm1.VoborPoisk;
begin
 if cbbVibor.Text = '' then
 begin
   lbl2.Visible := False;
   edtSearch.Visible:= False;
 end
 else
 begin
   lbl2.Visible := true;
   edtSearch.Visible := true;
   edtSearch.SetFocus;
 end;
end;
3)
Delphi
1
2
3
4
procedure TForm1.FormShow(Sender: TObject);
begin
  VoborPoisk;
end;
4)
Delphi
1
2
3
4
procedure TForm1.cbbViborChange(Sender: TObject);
begin
  VoborPoisk;
end;
5)
Delphi
1
2
  private
    procedure SearchEdit;
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
procedure TForm1.SearchEdit;
begin
 if cbbVibor.Text ='Фамилия' then
  begin
   if edtSearch.Text <>'' then
     begin
       qrySpravochnik.Filter := '(Фамилия LIKE ''' + Trim(edtSearch.Text) + '%'')';
       qrySpravochnik.Filtered := True;
     end
     else
     qrySpravochnik.Filtered := False;
  end
  else
  if cbbVibor.Text ='Имя' then
  begin
   if edtSearch.Text <>'' then
     begin
       qrySpravochnik.Filter := '(Имя LIKE ''' + Trim(edtSearch.Text) + '%'')';
       qrySpravochnik.Filtered := True;
     end
     else
     qrySpravochnik.Filtered := False;
  end
  else
  if cbbVibor.Text ='Отчеств' then
  begin
   if edtSearch.Text <>'' then
     begin
       qrySpravochnik.Filter := '(Отчеств LIKE ''' + Trim(edtSearch.Text) + '%'')';
       qrySpravochnik.Filtered := True;
     end
     else
     qrySpravochnik.Filtered := False;
  end;
 
 
end;
6)
Delphi
1
2
3
4
procedure TForm1.edtSearchChange(Sender: TObject);
begin
  SearchEdit;
end;
И все . Уловили ?
Миниатюры
ComboBox и фильтрация записей   ComboBox и фильтрация записей  
Вложения
Тип файла: rar Test_Filter.rar (2.86 Мб, 22 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.11.2014, 13:42
Помогаю со студенческими работами здесь

Фильтрация записей
Подскажи пожалуйста как сделать фильтрацию, что бы при активации CheckBox в DbGrid выводились только те значения которые находятся в...

Фильтрация записей из БД
Привет, друзья!!! вопрос такой, знаю как организовать фильтрацию записей по одному полю, а можно ли организовать такую же фильтрацию, но по...

Фильтрация через Combobox
Здраствуйте, помогите пожалуйста решить следующую задачу. Есть поле со списком должностей например: менеджер, бухгалтер, финансист. Нужно...

Фильтрация ComboBox + RadioButton
У меня есть 7 RadioButton для выбора дня недели, по выбору фильтруются таблица procedure TForm1.RadioButton1Click(Sender: TObject); ...

Фильтрация через ComboBox
Подскажите пожалуйста. Проблема в том, что когда открываешь программу и делаешь фильтрацию, то все получается. Но когда делаешь это...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru