Forum: Datenbanken
Delphi
by Stevie,
18. Jun 2004
Klappt's jetzt also, ja?
Für Selektionen, bei denen nur eine Option auswählbar sein soll benutzt man doch eher ne RadioGroup...
Forum: Datenbanken
Delphi
by Stevie,
18. Jun 2004
procedure TForm1.Edit1Change(Sender: TObject);
begin
// mit Trim werden Leerzeichen gelöscht, wenn also im Edit nix drinsteht, wird der Filter geleert und die Funktion beendet
if Trim(Edit1.Text) = '' then
begin
DBGrid1.DataSource.DataSet.Filter := '';
Exit;
end;
if GeberBezeichnung2.Checked then DBGrid1.DataSource.DataSet.Filter := 'Geber_Bezeichnung = ''' +Edit1.Text+...
Forum: Datenbanken
Delphi
by Stevie,
18. Jun 2004
Wie wäre es, wenn du einfach den Text aus deinem Editfeld löschst? :roll:
Forum: Datenbanken
Delphi
by Stevie,
17. Jun 2004
Deshalb hab ich ja den Code gepostet, alles was er noch machen muss, ist,
die drei Komponenten vom Datenzugriff-Reiter aufs Form zu klatschen.
Das funktioniert also folgendermaßen:
ZQuery ist meine Suchabfrage, die wird dem DataSetProvider zugewiesen. Dieser enthält die Daten aus dem DataSet als Paket. Dieses Datenpaket wird dann dem ClientDataSet zugewiesen und "wupsdich* kann ich mit...
Forum: Datenbanken
Delphi
by Stevie,
17. Jun 2004
Der Ansatz ist schon richtig, aber (mein Fehler :oops:):
- deine Datenbank (welche verwendest du?) versteht kein LIKE
- der Trick mit dem * funktioniert scheinbar nur mit ClientDataSets!?
Deshalb mein Vorschlag:
- ClientDataSet benutzen und in diesem die Suche implementieren.
procedure TForm1.FormCreate(Sender: TObject);
begin
DataSetProvider1.DataSet := ZQuery1;
Forum: Datenbanken
Delphi
by Stevie,
17. Jun 2004
Scheint, dass LIKE hier nicht unterstützt wird, dann nimm mal 'Geber_Bezeichnung = ''' +Edit1.Text+ '*''';
Forum: Datenbanken
Delphi
by Stevie,
17. Jun 2004
Das kommt drauf an. Ich nehme jetzt mal an, dass es nicht zigtausend Datensätze gibt, aber trotzdem würde bei der Eingabe von "Wasweißich" 10mal (!) eine Anfrage an die Datenbank gestellt. Wenn es nicht allzu viel Daten sind, ist es besser, sie erstmal alle abzufragen und dann einzuschränken.
Forum: Datenbanken
Delphi
by Stevie,
17. Jun 2004
Ich würde es mit einer LIKE-Abfrage machen:
procedure TForm1.Edit1Change(Sender: TObject);
begin
DataSet1.Filter := 'Bezeichnung LIKE ''' + Edit1.Text + '%''';
end;