|
| Ich habe einen Bericht für einen Kunden vorliegen, der seit dem 07.12.11 nicht mehr das Ergebnis zeigt, das seit 2002 immer korrekt war. Am 07.12.11 hat jemand beim Kunden in das Feld Geburtsdatum (aus dem dann auch das Alter der Person errechnet wird) bei 35 Datensätzen das Datum 01.01.1900 geschrieben.
Die Berechnung des Alters der Personen liegt jetzt über 100, also dreistellig vor.
Der Bericht hat das Ziel, alle Personnen, die zum Stichtag 01.09. noch nicht 18 Jahre alt sind, zu listen. dabei zeigt in der Abfrage der SQL-String folgendes:
WHERE IsNull([ASGebDat])=False AND Format(DateValue("01.09." & [Bitte geben Sie das gewünschte Jahr ein])-[ASGebDat],"yy")<18 AND Year([ASEinDat])<=[Bitte geben Sie das gewünschte Jahr ein]
ich habe das so verstanden:
Geburtsjahr muss Inhalt haben
von den ersten 4 Ziffern 01.09.yyyyy wird das Geburtsdatum abgezogen und bei den beiden letzten Ziffern wird überprüft ob diese < 18 sind - das Eintrittsdatum wird auch noch übeprüft, ob es kleiner oder gleich dem unter Parameter eingegebenen Jahreszahl ist.
Alle meine Versuche sind bisher gescheitert, dass er bei Alterszahlen drei Stellen prüft. Wäre wohl auch zu einfach gewesen.
Kann mir jemand einen Tipp geben wie ich das über Abfrage&Bericht lösen kann. Ich würde ungern an den Tabellen etwas verändern - also nur wenn es sein muss.
Danke schön und Grüße von eagle | |
|