2011-10-24 62 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分鐘內有一個日期。如果不是這樣,那麼我會收到一封電子郵件,告知數據沒有更新。 –