Veteran
Beiträge: 229
Ort: Badendorf | Hallo,
ich habe eine Abfrage erstellt, welche den Arbeitsablauf in einer Warteschlange berechnet
1) der Wartende ist fertig, nach seiner Ankunftszeit+Bearbeitungsdauer ODER
2) wenn der vorherige bei seiner Ankunftszeit nicht fertig ist, ist er fertig nach "EndZeit des Vorherigen"+Bearbeitungsdauer
für die Berechnung verwende ich eine Fiction, die die letzte Endzeit als globale Variable speichert.
Das Problem:
Zuerst zeigt die Abfrage die richtigen Werte.
wenn ich in der berechneten Abfrage aber auf die Endzeit klicke, verändert sich die Endzeit in der Abfrage
die Abfrage scheint mehrfach etwas zu berechnen
Das führt bei mir zu Folgefehlern, z.B. zeigt das Formular, welches die Wartezeit ausgibt, andere Werte an als in der Abfrage angezeigt werden.
Public SpeicherEndzeit As Date, Filtertag As Date 'hier die globale Variable
Function Endzeitberechnung(Nummer, Zeit As Date, Dauer As Integer) As Date
If IsNull(Zeit) Or Zeit = #12:00:00 AM# Then 'wenn leere Zeit NULL setzen
'Endzeitberechnung = #12:00:00 AM#
Exit Function
End If
If Nummer = 1 Then
Endzeitberechnung = Zeit + Dauer / 1440 'Minuten müssen in Tage umgerechnet werden
SpeicherEndzeit = Endzeitberechnung
Else
If SpeicherEndzeit >= Zeit Then 'wenn OP fertig und neuer Patient schon da
Endzeitberechnung = SpeicherEndzeit + Dauer / 1440 'Minuten müssen in Tage umgerechnet werden
SpeicherEndzeit = Endzeitberechnung
Else
Endzeitberechnung = Zeit + Dauer / 1440 'Minuten müssen in Tage umgerechnet werden
SpeicherEndzeit = Endzeitberechnung
End If
End If
End Function
bin dankbar für jede Idee
Rudolf |