Определить время последнего изменения в таблице базы данных Microsoft Access - PullRequest
0 голосов
/ 29 мая 2009

Кто-нибудь знает способ определения, когда в последний раз таблица Microsoft Access была изменена (вставлена ​​или обновлена)? Мы использовали OLEDB через ADO COM для программного взаимодействия с базой данных доступа и искали способ обнаружения изменений в определенных таблицах. Нам не нужно знать, что это за изменения, просто эти изменения были сделаны.

Ответы [ 4 ]

2 голосов
/ 29 мая 2009

Единственный способ определить, изменились ли данные в таблице, - выполнить запрос к таблице.

В таблицу необходимо добавить столбец типа DATETIME, например. с именем LastUpdatedDate, который указывает последнюю обновленную дату / время каждой строки. Установите NOT NULL, чтобы вам приходилось записывать обновленное значение DATETIME в этот столбец для каждого INSERT или UPDATE. Кроме того, установите для столбца значение по умолчанию DATE() для текущей отметки даты или NOW() для текущей отметки даты / времени. Затем добавьте правило проверки или ограничение CHECK, например CHECK (LastUpdatedDate = NOW()), чтобы обеспечить фактическое обновление столбца для каждого UPDATE и INSERT.

Наконец, выполните запрос MAX(LastUpdatedDate), и вы получите то, что вам нужно.

0 голосов
/ 30 мая 2009

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

0 голосов
/ 30 мая 2009

Как указали другие, нет способа отследить изменения, не кодируя их самостоятельно.

Есть простой пример на ACC2000: как создать контрольный журнал регистрации изменений в форме http://support.microsoft.com/default.aspx?scid=kb;en-us;Q197592

Audit Trail - протоколировать изменения на рекордном уровне по адресу: http://allenbrowne.com/AppAudit.html Статья посвящена редактированию, вставке и удалению формы и подчиненной формы.

Модули: ведите историю изменений http://www.mvps.org/access/modules/mdl0021.htm Подпрограмма таблицы истории предназначена для записи записей истории, которые отслеживают изменения, внесенные в поля в одной или нескольких таблицах.

0 голосов
/ 29 мая 2009

Нет способа без «ручной» записи в столбец при каждом доступе к таблице.

...