我有一个MS Access数据库表,它记录了几个仪表的值的通信状态。数据被直接记录到表中,但我需要确保该表正在填充。从示例数据中,您可以看到Comm列没有读取false或0,因此只要现在和"Date / Time“之间的差异超过5分钟,我就想返回一个日志。
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;发布于 2011-10-25 00:55:10
您需要一些持续运行的程序,以便在预期数据未出现时生成通知,有几种方法可以做到这一点。
一种方法是连续运行类似于上面的查询,根据now()函数的值检查表中的最近日期。
另一种方法是获取表中的最新日期,等待(休眠)5分钟,然后再次检查表中是否有较新的条目。我的期望是,这种方法将在您的表上生成较少的命中。
你也可以每隔5分钟检查一次最新的日期,而不管之前检查的时间,看看数据是否还没有进来。
您需要首先设置通知循环,然后可以尝试不同的方法。
您真正需要做的就是返回表中时间戳在now() 5分钟内的行数。您应该不需要额外的行详细信息,只是计数是否为0?
https://stackoverflow.com/questions/7876845
复制相似问题