Du hättest
Sql's die ungefähr so aussehen würden
Code:
Select * from A
where
(
Beruf in (1,5,6,7,8)
)
AND -- oder OR je nachdem was Du brauchst
(
Qualifiketion in (3,6,8,9)
)
AND
(
ORT in ('Augsburg')
)
Der Zusammenbau könnte so aussehen:
PSEUEDOCODE
Delphi-Quellcode:
Prozedure GetIntegerListe(lb:TChecklistBox;Feld:
String):
String;
var
i:Integer;
begin
Result :='
';
If lb.CheckedCount > 0
then//gibst so nicht
begin
For i := 0
to lb.Count - 1
do
begin
if lb.Checked
then Result := Result +IntToStr(Integer(lb.Items.Objects[i])) +'
,';
end;
Result := #13#10'
and ' + FELD + '
in (' + Copy(Result,1,length(Result) - 1) +'
)'
end;
end;
SQL :=
SQL + GetIntegerListe(BerufeCheckListBox,'
Beruf');
SQL :=
SQL + GetQuali(QualiCheckListBox,'
Qualifikation');
Ich wette dass das Zeitverhalten, unabhängig von der Aufwandsminimierung bei geschätztenen 1:100 für den
SQL spricht.