嘿,我有 Emp 表,其中有
名称 + 签证号 + 签证到期日
我如何在报告中显示当前月份和未来3个月
例如
现在我在 3月 我需要在 3月 + 中列出 Emp 签证将 exp 强>
4月和可能
尝试使用表达式构建器,但我没有找到解决方案或者不可能做到这一点?
答案 0 :(得分:1)
我确定您的报告将有一个基于它的查询,因此您需要在查询中创建一个过滤器。例如,如果您的报告具有记录来源 查询的名称,则转到查询设计视图。
SQL应该是类似的,
SELECT
EmployeeName,
EmployeeVisaNo,
EmployeeVisaExpiry
FROM
EmployeeTable
WHERE
Month(EmployeeVisaExpiry) = Month(Date);
要获取当月和接下来两个月的信息,您的查询将会是。
SELECT
EmployeeName,
EmployeeVisaNo,
EmployeeVisaExpiry
FROM
EmployeeTable
WHERE
EmployeeVisaExpiry BETWEEN Date() AND DateAdd("m", 3, Date());
我创建的查询仅从日期开始形成日期和90天/ 3个月,所以如果它也在6月份通过一些条目也不要感到惊讶。 然而如果您只需要三个月,那么您可以将其作为,
SELECT
EmployeeName,
EmployeeVisaNo,
EmployeeVisaExpiry
FROM
EmployeeTable
WHERE
Month(EmployeeVisaExpiry) BETWEEN Month(Date) AND Month(DateAdd("m", 3, Date())) ;
以上内容将为您提供三个月内的所有数据,如果您希望过滤当前年份的数据,只需在条件中添加AND即可。像,
SELECT
EmployeeName,
EmployeeVisaNo,
EmployeeVisaExpiry
FROM
EmployeeTable
WHERE
((Month(EmployeeVisaExpiry) BETWEEN Month(Date) AND Month(DateAdd("m", 3, Date())))
AND
(Year(EmployeeVisaExpiry) = Year(Date()))) ;