Das Notes Forum
Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: Davidxx am 22.10.08 - 08:05:58
-
Guten Morgen alle zusammen.
Meine Frage heute ist folgende:
Ich habe eine Maske in der zwei Felder mit einer Zeitangabe ausgefüllt werden (Date/time felder mit haken bei Display Time)
und ein drittes Feld (number) mit dieser Formel: @If(fldStartzeit="";"";fldEndzeit="";"";((fldEndzeit-fldStartzeit)/3600))
Sprich er nimmt die beiden Werte aus den Start und Ednzeitfeldern und fügt die Differenz in das dritte Feld.
Problem an der sache ist: er geht über die Zahl 60. also bis zu einer Stunde ist alles in ordnung, was dadrüber geht ist fehlerhaft.
Gibt es da eine Formel oder ein Lösungsweg der irgendwem spontan einfällt?
ps.: das Number-Feld hab ich auch schonmal in Date/Time gemacht das bringt alles nix :)
Danke schonmal, LG David
-
Problem an der sache ist: er geht über die Zahl 60. also bis zu einer Stunde ist alles in ordnung, was dadrüber geht ist fehlerhaft.
:-:
-
Ich habe das auf die Schnelle mal probiert und das Ergebnis sieht richtig aus.
z.B. Startzeit 9:00, Endzeit 10:30 -> ergibt 1,5 -> 1 Stunde und 30 Minuten
Die Frage ist nun, was erwartest du denn als Ergebnis?.
Axel
-
Was gibt er dir aus wenn du 08:30-09:45 machst, bei mir 1,25.
Bräuchte am besten ne Zeitangabe in dieser Form: 08:30 bis 09:45= 1,15
Das Ergebnis wird dann mit anderen addiert und in einem weiteren Feld als gesamtsumme angezeigt.
Das ist der Hintergrund.
Lg David
-
Was gibt er dir aus wenn du 08:30-09:45 machst, bei mir 1,25.
Bei mir auch. Ist ja auch richtig. Die Ausgabe erfolgt in Industrieminuten und da ist eine Viertelstunde 0,25.
Und wenn du mit den Werten weiterrechnen willst musst du mit Indutrieminuten rechnen, sonst bekommst du mit Sicherheit ein falsches Ergebnis.
Axel
-
da kommt wieder das Stichwort Industriezeit und "normale" Zeitangaben
Umechnung normale Zeit in Industriezeit
Wert := Normalzeit (in Zahlenschreibweise);
@If(Wert=0; 0;((Wert-@Integer(Wert))/60*100)+@Integer(Wert))
Umrechnung Industriezeit in normale Zeit als Zahlenwerte:
Wert := Industriezeit;
@If(Wert=0; 0; ( @If(@IsError( (Wert - @Integer(Wert)) /100*60 ); 0; (Wert - @Integer(Wert)) /100*60 ) ) + @Integer(Wert) )
-
Danke erstmal für die vielen tipps,
die Formel für industrieminuten und zeit minuten kann ich nicht benutzen, er meckert immer number expected, was mach ich da falsch?
-
Dann steht in einem Feld wohl kein Zahlenwert drin.
Lass dir den Inhalt mit @prompt anzeigen.
-
Die Formel verwende ich, wenn das als Zahl erfasst wird, ansonsten hilft da wohl besser eine Umrechnung in Sekunden bzw. Minuten und von da an wieder zurück
-
Gut, direkt die Werte in die Formel schreiben kann ich nicht machen.
Und umrechnung in Sekunden erfolgt automatisch, was ich mache is dann nochmal durch 3600 rechnen. trotzdem der fehler.
-
vielleicht
Converts a text string to a number, where possible.
Syntax
@TextToNumber( string )
probieren?
-
wie schon gesagt, ich verwende diese Formel für Zahleneingaben (176,00 etc) bzw. derartige Ergebnisse, die als Zahl kommen, und das Ergebnis ist dann auch eine Zahl, die auf Wunsch mit manueller Formatierung als Dezimaltrenner dann statt , einen Doppelpunkt anzeigen kann, bei richtigen Zeitberechnungen steige ich dann nach möglichkeit auf Lotus Script um.