Registriert seit: 26.09.2020
Version(en): 2016
19.05.2021, 16:54
(Dieser Beitrag wurde zuletzt bearbeitet: 19.05.2021, 18:16 von schauan.
Bearbeitungsgrund: Code Tags verwendet
)
Hallo zusammen,
ich tu mich entwas schwer in der fomulierung
ich möchte wenn ein Mitarbeiter seinen Dienstbeginn bsp um 07:00 uhr hat.
Das er sich erst ab 06:30 eintragen kann.
Der Mitarbeiter trägt zum Dienstbeginn seine Schichtbeginn und Schichtende ein.
Stehe aber total auf dem Schlauch.
Code:
If DLookup("SNummer", "Schichten", "[SNummer] = '" & GetUser() & "'" & _
"AND [Schichtbeginn] < '" & Now - 30 & "' ") = GetUser() Then
MsgBox "test"
GoTo fin
Else
End If
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
wenn ich mich 30 Minuten vor Schichtbeginn eintragen kann würde ich Schichtbeginn < Now + 30 nehmen
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 26.09.2020
Version(en): 2016
19.05.2021, 23:09
(Dieser Beitrag wurde zuletzt bearbeitet: 19.05.2021, 23:10 von Enclave.)
ich hab das jetzt so versucht:
Code:
If DLookup("[Schichtbeginn]", "Schichten", "[SNummer] = '" & GetUser() & "'") < Now + 30 Then
GoTo fin
Else
MsgBox "Trage dich bitte max. 30min vor Dienstbeginn ein!"
'CurrentDb.Execute "UPDATE Schichten " & _
"SET [SNummer] = '' " & _
", [Schichtbeginn] = '' " & _
", [Schichtende] = '' " & _
", [Schichtdatum] = '' " & _
"WHERE [SNummer] = '" & GetUser() & "'"
GoTo fin
End If
aber funktionieren tut es leider nicht wirklich
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
also, das mit dem + ist erst mal wegen dem Prinzip. Der eigentliche Starttermin liegt ja nach dem Jetzt, also wäre für die Logik + korrekt.
Du musst natürlich auch schauen ob der Rest stimmt, z.B..
- Was ergibt Now() + 30?
- Was ist das Ergebnis von Getuser()?
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 26.09.2020
Version(en): 2016
Code:
If DateDiff("n", Schichtbeginn, Time) > 30 Then
MsgBox "melde dich später an"
GoTo fin
Else
MsgBox "erlaubt "
GoTo fin
End If
ich komme nicht weiter egal wie ich es versuche schaff ich es nicht mit 30minuten.
in meinem kopf macht die formel oben sinn aber funktionieren tut sie nicht.
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
hast Du Dir denn mal die einzelnen Teile genauer angeschaut, z.B.
Sub Test1
MsgBox Now() + 30
End Sub
oder
Sub Test1
MsgBox GetUser()
End Sub
oder ...?
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 26.09.2020
Version(en): 2016
20.05.2021, 17:20
(Dieser Beitrag wurde zuletzt bearbeitet: 20.05.2021, 17:48 von Enclave.)
ja das habe ich mir angeschaut.
bei now + 30
bekomm ich 19.06.2021 um 17:19
(also aktuelle +30 tage)
Get user sagt er mir den benutzer namen (wichtig für die db)
Code:
Dim minusfuenf As Date
minusfuenf = DateAdd("n", 30, Time)
If Schichtbeginn > minusfuenf Then
MsgBox "Trage dich bitte erst 30min vor Dienstbeginn ein! "
GoTo fin
Else
hab eine lösung die zu funktionieren scheint