RadinaV Geschrieben 18. September 2006 Geschrieben 18. September 2006 Hallo, ich habe folgenden Fall: Ich muss eine Reisekostenabrechnung erstellen in der man folgende Dinge eingeben kann: 1. Ort 2. Abfahrtezeit + Datum 3. Ankunftszeit + Datum Dann wird der Tagessatz automatisch berechnet. Ich habe bisher alles in Visual Basic gemacht doch ich habe Probleme bei der Berechnung der Dauer der Reise, denn es soll ein ganzer Tag gezählt werden wenn die Reise länger als 12 Stunden gedauert hat, wenn sie kürzer war sollen die STunden gezählt werden. Ich habe es wie folgt versucht: AbT = AbTag.Value AbM = ABMonat.Value AbJ = AbJahr.Value AbZ = AbZeit.Value AnT = AnTag.Value AnM = AnMonat.Value AnJ = AnJahr.Value AnZ = AnZeit.Value Dauer = DateDiff("h", AbT + " ." + AbM + "." + AbJ + " " + AbZ, AnT + " ." + AnM + "." + AnJ + " " + AnZ) If Dauer > 12 Then Stunden = Dauer Mod 24 Tage = (Dauer - Stunden) / 24 Else Tage = 0 Stunden = Dauer End If DAS PROBLEM: hier rechne ich die gesamten Stunden zusammen und teile sie dann in Tage und Stunden auf. Das Problem liegt am Abfahrts- und Ankunftstag. Wenn ich am Abfahrtstag vor 12 Uhr weggefahren bin, soll er einen ganzen Tag zählen umgekehrt genauso und wenn ich am Ankunftstag nach 12 Uhr zurück gekommen bin soll er genauso einen ganzen Tag rechnen. Bsp. Reise war von 01. April 06.00 Uhr bis 05. APril 16.00 Uhr. In meiner bisherigen Variante gibt er 4 Tage und 10 Stunden aus, aber es sind eigentlich 5 Tage und 0 Stunden, da der 06. April als ganzer Tag gezählt wird und nicht als Differenz zwischen 06.00 uhr und 16.00 Uhr. Ich hoffe jemand kann mir helfen. Ich wäre wirklich sehr dankbar dafür. Liebe Grüße, Radina Zitieren
imatt Geschrieben 18. September 2006 Geschrieben 18. September 2006 hallo an der datediff funktion würd ich gar nix mehr ändern. stattdessen würde ich noch ein paar if abfragen einbringen wenn die ankunft nach 12 uhr ist und der ankunftstag ein anderer ist als der abfahrtstag -> wird ein tag statt die stunden dazugezählt wenn die ankunft vor 12 uhr ist und der ankunftstag ein anderer ist als der abfahrtstag -> werden die stunden gezählt, so wie jetzt wenn die abfahrt vor 12 uhr ist und der ankunftstag ein anderer ist als der abfahrtstag -> wird ein tag statt die stunden dazugezählt so in etwa.. alternativ solltest du nachdenken ob du nicht einfach die abfragen machst und dann einfach die an und abfahrtszeit so normiert überschreibst, dass das richtige ergebniss raus kommt - ist wahrscheinlich geschickter Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.