2011-10-24 57 views
1

我有一个MS Access数据库表,记录来自几个米的值的通信状态。数据直接记录到表中,但我需要确保该表正在填充。从示例数据中,您可以看到Comm列不读取false或0,因此,只要现在和“Date/Time”之间的差异大于5分钟,我就想返回日志。检查时差,MS Access

Date/Time   FCB Comm BOF Comm  EAF Comm FGP Comm 
9/6/2011 10:29:10   1  1  1  1 
9/6/2011 10:28:01   1  1  1  1 
9/6/2011 10:27:11   1  1  1  1 
9/6/2011 10:26:20   1  1  1  1  
9/2/2011 08:17:01   1  1  1  1  
9/2/2011 08:16:10   1  1  1  1 
9/2/2011 08:15:02   1  1  1  1  
9/2/2011 08:14:08   1  1  1  1   

我想知道是否有人可以告诉我,如果这可以像一个合理的查询运行?

SELECT Data.[Date/Time], Data.[Ford Chiller Building Comm Okay], 
Data.[Basic Oxygen Furnace Comm Okay], Data.[Electro-Arc Furnace Comm Okay], 
Data.[J-9 Shop Comm Okay], Data.[Ford Glass Plant Comm Okay] 
    FROM Data 
    where DateDiff("n",now(), Data.[Date/Time]) < 5; 

回答

0

您需要持续运行的东西,每当预期的数据不会出现时就会生成通知,并且您可以采取一些方法来执行此操作。

一种方法是持续运行一个像上面那样的查询,并根据now()函数的值检查表中最近的日期。

另一种方法是采取表格中的最新日期,等待(睡眠)5分钟,然后再次检查表格是否有更新的条目。我的期望是,这种方法会在你的桌子上产生更少的点击。

你也只是检查日期最近每隔5分钟无论前一次检查,看看数据是否已经不能进入。

您需要设置您的通知循环第一,那么你可以尝试采用不同的方法。


你应该真正需要做的就是返回时间戳在5分钟之内的行数()。你不应该需要额外的行细节,只是计数0或不?

+0

你最初的想法是我的计划的一部分。我想我应该包括这一点。我计划运行这个服务应用程序,每5分钟运行一次。我的想法是,服务每5分钟运行一次,以验证最近的记录在当前日期/时间的5分钟内有一个日期。如果不是这样,那么我会收到一封电子邮件,告知数据没有更新。 –