Das kann ich auch (if....then....)
Soll ich dir den Code dafür zeigen?
Delphi-Quellcode:
if cgfilter.ItemChecked [0] = true then
begin
qTelefonliste.SQL.Strings [2] := 'BEZUGSPERSON = ' + '''' + dDatabase.iqLogin.fieldbyname('MitarbeiterID').AsString + '''' + ' and';
end
else
if cgfilter.ItemChecked [1] = true then
begin
// qMitarbeiter.SQL.Strings [3] := '''' + dDatabase.iqLogin.fieldbyname('MitarbeiterID').AsString + '''';
qMitarbeiter.Active := True;
codesite.SendMsg('Abteilung= ' + qMitarbeiter.fieldbyname('ABTEILUNG').asString + ' ' + 'TAETIGKEITSBEREICH= ' + qMitarbeiter.FieldByName('TAETIGKEITSBEREICH').AsString);
// ShowMessage ('MitarbeiterID= ' + qMitarbeiter.fieldbyname('ID').AsString);
// ShowMessage ('Abteilung= ' + qMitarbeiter.fieldbyname('ABTEILUNG').asString + ' ' + 'TAETIGKEITSBEREICH= ' + qMitarbeiter.FieldByName('TAETIGKEITSBEREICH').AsString);
if (qMitarbeiter.fieldbyname('ABTEILUNG').AsString = '') and (qMitarbeiter.FieldByName('TAETIGKEITSBEREICH').AsString = '') then
MessageDlg('Der Filter: "Mein Bereich",'+#13+#10+'kann nicht verwendet werden!'+#13+#10+'Bitte prüfen Sie ob die Felder ABTEILUNG '+#13+#10+'und TÄTIGKEITSBEREICH in den Mitarbeiterdaten gefüllt '+#13+#10+'wurden!'+#13+#10+'Wenden Sie sich ggf. an den Administrator!', mtError, [mbOK], 0)
else
qTelefonliste.SQL.Strings [3] := 'BEREICH = ' + '''' + qMitarbeiter.fieldbyname('ABTEILUNG').AsString + '''' + ' or BEREICH =' + '''' + qMitarbeiter.fieldbyname('TAETIGKEITSBEREICH').AsString + '''' + ' and ';
end
else
if cgfilter.ItemChecked [2] = true then
qtelefonliste.SQL.Strings [4] := 'Datum = ' + '''' + (DateToStr(Date)) + '''' + ' and'
else
if cgfilter.ItemChecked [3] = true then
qtelefonliste.SQL.Strings [5] := 'Prioritat = "1" and'
else
if cgfilter.ItemChecked [4] = true then
qtelefonliste.SQL.Strings [6] := 'Prioritat = "2" and'
else
if cgfilter.ItemChecked [5] = true then
qtelefonliste.SQL.Strings [7] := 'Prioritat = "3" and'
else
if cgfilter.ItemChecked [6] = true then
qtelefonliste.SQL.Strings [8] := 'Datum > ' + '''' + (DateToStr(IncDay(Date,-sptage.value))) + '''' + ' and'
else
if cgfilter.ItemChecked [7] = true then
qtelefonliste.SQL.Strings [9] := 'Erledigt = T and'
else
if cgfilter.ItemChecked [8] = true then
qtelefonliste.SQL.Strings [10] := 'Erledigt = F and';
Ich glaube so progt nur MICROSOFT ...
Unübersichtlich, langsam, kompliziert, nicht nachvollziebar...