dbase nach zwei oder mehr Kriterien filtern [gelöst]

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Antworten
and4more
Beiträge: 207
Registriert: Do 15. Nov 2012, 19:13
OS, Lazarus, FPC: Windows 10, Manjaro Linux, Lazarus 1.6.4 (32/64 Bit)
CPU-Target: 32 Bit / 64 Bit

dbase nach zwei oder mehr Kriterien filtern [gelöst]

Beitrag von and4more »

Hallo liebes Forum, leider habe ich in Ermangelung an passender Literatur mal wieder eine Frage: Und zwar möchte ich eine dBase-Tabelle nach mehreren Kriterien filtern entsprechend SQL "SELECT * FROM xyz WHERE NAME=:NAME and VORNAME=:VORNAME". Gibt's da was vergleichbares unter dBase? Gerne auch Literaturvorschläge oder Internetadressen (leider finde ich da nur wenig Hilfreiches, dBase ist halt leider schon steinalt). Einen "einfachen" Filter habe ich schon realisiert.

Code: Alles auswählen

 
            Filter:='NNAME = "'+strNN+'"';
            Filtered:=True;
 


Funktioniert wie gewünscht. Ganz toll wäre ein kleines Beispiel. Vielen Dank schon mal im Voraus
Zuletzt geändert von and4more am Do 26. Jan 2017, 22:48, insgesamt 1-mal geändert.
Lazarus 1.6.4 32-Bit + 64-Bit, Windows 10 64-Bit, Manjaro Linux 64-Bit

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: dbase nach zwei oder mehr Kriterien filtern

Beitrag von wp_xyz »

Nun, TDbf kann kein SQL, aber du kannst den WHERE-Zweig der SQL-Abfrage in das OnFilter-Ereignis stecken (natürlich ohne die SQL-parameter):

Code: Alles auswählen

  Filter := 'NNAME = "' + strNN + '" and VNAME = "' + strVN + '"';
  // oder etwas lesbarer:
  Filter := Format('NNAME = "%s" and VNAME = "%s"', [strNN, strVN]);
  Filtered := true;

and4more
Beiträge: 207
Registriert: Do 15. Nov 2012, 19:13
OS, Lazarus, FPC: Windows 10, Manjaro Linux, Lazarus 1.6.4 (32/64 Bit)
CPU-Target: 32 Bit / 64 Bit

Re: dbase nach zwei oder mehr Kriterien filtern

Beitrag von and4more »

...super, vielen Dank passt hervorragend.
Lazarus 1.6.4 32-Bit + 64-Bit, Windows 10 64-Bit, Manjaro Linux 64-Bit

Antworten