![]() |
Datenbank: MySQL • Zugriff über: MySQL Access
Wie nutze ich CheckBox in SQL-Abfrage?
Hallo, :???:
ich habe folgendes Problem: möchte nach mehreren Kriterien in meiner DB suchen. Dazu habe ich eine Eingabemaske mit einem EditFeld (Hier kann der gesuchte Produktname eingegeben werden), einer ComboBox (hier stehen mehrere Herstellernamen zur Auswahl), eine Checkbox1 als Produktart A / Checkbox2 als Produktart B und CheckBox3 als Produkt-Active. Wir nehmen an, dass ich nach 5 Kriterien suche: Produktname (varchar) Produkthersteller (varchar) Produkttyp (boolscher Ausdruck) ProduktAktiv (boolscher Ausdruck) (Alle 5 Daten befinden sich in einer Tabelle und jedes Kriterium ist als eine Spalte in dieser Tabelle gültig). Die Suche nach zwei ersten Kriterien funktioniert aber ich weiss nicht wie ich jetzt noch zu dieser Abfrage diese drei Checkboxen anbinden soll, damit die ganze Suche nach 5 Kriterien funktionieren kann. Um die Suche zu programmieren habe ich folgenden Code geschrieben:
Delphi-Quellcode:
Hat jemand irgendwelche Idee wie man dieses Problem lösen könnte?
procedure TForm7.Button1Click(Sender: TObject);
begin with DataModule4.MyQuery5 do begin DataModule4.MyQuery5.SQL.Clear; DataModule4.MyQuery5.SQL.Add('Select * from product '); DataModule4.MyQuery5.SQL.Add('where p_name like'); DataModule4.MyQuery5.SQL.Add(' ''%' + Edit1.Text + '%'''); DataModule4.MyQuery5.SQL.Add('AND p_producername like ''%' + ComboBox1.Text + '%'''); DataModule4.MyQuery5.Open; Label2.Caption := IntToStr(RecordCount) + ' Stück gefunden!' |
Re: Wie nutze ich CheckBox in SQL-Abfrage?
Hi zenobi,
wie wärs mit
Delphi-Quellcode:
Uwe
if CheckBox.Checked then DataModule4.MyQuery5.SQL.Add('Dein Kriterium')
|
Re: Wie nutze ich CheckBox in SQL-Abfrage?
Herzlich willkommen in der Delphi-PRAXiS, zenobi.
Eine Spalte vom Typ BOOL kannst du gegen 0 oder 1 prüfen. Freundliche Grüße vom marabu |
Re: Wie nutze ich CheckBox in SQL-Abfrage?
Hallo Uwe,
danke für den Tip, es funktioniert jetzt :dancer2: Falls jemand gleiches Problem hat, gebe ich noch mal die ganze Lösung an:
Delphi-Quellcode:
ps. Genauso funktioniert es mit RadioButton.with DataModule4.MyQuery5 do begin DataModule4.MyQuery5.SQL.Clear; DataModule4.MyQuery5.SQL.Add('Select * from product '); DataModule4.MyQuery5.SQL.Add('where name like'); DataModule4.MyQuery5.SQL.Add(' ''%' + Edit1.Text + '%'''); DataModule4.MyQuery5.SQL.Add('AND herstellername like ''%' + ComboBox1.Text + '%'''); if CheckBox1.Checked then DataModule4.MyQuery5.SQL.Add('AND type_A = 1 '); if CheckBox2.Checked then DataModule4.MyQuery5.SQL.Add('AND type_B = 0 '); DataModule4.MyQuery5.Open; end; end; Grüße, zenobi |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:16 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz