首页 > 解决方案 > 如何选择事件日期为周末的所有记录并导出到另一个表

问题描述

我是 MS Access VBA 的新手。我已将日志文件导入到表中,并希望提取到另一个表中。1) DATE_Field = 周末的所有日志/记录。2) DATE_Field 是工作日 AND Time_Field 介于 22:00 和 05:00 之间的所有日志/记录

我尝试查询并尝试使用“日期名称”转换日期字段,但错误提示没有具有该名称的有效函数

DoW:日期名称([日志文件].日期)

我想提取所有日志,即 1) DATE_Field = Weekend 的所有日志/记录。2) DATE_Field 是工作日 AND Time_Field 介于 22:00 和 05:00 之间的所有日志/记录

标签: vbams-access

解决方案


显然 access 有一个 weekday() 函数:

https://support.office.com/en-gb/article/weekday-function-05d360d7-2c3f-4691-9448-c96ea0351940

我建议您使用固定一周开始的参数,以避免影响您的查询的区域变化

WHERE weekday(datefield, 1) IN (1,7)

您的工作日查询将是相似的;使用 NOT IN,并结合测试您的时间字段是 <= '05:00' 或 >= '22:00',假设时间是一个字符串。它需要一个前导零才能正确计算。请记住在使用 OR 时使用括号。

WHERE ... NOT IN (1,7) ANd (timefield <= '05:00' OR timefield >= '22:00')

推荐阅读