Datum als Textfeld auswerten auf über/unter 18

  • Hallo zusammen,


    folgendes Problem stell sich mir heute. Ich hab ein Feld Namens Gebdat welches ein Textfeld ist und das Geburtsdatum ist.
    Wie kann ich eine Prüfung machen, ob derjenige 18 ist oder nicht?


    Rechnen mit Textfeldern geht nicht.


    So kann ist zwar die einzelnen Werte extrahieren, aber wie kann ich hier eine Prüfung auf 18 Jahre einbauen?


    varyear:=@Left(Gebdat;4);
    varday:=@Right(Gebdat;2);
    varmonth :=@Middle(Gebdat;5;2);

  • @date
    Konvertiert die Zahlen für die verschiedenen Komponenten eines Zeit- und Datumswerts in den Zeit- und Datumswert.


    Sprich wie einen Textwert in Datum konvertieren?

  • Kannst du nicht einfach den Text in eine Zeitwert umrechen per


    @TextToTime(Feld)


    Ist natürlich voraussetzung, das der Textwert konvertiert werden kann.


    Anschliessend dann den Datumswert mit @Today vergleichen


    (@Today - @Date(1982;7;23)) / 86400 / 365) > 18


    Nur ne Idee, aber steht auch in der Hilfe.


    MfG

    • Offizieller Beitrag

    Mit @TextToTime(GebDat) kannst Du den String in einen Datums-Zeit-Wert wandeln.
    Rechnen geht dann wie hurtz beschreibt.
    Allerdings werden Schaltjahre nicht beachtet.


    Berechnen könntest Du es exakt mit:

    Code
    _GebDat := @TextToTime(GebDat);
    _tempDat := @Adjust(@Today; -@Year(_GebDat); -@Month(_GebDat); -@Day(_GebDat);0;0;0)
    @If(@Year(_tempDat) > 17; ...;...)


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein