Hallo Bernhard,
du weisst dass ich immer dankbar über deine/eure Hilfe bin, schon oft habt ihr mir weitergeholfen und ich hab einiges gelernt. Von daher natürlich Danke für deine Anmerkungen.
Gerade deswegen möchte ich da aber schon weiter nachhaken.
Wie gesagt, das ganze dient bei mir dazu, in einer Ansicht in einer berechneten Spalte Kategorien mit Altersstufen zu bilden. Ich hole mir das Geburtsdatum aus einem Eingabefeld einer Maske. Ich gehe eigentlich davon aus, dass wenn ich das Eingabefeld "Geburtsdatum" als Datumsfeld definiere, eine Eingabe à la "Ein schöner Tag im Mai" niemals möglich ist, oder? Was sollte dann da anderes drinstehen als "Nix" oder ein Datum?
Wie kommst du drauf, dass in der Formel mit "unbekannt" gerechnet wird? Wenn nix drinsteht, dann ist das Ergebniss der String "unbekannt", wenn doch was drinsteht, dann wird mit den Datumswerten gerechnet, da kommt dann ein (Alters-)Zahlenwert raus. Die Situation @year("unbekannt") kommt also nie vor.
OK, ich habe in meiner Spalte bisher nicht darauf geachtet, dass das eine Ergebnis ein String, das andere eine Zahl ist, hat aber zumindest in den berechneten Ansichtsspalten noch nie Probleme gemacht. Kann man aber natürlich auch umwandeln. Ich möchte halt in den Fällen, in denen noch keine Alterangabe eingegeben wurde, nicht irgendeine Fehlermeldung drin stehen haben, sondern eine für die Anwender verständliche Meldung.
Ich gebe zu, ich frage grundsätzlich den Inhalt meiner Felder immer mit - @if xyz = "" - dahingehend ab, ob da was drinsteht oder ob sie noch leer sind. Hat bisher auch bei Zahlen oder Datumsfeldern noch nie Probleme gegeben, aber nun will ichs schon wissen: Wie frage ich ein Zahlenfeld denn korrekt ab, ob es leer ist?
Und letztlich tät mich jetzt doch trotz allem interessieren, ob meine Idee der Altersbestimmung, nämlich einfach zwei große Zahlen aus Jahr, Monat und Tag zu generieren, diese voneinander abzuziehen und dann abzurunden funktioniert. Ich finde diese Lösung nämlich weitaus einfacher als die anderen, und habe bisher kein falsches Ergebnis entdecken können. Aber vielleicht finde ich die Sonderfälle nur nicht, die dir im Kopf rumschweben. Auch bei Schaltjahren konnte ich bisher keinen Fehler entdecken.
Und dieser aus meiner Sicht weitaus einfachere Ansatz war der Grund, warum ich das hier noch an einen alten Thread angehängt habe. Mir schienen die bisherigen Lösungen nämlich einfach viel zu kompliziert.
So, und nun gute Nacht, bis morgen.