2009-05-29 1 views
0

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

ответ

2

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

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

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

0

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

0

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

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

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

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

+0

Я не думаю, что любой из них будет работать, если они используют OLEDB через ADO COM для связи с базой данных доступа программно. – onedaywhen

0

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

 Смежные вопросы

  • Нет связанных вопросов^_^