Rechnen mit Datumsfeldern
Dieses Feature ist Teil der Visforms Subscription und in der freien Visforms Version nicht enthalten..
Für ein besseres Verständnis empfehlen wir die Dokumentation vollständig durchzulesen und mit dem Abschnitt Einleitung zu beginnen. Zusammenhänge, die in früheren Abschnitten der Dokumentation erklärt wurden, werden hier nicht wiederholt.
Neues Feature in der Subscription 3.0.0
Da die Möglichkeit mit Datumsfeldern rechnen zu können, häufig nachgefragt wurde, haben wir dieses Feature der Visforms Subscription in der Version 3.0.0 hinzugefügt.
Anwendungsbereiche
Das Featuer "Rechnen mit Datumsfeldern" eignet sich besonders für Buchungsformulare und bietet Ihnen die Möglichkeit die Differenz in Tagen zwischen den Werten die in zwei unterschiedlichen Datumsfeldern gewählt wurden, zu ermitteln. Diese Differenz kann in Folgeberechnungen weiterverwendet werden.
Funktionsweise
Ist ein Datumsfeld im Formular nicht gefüllt, dann verwendet Visforms automatisch den Wert 0 für dieses Feld.
Wenn ein Datum gesetzt ist, wird es in den sogenannten Unix-Time-Stamp umgewandelt. Dies ist die Anzahl Sekunden, die seit dem 1.1.1970 verstrichen sind. Hieraus wird die Zeitdifferenz zum 1.1.1970 in Tagen berechnet. Damit die Berechnung korrekt ist, wird die Zeitzone für die Berechnung des Unix-Time-Stamps zuerst auf UTC und die Uhrzeit auf 00:00:0 gesetzt.
Dies ermöglicht es die Differenz der Tage zwischen den Werten in zwei Datumsfeldern zu berechnen.
Beispiel Berechnungsformeln
Beispiel Berechnungsformel für Felder mit Namen startdate und enddate:
1. und letzter Tag wird mitgezählt
([ENDDATE]-([STARTDATE])) + 1
Nur Starttag oder Endtag wird mitgezählt
([ENDDATE]-([STARTDATE]))
Wir empfehlen alle Datumsfelder, die in Berechnungen verwendet werden sollen, zu Pflichtfeldern zu machen.
Ausblick
Die Ermittlung der Differenz zwischen 2 Datumsfeldern funktioniert gut. Bitte beachten Sie aber, dass es für die Datumsfelder selbst keine weitergehende Steuerungs- und Validierungsmöglichkeit gibt,z.B. um sicherzustellen, dass ein Wert im Enddatum nicht kleiner ist, als ein Wert im Startdatum.