我目前正在尝试创建查询更新,该更新每班8个小时运行一次。查询成功,但在过去的午夜部分卡住了。 我有3个班次: 班次1:上午7:30至下午4:30 班次2:下午4.30至11:30 班次3:晚上11:30至上午7:30
查询我尝试的班次3的条件:
日期:-------------------------时间:
Date()----------------------在#11:30:00 PM#和#11:59:59 PM#之间
Date()+ 1 -------------------在#12:00:00 AM#和#7:29:59 AM#之间
结果:它仅适用于今天[date()],当date()到达明天时,它将重置为第二天。
班次1和班次2成功,但是对于班次3查询未成功运行。日期和时间在表中使用= date()和= time()分隔。我可以知道该如何设置班次3的标准吗?
答案 0 :(得分:0)
您可以使用和/或:
Shift 1: Where [TimeField] >= #07:30# And [TimeField] < #16:30#
Shift 2: Where [TimeField] >= #16:30# And [TimeField] < #23:30#
Shift 3: Where [TimeField] >= #23:30# Or [TimeField] < #07:30#
要过滤日期:
Select *
From YourTable
Where [TimeField] >= #07:30# And [TimeField] < #16:30# And [DateField] = [SelectDate]
' For the other shifts:
Where [TimeField] >= #16:30# And [TimeField] < #23:30#And [DateField] = [SelectDate]
Where ([TimeField] >= #23:30# And [DateField] = [SelectDate]) Or ([TimeField] < #07:30# And [DateField] = DateAdd("d", 1, [SelectDate]))