Probleme mit der Datumsabfrage
Hallo zusammen,
ich habe ein kleines Problem mit meiner Datumabfrage. Der Code soll in einer View vergleichen welche Person am heutigen Tag Geburtstag hat:
select Personal where format(Geburtstag, "DD.MM") = format(today() , "DD.MM")
Jetzt passiert es aber, dass die Abfrage mir kein Ergebins anzeigt. Erst wenn ich den Code folgendermaßen abändere, wirft er mir den Geburtstag korrekt aus:
select Personal where format(Geburtstag, "DD.MM") = format(today() - 1, "DD.MM")
Allerdings verschwindet gegen 15Uhr diese Person wieder. Kann das irgendwie mit der Zeiteinstellung zu tun haben oder warum funktioniert der erste Code nicht?
Denn wenn ich mir im ersten Code sowohl format(Geburtstag, "DD.MM")
als auch format(today() , "DD.MM")
einzeln anzeigen lasse, dann vergleicht er 06.05 mit 06.05, nur leider sagt er, dass das nicht stimmt...
Vielen Dank für eure Unterstützung!
4 Antworten
-
Hallo Michael, ich würde mal versuchen, ohne format() direkt mit den Datumswerten zu arbeiten:
let myMonat := month(today());
let myTag := day(today());
select Personal where month(Geburtstag) = myMonat and day(Geburtstag) = myTag
-
Vielen Dank für die schnelle Rückmeldung. Ich habe den neuen Code direkt umgesetzt, leider bleibt das Problem bestehen. Auch unter diesem Code wirft er mir alle morgigen Geburtstage aus...
Folgender Aufbau hat der Code nun:
let myMonat := month(today());
let myTag := day(today());
join(for i in select Personal where month(Geburtstag) = myMonat and day(Geburtstag) = myTag do
i.Vorname + " " + i.Nachname + " hat heute Geburtstag (" + age(i.Geburtstag) + ", " + format(i.Geburtstag, "DD.MM") + ")"
end, "
")Und hier ist das Ergebnis:
Interessanter Weise wirft die Age-Funktion auch das falsche Alter raus - hier müsste 33 stehen.
-
Sorry folgender Code gehört dazu:
let myMonat := month(today());
let myTag := day(today());
join(for i in select Personal where month(Geburtstag) = myMonat and day(Geburtstag) = myTag do
i.Vorname + " " + i.Nachname + " hat heute Geburtstag (" + age(i.Geburtstag) + ", " + i.Geburtstag + ")"
end, "
")Habe nun auf alle format()-Funktionen verzichtet
-
Dann muss ich leider passen, tut mir leid. Gut, augenscheinlich geht's nicht um eine Ansicht ("View") im engeren Sinne, sondern um die Anzeige in einem Berechnungsfeld. Da müsste dein Code aber funktionieren. Bei mir tut er's jedenfalls (Web und Mac-App).
Was ich nicht verstehe: Wo kommt bei "Michael Schulte" das angezeigte Datum "08.05.1987" her, wenn er doch am 07.05.1987 Geburtstag hat? Ist 'Geburtstag' ein Berechnungsfeld? Auf welcher Plattform läuft das Script?
Irgendwo ist da der Wurm drin. Ich habe aber keine Ahnung, wie dieser Wurm heißen könnte. Wenn hier sonst niemand eine Idee hat, würde ich mich an deiner Stelle damit mal direkt an den Ninox-Support wenden.
Content aside
- vor 4 JahrenZuletzt aktiv
- 4Antworten
- 563Ansichten