Ich habe nun seit mehreren Tagen gesucht, die gefundenen Beispiele ausprobiert und keine Lösung gefunden,
obwohl dieses Thema schon oft behandelt wurde.
Ich will eine Mitglieder-Datenbank anhand des Geburtstages in Erwachsene und Jugendliche filtern.
Das entsprechende Feld in der Tabelle habe ich mit
Code:
FieldDef.Add('Geb-Tag'), ftDate, 0, False)
angelegt. Vorhandene Testdaten sind Geburtstage 02.04.1950, 03.08.1997 und als Test ein Geburtstag in der Zukunft 05.06.2013.
Wenn ich die Daten über einen Filter ansprechen will, schlägt alles gefundene fehl.
Die einzige Version, die bei mir funktioniert, ist
Code:
MitgliederTable.Filter := 'Geb_Tag = Date()' // oder
MitgliederTable.Filter := 'Geb_Tag < Date()' // oder
MitgliederTable.Filter := 'Geb_Tag > Date()'
Hier wird alles richtig ausgewertet und die Auswahl vor bzw. nach Date() auch richtig ausgeführt.
Nun muss ich aber statt Date() ein direktes bzw. errechnetes Datum einsetzen, und da liegt das Problem:
Code:
MitgliederTable.Filter := 'Geb_Tag = 01.01.1995' // Syntaxfehler in Zahl in Abfrageausdruck 'Geb_Tag = 01.01.1995' aufgetreten
MitgliederTable.Filter := 'Geb_Tag = 01/01/1995' // keine Datensätze, ist i.O.
MitgliederTable.Filter := 'Geb_Tag < 01/01/1995' // keine Datensatz
MitgliederTable.Filter := 'Geb_Tag > 01/01/1995' // Anzeige 3 Datensätze
Wer kann mir helfen bzw. wo liegt der Fehler in meiner Denkweise und wie könnte eine Lösung aussehen?
Danke für Eure Hilfe