[英]Microsoft Access - assistance with a query
我具有以下表结构:
tbl_workShift
id PK
employeeid FK
logInTime <- full date
logOutTime <- full date
我正在尝试为员工创建时间表。 使用起来非常简单。 员工将从下拉菜单中选择自己,然后单击登录||。 登出。
登录按钮只是插入一条新记录。
仅当员工要注销时才会发生这种情况
If(Datediff("h",logInTime,Now())>9)
->create a new record
->insert logOutTime = NOW() ( since the employee forgot to log out yesterday/login today)
else
->update last record with logOutTime = now() ( he didn't forget to login that same day)
我在使用注销按钮时遇到了麻烦-我似乎无法弄清楚如何编写此SQL查询。
我不知道我是否有足够的关于您正在做的事情的信息来为您提供所需的帮助...
但是,此vba代码可能会帮助您解决问题。
Private Sub Employee_AfterUpdate()
Dim db As Database
Dim rs As Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("SELECT * From tbl_workshift Where employeeid = " & Me!EmployeeId & ";")
If rs.EOF Then
MsgBox "Employee not found."
Exit Sub
Else
If DateDiff("h", Me!LogInTime, Now()) > 9 Then
rs.AddNew
rs!logOutTime = Now()
rs.Update
Else
rs.MoveLast
rs.Edit
rs!logOutTime = Now()
rs.Update
End If
rs.Close
End If
End Sub
祝好运。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.