Autor Beitrag
Martin Schlömer
Hält's aus hier
Beiträge: 2

Windows7 Ultimate
Delphi 7 Enterprise
BeitragVerfasst: Mo 21.03.11 18:51 
Hallo leute,
Ich habe eine Datenbank erstellt, nun versuche ich während einer Eingabe über ein Editfeld
die Daten zu filtern. Ich möchte also, wenn ich z.B in das Editfeld ein Wort rein schreibe das mit B anfängt
automatisch, alle anderen Einträge verschwinden. Die einzige lösung die ich bis jetzt hab ist folgendes.
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
procedure TForm1.Edit1Change(Sender: TObject);
begin
if trim(edit1.Text)<>'' then
begin
adoquery1.Filter := 'Filmtitel=''' + edit1.Text + '''';
adoquery1.Filtered := true;
end
else
adoquery1.filtered := false;
end;

Nur leider verschwinden alle Einträge bei der Eingabe, bis ich das exakte Wort eingegeben habe.
Hab ihr da ne Lösung für mich??
Perlsau
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 22.03.11 16:39 
Welche Datenbank? Access?

Hab dein Beispiel eben mal kurz mit meiner Städte-Tabelle nachempfunden,
ausblenden 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 user profile iconNarses: Delphi-Tags hinzugefügt

Für diesen Beitrag haben gedankt: Martin Schlömer
Martin Schlömer Threadstarter
Hält's aus hier
Beiträge: 2

Windows7 Ultimate
Delphi 7 Enterprise
BeitragVerfasst: Di 22.03.11 22:07 
Ja es ist eine Access Datenbank

Hallo Perlsau,
ich danke dir für deine Antwort und für die gute Erklärung!!
Jetzt funktioniert es genau so wie ich es mir gedacht habe.


LG Martin.