DateAdd 和日期字段不能用作查询条件

DateAdd and date fields not working as a criteria for a query

我正在处理的查询以前有效。我不知道确切的日期,因为我的同事离开时我继承了它。每次我 运行 查询都会得到 "Data type Mismatch in criteria expression."

   SELECT Personnel.Badge, Personnel.First_Name, Personnel.Last_Name, Training.Course, DateAdd("m",[Cert_Duration],[Latest_Course_Date]) AS Cert_Expiration, Personnel.Reports_To
FROM Training INNER JOIN (Personnel INNER JOIN qry_Training_Log_Latest_Course ON Personnel.Badge = qry_Training_Log_Latest_Course.Personnel) ON Training.Training_ID = qry_Training_Log_Latest_Course.Course
WHERE (((DateAdd("m",[Cert_Duration],[Latest_Course_Date]))<DateAdd("m",6,Date())) AND ((Training.Cert_Duration) Is Not Null));

出现了这条线

如果对此有任何反馈,我将不胜感激。

这个查询也会触发 "Data type Mismatch in criteria expression."

SELECT DateAdd("m", Null, Date());

因此,您的错误可能是由此表达式中的 Null [Cert_Duration] 值引起的...

DateAdd("m",[Cert_Duration],[Latest_Course_Date])

您需要将查询修改为...

  1. 排除 [Cert_Duration] 值为 Null 的行 评估 DateAdd() 之前。
  2. 或者用其他东西替换该表达式中的 Null [Cert_Duration] 值。