![]() |
Re: Check-Group und case of...
Indem du die ganzen Else weglässt und einfach die Ifs hintereinander machst.
Delphi-Quellcode:
Da du für jeden Filter einen anderen Text hinzufügst, musst du zwangsläufig jedes einzeln abfragen.
if cgfilter.ItemChecked [2] = true then
qtelefonliste.SQL.Strings [4] := 'Datum = ' + '''' + (DateToStr(Date)) + '''' + ' and' ; if cgfilter.ItemChecked [3] = true then qtelefonliste.SQL.Strings [5] := 'Prioritat = "1" and' ; if cgfilter.ItemChecked [4] = true then qtelefonliste.SQL.Strings [6] := 'Prioritat = "2" and' ; usw. |
Re: Check-Group und case of...
Zitat:
Zitat:
Hast du denn die Moeglichkeit mit der Schleife probiert, oder ueberhaupt angesehn? Greetz alcaeus |
Re: Check-Group und case of...
Zitat:
[Fehler] fTelefonliste.pas(162): Ordinaltyp erforderlich :!: :!: :!: :!: |
Re: Check-Group und case of...
Meinen Beitrag beachtet wieder niemand beachtet :cry:
Über ein Schleife wirst du es nicht vernüftig lösen können solange die Filter für die einzelnen Checkboxen einen unterschiedlichen Aufbau haben. |
Re: Check-Group und case of...
Danke! Aber es ist immer noch zuviel aufwand ... :cry:
|
Re: Check-Group und case of...
Wie wär's denn mit
Delphi-Quellcode:
for i := 0 to Pred(cgfilter.Count) do
if cgfilter.Checked[i] then case i of 0: qTelefonliste.SQL.Strings [2] := 'BEZUGSPERSON ='; {...} end; |
Re: Check-Group und case of...
Delphi-Quellcode:
Klappt...
procedure TfmTelefonliste.pbOKClick(Sender: TObject);
var i: Integer; begin for i := 0 to Pred(cgfilter.Items.Count) do if cgfilter.ItemChecked[i] then case i of 0: qTelefonliste.SQL.Strings [2] := 'BEZUGSPERSON ='; 1: 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; end; end; Danke!! :cheers: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:44 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 by Thomas Breitkreuz