基本的に、TimeIn で新しい行を作成する前に、ユーザーが現在ログインしているかどうかを確認しようとしていますが、記述されているコードを使用すると、ユーザーはチェックアウトせずに複数回チェックインできます (TLog_TImeOut フィールドは null)。私のコードを以下に示します。
If Not IsNull(DLookup("[TLog_TimeIn]", "TIMELOG", "IsNull(TLog_TImeOut)= True And NetID = '[TempVars]![CurrentID]'")) Then
MsgBox ("Please Check out!")
DoCmd.Close acForm, "CHECKIN", acSaveNo
Exit Sub
Else
NetID = [TempVars]![CurrentID]
TLog_TimeIn = Now()
MsgBox ("Thanks for checking in!")
DoCmd.Close acForm, "CHECKIN", acSaveYes
Exit Sub
End If