На форме имеются элементы Query1, Button1, DBGrid, Table1, Table2, Table3, ComboBox1, ComboBox2 и к ним соотвецтвенно CheckBox1 и CheckBox2. Есть таблицы Vakansii, Doljnost, Obrazovanie. Вывожу поля Doljnost_name и Obrazovanie_name в таблицу Vakansii с помошью Lookup (выпадающие списки в выбором любой должности и образования). Так же делаю ComboBox1, ComboBox2 выпадающими списками с помощью процедуры:
| Код | procedure TForm1.FormActivate(Sender: TObject); begin while not table2.Eof do begin ComboBox1.items.Add(table2.FieldByName('Doljnost_name').Value); table2.Next; end; combobox1.ItemIndex:=0; while not table3.Eof do begin ComboBox2.items.Add(table3.FieldByName('Obrazovanie_name').Value); table3.Next; end; combobox2.ItemIndex:=0; end;
|
Вопрос: как сделать фильтрацию с помощью SQL-запроса, что бы при выборе CheckBox1 и соотвецтвующие ему ComboBox1, или CheckBox2 и соотвецтвующие ему ComboBox2, или их двоих одновременно. Предположительно должно выглядеть так, но что писать я не знаю.
| Код | procedure TForm1.Button1Click(Sender: TObject); begin if button1.Caption='Фильтровать' then button1.Caption:='Отменить фильтр' else begin button1.Caption:='Фильтровать'; dbgrid1.DataSource:=datasource1; exit; end; if ..... if..... query1.SQL.Clear; query1.SQL.Add('SELECT * FROM Vakansii,Doljnost,Obrazovanie where Vakansii.ID_Doljnost=Doljnost.ID_Doljnost and Obrazovanie.ID_Obrazovanie=Vakansii.ID_Obrazovanie '); query1.Open; dbgrid1.DataSource:=datasource2; end;
|
|