Zum Inhalt springen

DateDiff


RadinaV

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...