如何在 MS Access Report 中列出未来三个月?

how to list the next three month in MS Access Report?

嘿我有一个 Emp table 其中有

姓名 + 签证号码 + 签证有效期

如何在报告中显示当前月份未来 3 个月

例如

现在 3 月 我需要列出 Emp visa will exp in march + 下两个月

4 月5 月

尝试使用表达式生成器,但我没有找到解决方案或无法解决这个问题??

我确定您的报告将有一个基于查询的查询,因此您需要在查询中创建一个过滤器。例如,如果您的报表具有 记录源 查询 的名称,则转到查询设计视图。

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 Days/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()))) ;