> 08 - Suivre les actions des utilisateurs

Il s'agit de garder la trace, dans une table séparée, de certaines actions:
par exemple, qui a effacé une fiche et quand, qui a créé une fiche et quand, qui a imprimé tel état etc...

1 - Il faut créer
a) une table "T_Actions" comportant les champs suivants:
Ac_Num / Numéro Automatique clé primaire
Ac_Date / Date Heure
Ac_CodeAction / Entier long lié à La_CodeAction
Ac_Auteur / Entier long lié à Au_Code
Ac_NumDossier / Texte - cet exemple suit des actions sur des "Dossiers"

b) une table "T_LibelléActions" comportant les champs suivants:
La_Code / Numéro automatique Clé primaire
La_Libellé / Texte

exemples: 1 = Effacer, 2 = Imprimer, 3 = annuler saisie, etc...
c) une table "T_Auteurs" comportant les champs suivants:
Au_Code / Numéro automatique clé primaire
Au_Nom / Texte

si nécessaire on peut ajouter d'autres champs (téléphone, service, ....)

2 - Il faut mettre en place un moyen d'identification, par exemple un formulaire de mot de passe au démarrage ou la récupération de CurrentUser, de manière à disposer de la variable lnAuteur correspondant au code de l'auteur dans la table T_Auteurs

2 - Dans un module, placer ceci:

Public Sub flic(iCode As Long, lnAuteur As Long, chDossier As String)
DoCmd.SetWarnings False
DoCmd.RunSQL "INSERT INTO T_Actions ([Ac_Date], [Ac_CodeAction], [Ac_Auteur], [Ac_NumDossier]) VALUES (Now, " & iCode & ", " & lnAuteur& ", " & chDossier & " );"
DoCmd.SetWarnings True
End Sub

3 - Aux endroits à surveiller (par exemple: sur clic d'un bouton ...) placer ceci:

chDossier = [monChampQuiContientCeRenseignement]
flic 1, lnAuteur, chDossier

' la valeur 1 est à remplacer par 2, ou 3 en fonction du contexte de l'action