Проверка разницы во времени, MS Access - PullRequest
1 голос
/ 24 октября 2011

У меня есть таблица базы данных MS Access, в которой записывается состояние связи значений от нескольких метров. Данные записываются непосредственно в таблицу, но мне нужно убедиться, что таблица заполнена. Из примеров данных видно, что столбцы Comm не читают false или 0, поэтому я хочу возвращать журнал всякий раз, когда разница между сейчас и датой / временем больше 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;

1 Ответ

0 голосов
/ 24 октября 2011

Вам нужно что-то непрерывно работающее, которое генерирует уведомление всякий раз, когда ожидаемые данные не появляются, и есть несколько подходов, которые вы можете предпринять для этого.

Один из них состоит в том, чтобы непрерывно выполнять запрос, подобный приведенному выше, проверяя самую последнюю дату в таблице по значению функции now ().

Другой подход состоит в том, чтобы взять последнюю дату в вашей таблице, подождать (спать) 5 минут, а затем снова проверить таблицу на наличие новых записей. Я ожидаю, что при таком подходе будет меньше обращений к вашему столу.

Вы также можете просто проверять самую последнюю дату каждые 5 минут, независимо от того, проверяли ли вы в прошлый раз, и посмотреть, не поступили ли данные.

Сначала необходимо настроить цикл уведомлений, а затем поэкспериментировать с различными подходами.


все, что вам действительно нужно сделать, это вернуть количество строк в таблице, отметка времени которых находится в пределах 5 минут от now (). Вам не нужны дополнительные подробности строки, просто счет 0 или нет?

...