Hallo,
ich habe da mal ein "kleines" Problem:
Hier kommt erst einmal der betreffende Quelltext:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28:
| { *********** Suche nach SCHÜLERNUMMER ****************************************} procedure Tform_admin.Button2Click(Sender: TObject); begin schnr_suche := copy(schnr_suche,1,length(schnr_suche)-5); //FEHLER!!!
Query2.Close; Query2.SQL.Clear; Query2.SQL.Text := 'SELECT SchuelerNr, Nachname, Vorname FROM schueler WHERE '+schnr_suche+''; Query2.Open; end;
procedure Tform_admin.e_nachnameChange(Sender: TObject); begin schnr_suche := schnr_suche+'(schueler.Nachname LIKE "%'+e_nachname.Text+'%") AND '; end;
procedure Tform_admin.ausleihpanelClick(Sender: TObject); begin schnr_suche := ''; end;
procedure Tform_admin.e_vornameChange(Sender: TObject); begin schnr_suche := schnr_suche+'(schueler.Vorname LIKE "%'+e_vorname.Text+'%") AND '; end; // SchülerNr. Suche Ende |
So, wie man sehen kann, will ich anhand von zwei Eingabemöglichkeiten eine Schüler-Nr. finden. Ich könnte die Abfrage natürlich auch umgestalten, indem ich ein 'OR' benutze, aber dann wird immer nur nach Vor- oder Nachname gesucht. Und das ist ja nicht der Sinn der Sache!
Mein Problem ist jeweils diese Zeile:
Quelltext
1:
| schnr_suche := schnr_suche+'(schueler.Vorname LIKE "%'+e_vorname.Text+'%") AND '; |
Egal, ob nur nach dem Vor- oder dem Nachnamen gesucht wird, steht das AND am Zeilenende und verursacht einen Fehler. Ich hab mir gedacht, dass ich dieses Ende dann einfach abschneide:
Quelltext
1:
| schnr_suche := copy(schnr_suche,1,length(schnr_suche)-5); |
Naja, Resultat ist auch ein Fehler...
Was mache ich nur falsch???