Détecter l'heure de la dernière modification sur une table de base de données Microsoft Access
Personne ne sait de façon à détecter quand la dernière fois qu'une table Microsoft Access a été changé (insérée ou mise à jour)? Nous avons utilisé OLEDB via ADO COM pour communiquer avec une base de données par programme et étaient à la recherche d'une méthode de détection des changements de tables spécifiques. Nous n'avons pas besoin de savoir ce que ces changements sont, c'est juste que des modifications ont été apportées.
Vous devez vous connecter pour publier un commentaire.
Le seul moyen de détecter si les données de la table a changé, c'est pour effectuer une requête sur la table.
Vous devez ajouter une colonne de type
DATETIME
à la table par exemple nomméLastUpdatedDate
qui indique la dernière mise à jour date/heure de chaque ligne. FaireNOT NULL
de sorte que vous aurez à rédiger une mise à jour deDATETIME
valeur de cette colonne pour chaqueINSERT
ouUPDATE
. Aussi, l'ensemble de la colonne d'avoir un défaut deDATE()
pour la date actuelle de timbre ou deNOW()
pour la date actuelle et l'heure. Puis ajouter une Règle de Validation ouCHECK
contrainte par exempleCHECK (LastUpdatedDate = NOW())
pour assurer la colonne est effectivement mises à jour sur chaqueUPDATE
etINSERT
.Enfin, exécutez une
MAX(LastUpdatedDate)
requête et vous obtiendrez ce dont vous avez besoin.Il n'est pas possible sans "manuellement" l'écriture d'une colonne à chaque fois que vous accéder à la table.
Comme d'autres l'ont indiqué, il n'y a aucun moyen de suivre les modifications sans codage de vous-même.
Il y a un exemple simple au
ACC2000: Comment faire pour Créer une Piste d'Audit des Modifications d'Enregistrement dans un Formulaire
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q197592
Piste de vérification - Journal des modifications au niveau de l'enregistrement à:
http://allenbrowne.com/AppAudit.html
L'article traite des modifications, des insertions et des suppressions pour un formulaire et sous-formulaire.
Modules: Maintenir un historique des modifications
http://www.mvps.org/access/modules/mdl0021.htm
La Table d'Historique routine est conçu pour écrire l'histoire des enregistrements qui permettent de suivre les modifications apportées aux champs dans une ou plusieurs tables.
Vous devrez mettre en place une colonne de type timestamp à votre table, et mettre à jour la valeur lors de vos changements de données.