首页 > 解决方案 > 如何使用硬编码的月份和当前年份进行查询

问题描述

我有一个 Access 表,其中包含一个名为 ClaimDate 的列。我有一个显示各种内容的报告,报告的用户表单要求他们输入他们希望在报告上显示的数据集的日期范围。然而,在报告的底部,我有一个今年的运行记录。这一切都很好,但我正在像这样对底部的日期进行硬编码;

 WHERE tbl_CSRQA.CustomerServiceRep=[forms]![frm_CSRErrorTracking]![CSRNameCB] AND tbl_CSRQA.ClaimDate Between #7/1/2019# And #7/31/2019#

我想做的是保留月/日的硬编码,但将年份更改为当前年份。这样我就不必在 2020 年到来时返回并更新所有这些查询。

我知道我可以使用 Year(Date()) 函数来获取当前年份,但我无法将其集成到我的查询中。我以为会是这样的;

  WHERE tbl_CSRQA.CustomerServiceRep=[forms]![frm_CSRErrorTracking]![CSRNameCB] AND tbl_CSRQA.ClaimDate Between #7/1# & Year(Date()) And #7/31# & Year(Date())

然而,这只是给我一个错误。

这是完整的查询;

 SELECT tbl_CSRQA.ClaimantAdded, tbl_CSRQA.DocsPhoneCall, tbl_CSRQA.InsdDriverVehInfo, tbl_CSRQA.LossInfo, tbl_CSRQA.TemplateCalNotes, tbl_CSRQA.EmailtoLiab, tbl_CSRQA.ReserveScreen, tbl_CSRQA.InsNamePhone, tbl_CSRQA.Clerical, tbl_CSRQA.AdditionalSteps AS [Total Claim Errors Jul]

 FROM tbl_CSRQA IN '\\blcorp\shares\Claims\Liability Claims\Correspondence\CAST Database\Protective Insurance CAST Database Tables.accdb'

 WHERE tbl_CSRQA.CustomerServiceRep=[forms]![frm_CSRErrorTracking]![CSRNameCB] AND tbl_CSRQA.ClaimDate Between #7/1/2019# And #7/31/2019# AND 
 (tbl_CSRQA.ClaimantAdded="No" OR 
 tbl_CSRQA.DocsPhoneCall="No" OR 
 tbl_CSRQA.InsdDriverVehInfo="No" OR 
 tbl_CSRQA.LossInfo="No" OR 
 tbl_CSRQA.TemplateCalNotes="No" OR 
 tbl_CSRQA.EmailtoLiab="No" OR 
 tbl_CSRQA.ReserveScreen="No" OR 
 tbl_CSRQA.InsNamePhone="No" OR
 tbl_CSRQA.Clerical="No" OR
 tbl_CSRQA.AdditionalSteps="No");

我真正需要做的只是更新查询,以便硬编码的日期只查找当前年份,而不必输入“2019”或“2020”。

标签: vbams-access

解决方案


推荐阅读