Elite Veteran
Beiträge: 868
Ort: Wien | eagle - 11.01.12
...
WHERE ...Format(DateValue("01.09." & [Bitte geben Sie das gewünschte Jahr ein])-[ASGebDat],"yy")<18
...
Alle meine Versuche sind bisher gescheitert, dass er bei Alterszahlen drei Stellen prüft.
...
Zur Funktionsweise deiner Berechnung da oben:
Datum1-Datum2 ergibt in Access die Differenz in Tagen. Durch die umschließende Formatfunktion mit Datumssymbolen ("yy") wird diese Anzahl Tage zum 30.12.1899 (=Tag 0 in Access/JET) addiert. Wenn z.B. ein Kind am Stichtag erst 9 Tage alt ist, lautet das Ergebnis 08.01.1900. Die zweistellig formatierte Jahreszahl dieses resultierenden Datums (im Bsp. 00) wird dann mit 18 verglichen. Das kommt so ungefähr hin, ist aber etwas ungenau.
Dein "dreistelliger" Versuch "yyy" funktioniert deshalb nicht, weil 1 "y" alleine das Symbol für den Tag des Jahres ist, also 1-365 bzw. 366. Access sieht daher "yyy" als Mischung aus zweistelligem Jahr und Tag des Jahres an. So kommst du also sicher nicht weiter.
Peter hat dir ja schon den üblichen Link zum Thema gepostet. Ich empfehle dir aus o.a. Gründen auch den Austausch der Formel durch jene in der FAQ.
----- Servus
Karl
*********
Access-Entwickler-Konferenz: https://www.donkarl.com/?aek - Jetzt anmelden für 19./20.10. in Nürnberg
Access DevCon Vienna: https://www.donkarl.com/devcon
Access Forever: https://www.accessforever.org
Access News: https://www.youtube.com/playlist?list=PLVCeBbJIMDvdJ8ghMbEakJ6_EQyvy... |