Probleme bei einer Abfrage, Feiertag oder nicht, diese wird nach 3 Monaten beendet.
Hallo Forum, arbeite aktuell an einen Stundenzettel. Dabei verfolgt mich ein Fehler, der sich nicht erklären lässt.
Innerhalb des Nachweises sollen die Sollstunden berechnet werden. Dafür habe ich eine Liste mit Feiertagen erstellt. Ein Vergleich, ob das Datum in der Liste vorhanden ist gibt dann aus ob Feiertag oder nicht.
Jetzt zum Problem:
Ab dem 3. Monat wird nicht mehr korrekt verglichen. Das kann ich mir nicht erklären.
Hier mal die Datei.
https://www.icloud.com/iclouddrive/04d0EN1P0aFPn8FG9RaVvwyhw#Stundenzettel
Würde mich über einen Rat freuen, oder ist es ein Bug?
6 Antworten
-
Hi Knickygo. Das ist schon schräg und ich habe dafür auch keine Erklärung. Mit folgendem Code klappt es aber. Du musst noch den 1.5. löschen, der ist in der Feiertagstabelle 2x vorhanden, dann ist die Zählung natürlich falsch.
*
let myTag := date(year(DatumTAG), month(DatumTAG), day(DatumTAG));
let myDS := cnt(select FEIERTAGE where date(year(Datum), month(Datum), day(Datum)) = myTag);
if myDS = 1 then true else false end
*
-
Hallo Knickygo, könnte wieder mit dem leidigen Sommer-/Weinterzeit-Problem zu tun haben. Ich würde es soc versuchen:
let myDay := date(year(DatumTAG), month(DatumTAG), day(DatumTAG));
if cnt(select FEIERTAGE where Datum = myDay) > 0 then true else false end
Grüße, Axel
-
... Oder so, wie MZ sagt. Ich persönlich frage in solchen Fällen allerdings immer vorsichtshalber auf "> 0" ab.
-
Vielen Dank, das hat mich schon viele Nerven gekostet. Ich bin ja kein Profi, aber eigentlich ist doch mein Code auch nicht falsch gewesen, oder?
@plano.pro Sommer/ Winterzeit? Hatte das erst für den Oktober angelegt und dann gemerkt das es ab November nicht mehr ging. Das würde ja für das Thema sprechen. Gibt es eigentlich eine Liste, wo typische Bugs aufgelistet sind?
-
Nein, dein Code war prinzipiell korrekt. Das Problem mit der fehlerhaften Berechnung von Datumswerten, die den Wechsel von Sommer- zu Winterzeit (und umgekehrt) berühren, existiert schon so lange, wie ich Ninox kenne. Deshalb ist ist das immer meine erste Vermutung. Bei einem direkten Vergleich von Tagesdaten war es mir bisher allerdings noch nicht untergekommen.
Ich empfehle deshalb generell, bei allen Operationen mit Datumswerten prophylaktisch die date()-Funktion zu nutzen. Damit funktioniert es in der Regel. Warum auch immer ... ;)
-
PS: Nein, eine Liste mit bekannten Bugs gibt es m. W. nicht. Sooo viele derartige Fehler gibt es ja auch nicht. Und auch dieser tritt nur bei bestimmten Konstellationen auf.
Content aside
- vor 3 JahrenZuletzt aktiv
- 6Antworten
- 210Ansichten