Uhrzeiten vergleich klappt nicht ?!

Blaubmania

Erfahrenes Mitglied
Hiho,

also ich habe folgendes skuriles Problem ich habe mehrere Listenfelder in VBA Access dort werden Uhrzeiten abgebildet das fängt sagen wa mal bei 10:00 an und geht in 15 Minuten schritten weiter klappt alles wunderbar ich hol mir die Anfangs und Endzeit aus einer Tabelle da durch Schichtarbeit jeder Mitarbeiter ne andere anfangs und endzeit haben kann.
So nun zu meinem Phänomen bei einer bestimmten Schicht bricht er einen Schritt zu früh die Schleife ab:

Hier mal der Code

Visual Basic:
Private Sub Form_Load()
    Dim i As Integer
    Dim j As Integer
    Dim db As Database
    Dim r As Recordset
    
    j = 1
    i = 1
    
    Set db = CurrentDb
    Set r = db.OpenRecordset("Arbeitszeit", dbOpenDynaset)
    
    r.FindFirst "AZeitText ='" & Form_abf_EefassungMed2.AZeitText & "'"
    
    startzeit = r!AZEKom 'Startzeit wird gespeichert'
    If startzeit > r!AZEGeh Then 'Wenn die Startzeit größer die Endzeit ist Wird die Endzeit erst mal auf 23:45 gestellt z.B. Startzeit 22:00 + Endzeit 6:45
        endzeit = TimeValue("23:45")
    Else
        endzeit = r!AZEGeh
    End If
    Do Until startzeit > endzeit 'Dies ist die Stelle wenn Startzeit GRÖßER ist als Endzeit soll er abbrechen
        If startzeit = "23:45:00" Then ' Sollte die Startzeit 23:45:00 betragen wird die richtige Endzeit eingetragen und Startzeit auf 0:00 gesetzt da sonst beim weiter hoch zählen (23:45 + 00:15) ein Datum als ausgabe folgen würde
            Me.Controls("lstzeit" & i).AddItem startzeit
            startzeit = TimeValue("00:00")
            endzeit = r!AZEGeh
            j = j + 1
        End If
        If j > (i * 17) Then
            i = i + 1
        End If
        Me.Controls("lstzeit" & i).AddItem startzeit
        startzeit = startzeit + TimeValue("00:15")
        j = j + 1
    Loop
End Sub

So die Zeit wo er probs macht geht von 6:00 - 14:30

d.h. er zeigt dann an 6:00, 6:15 ..... 14:30 zumindest macht er es so bei den anderen Schichten bei dieser aba bricht er schon bei 14:15 ab obwohl die Do Schleife dann folgende Werte hat 14:30:00 > 14:30:00 hat jemand ne Idee warum er ausgerechnet hier schon abbricht obwohl die startzeit ja nicht größer ist als die endzeit. Wenn Endzeit 14:45 ist geht die Schleife wieda ganz normal durch.

---------------------

Hab bischen rumgetestet wenn die Endzeit einen Wert <= 14:30 hat wird die Schleife immer einen Durchlauf zu früh beendet
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück