我构建了一个简单的时钟数据库。该表有四列:
员工只能看到一个带有两个按钮的表单,即“时钟输入”和“时钟输出”。
每个按钮都有一个On Click事件,可以在fOSUserName
和Now()
下TimeIn
或TimeOut
下添加新记录,具体取决于点击的按钮。
所有这些都很有效,但是,我需要一份报告来显示每天的工作小时数。为了获得准确DateDiff()
的报告,TimeIn
和TimeOut
数据必须位于同一行。我已经尝试过LastModified,MovePrevious / MoveNext和IfNull,我无法在同一行上获取TimeOut而无需手动移动它。
答案 0 :(得分:0)
不完美,但你可以从这样的事情开始:
update clock
set timeOut = Now()
where employeeId = fOsUsername()
and id in (select top 1 id from clock where employeeId = fOsUsername()
and timeOut is null and timeIn > Date()-1
order by id desc
)
答案 1 :(得分:0)
你可以这样做:
Select
EmployeeID,
Sum(TimeIn) As ClockIn,
Sum(TimeOut) As ClockOut
From
YourClockTable
Group By
EmployeeID,
DateValue(Nz(TimeIn, TimeOut))