2013-12-19 20 views
0

我创建一个估算并将其发送给客户。如果客户在3天内没有回复,我会发送一条后续消息。再过3天,另一个后续消息。在多个访问列中检查日期并返回

我将所有这些信息存储在Access 2010数据库中。记录通过InfoPath表单创建。

在表中,我有4列日期:GenDate,F1Date,F2Date,F3Date。在每条记录上,GenDate通过InfoPath表单记录创建记录的日期,因此始终填写该记录。

F1Date仅在记录被第一次追踪时才给出日期,并且否则为空。 F2Date获取第二个后续日期,否则为空。 F3Date使用相同。

这就是我有这么远的工作:

SELECT Active.GenDate, Active.F1Date, Active.F2Date, Active.F3Date 
FROM Active 
WHERE (Active.GenDate <= DATE() - 3) 

这将返回正确的记录,如果我只想评估GenDate列,但我怎么也查别人,只返回一个记录,其中每列评估为3天或更多天?

实施例:
记录1:
今天是12/18,GenDate是12/9,F1Date是12/13,F2Date是12/17,F3Date为空
记录2:
今天是12/18,GenDate是12/9,F1Date是12/13,F2Date是null,F3Date是null
记录3:
今天是12/18,GenDate是12/12,F1Date是空的,F2Date是空的,F3Date为空

结果: 记录2 &记录3

回答

0

我想你可以and在附加条件,同时也为比较值NULL

SELECT a.GenDate, a.F1Date, a.F2Date, a.F3Date 
FROM Active a 
WHERE (a.GenDate <= DATE() - 3) and 
     (a.F1Date <= DATE() - 3 or a.F1Date is NULL) and 
     (a.F2Date <= DATE() - 3 or a.F2Date is NULL) and 
     (a.F3Date <= DATE() - 3 or a.F3Date is NULL) 
+0

PERFECTO!谢谢! – JStrand87

相关问题