繁体   English   中英

Microsoft Access-查询协助

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM