我想在VB Net中制作一个相当简单的时钟程序,我将使用Access数据库。到目前为止,我有一个员工表和一个ClockEntry表。我想要做的是访问ClockEntry表的最后一个条目,以确定员工是否进入或退出。 ClockEntry表格如下所示:
EntryID
EmployeeID
ClockType - IN or OUT
DateTime - Date and time in 4/12/2018 7:00:00 AM format
问题始于一个员工可能忘记上班或下班的事实,所以我会有一个管理员,以后可以为他们做。但这将使数据无序,日期和时间明智。那是我遇到麻烦的地方。我需要按DateTime字段对数据进行排序,然后获取最后一个条目。当我在DateTime上添加排序依据时,它会获得最后一次排序。它不会先对列表进行排序。是否可以在一个搜索/查询中获取所有内容,或者我是否需要单独查询?
这是我试过的那个之一:
SELECT ClockEntries.ClockType, Last(ClockEntries.DateTime) AS LastOfDateTime
FROM ClockEntries
GROUP BY ClockEntries.ClockType, ClockEntries.EmployeeID
HAVING (((ClockEntries.EmployeeID)=1))
ORDER BY Last(ClockEntries.DateTime);
我获取按DateTime字段排序的最后一个IN和OUT(两个条目),但它是按DateTime排序的最后一个条目,而不是按所有日期条目排序的最后一个条目(希望这是有意义的)。
基本上我想要一个员工的最后一个条目(一个条目)以及它是什么类型(IN或OUT)...但我想要最后一个排序数据(最近的日期)。