Welche Datenbank? Access?
Hab dein Beispiel eben mal kurz mit meiner Städte-Tabelle nachempfunden,
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| procedure TFormMain.Edit1Change(Sender: TObject); begin IF TRIM(Edit1.Text) <> '' THEN BEGIN DatMod.ADODataSet1.Filtered := FALSE; DatMod.ADODataSet1.Filter := 'Ortname Like ' + QuotedStr(Edit1.Text + '%'); DatMod.ADODataSet1.Filtered := TRUE; END ELSE DatMod.ADODataSet1.Filtered := FALSE; end; |
Wenn du das Argument = verwendest, bedeutet das, du suchst einen Eintrag der genau dem Inhalt des Strings Edit1.Text entspricht. Willst du aber nicht, sondern bei Eingabe von A alle Einträge, die mit A anfangen. Dann mußt du Like nehmen.
Wenn du mit Access arbeitest, ist statt dem Asterix * das Prozent-Zeichen anzugeben. Übrigens hab ich mir SQL vor Jahren mit Hilfe von Access selbst beigebracht. Dort kann man nämlich Abfragen generieren und sich dann den SQL-Code anschauen. Hättest du das gemacht, wäre dir sicher sofort aufgefallen, daß dort Like steht, wenn du zuvor im Kriterienfeld z.B. "wie A" eingegeben hast.
Kleiner Tip: Handbücher und Einsteiger-Tutorials sind äußerst hilfreich.
Moderiert von
Narses: Delphi-Tags hinzugefügt