Hallo,
und noch ein Problem: (kennt eigentlich jemand ein umfassendes Tutorial zur Datenbankprogrammierung?)
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: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72:
| { ***************** BUCHSUCHE *************************************************}
procedure Tform_admin.suche_submitClick(Sender: TObject); begin q_suche.Close; q_suche.SQL.Clear; q_suche.SQL.Text := 'SELECT Signatur, Titel, Rubrik, Unterrubrik FROM buecher, autoren, autorenschaft WHERE (autorenschaft.Kuerzel = autoren.Kürzel) AND (autorenschaft.BuchNr = buecher.BuchNr) '+buchsuche+''; q_suche.Open; db_suche.Visible := true; end;
procedure Tform_admin.suchepanelClick(Sender: TObject); begin buchsuche := ''; end;
procedure Tform_admin.suche_titelChange(Sender: TObject); begin buchsuche := buchsuche+'AND (buecher.Titel LIKE "%'+suche_titel.Text+'%") '; end;
procedure Tform_admin.suche_verlagChange(Sender: TObject); begin buchsuche := buchsuche+'AND (buecher.Verlag LIKE "%'+suche_verlag.Text+'%") '; end;
procedure Tform_admin.suche_rubrikChange(Sender: TObject); begin buchsuche := buchsuche+'AND (buecher.Rubrik = "'+suche_rubrik.Text+'") '; end;
procedure Tform_admin.suche_buchnrChange(Sender: TObject); begin buchsuche := buchsuche+'AND (buecher.BuchNr = "'+suche_buchnr.Text+'") '; end;
procedure Tform_admin.suche_erscheinungsjahrChange(Sender: TObject); begin buchsuche := buchsuche+'AND (buecher.Erscheinungsjahr = "'+suche_erscheinungsjahr.Text+'") '; end;
procedure Tform_admin.suche_unterrubrikChange(Sender: TObject); begin buchsuche := buchsuche+'AND (buecher.Unterrubrik = "'+suche_unterrubrik.Text+'") '; end;
procedure Tform_admin.suche_inventarnrChange(Sender: TObject); begin buchsuche := buchsuche+'AND (buecher.InventarNr = "'+suche_inventarnr.Text+'") '; end;
procedure Tform_admin.suche_autor1Change(Sender: TObject); begin buchsuche := buchsuche+'AND (autoren.Nachname LIKE "%'+suche_autor1.Text+'%") '; end;
procedure Tform_admin.suche_autor2Change(Sender: TObject); begin buchsuche := buchsuche+'AND (autoren.Vorname LIKE "%'+suche_autor2.Text+'%") '; end;
procedure Tform_admin.suche_newClick(Sender: TObject); begin suche_titel.Clear; suche_verlag.Clear; suche_erscheinungsjahr.Clear; suche_rubrik.Clear; suche_unterrubrik.Clear; suche_buchnr.Clear; suche_inventarnr.Clear; end; //Buchsuche Ende |
So, das ist eine Suche, die an und für sich klappt. Beim ersten Suchdurchgang läuft alles tadellos und fehlerfrei. Wenn ich aber einen anderen Suchbegriff eingebe, bekomme ich nur eine leere Tabellenzeile ausgegeben. Warum geht das nicht?
Ich habe zwar einen Button "Neue Suche" eingebunden (procedure Tform_admin.suche_newClick(Sender: TObject)

, der sorgt aber nur dafür, dass der Inhalt von allen Feldern gelöscht wird. Ich habe auch schon zahlreiche Variantebn dort miteingebunden, wie z.B. buchsuche := '' oder q_suche.Close;
q_suche.SQL.Clear;.
Ich erhalte zwar keine Fehlermeldung, geht aber trotzdem nicht!