Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Création d'un journal de connexion

2 réponses
Avatar
Fofana
Bonjour =E0 tous
Je voudrais savoir comment cr=E9er un journal qui permetra=20
de donner l'historique de toutes les connexions =E0 une=20
base de donn=E9e.
Merci pour votre aide.
Fofana.

2 réponses

Avatar
Raymond
Bonjour.

Tu peux créer un journal de surveillance des activations de formulaires qui
peut être considéré comme un journal de connexion car l'ouverture du
formulaire de surveillance sera elle-même le début de connexion et sa
fermeture la fin de connexion. Cette méthode permet de journaliser toutes
les activations de formulaires pendant n jours. Il faut la référence à DAO.

ça va être un peu long, mais tant pis.
tu crées une table cachée nommée "_Surveillance" avec ou sans clé primaire,
avec les champs suivants:
Surveillance_Date
Surveillance_code
Surveillance_Libellé
Surveillance_Utilisation
Surveillance_User

Tu crées un formulaire caché sans contrôles nommé "_Surveillance" avec un
timerinterval de 1000
tu places le code suivant dans ce formulaire et tu vérifies que chaque
événement porté soit bien marqué avec "procédure événementielle"

Option Compare Database
Option Explicit

Dim FormulairePrécédent As String
Dim FormulaireActif As String
Dim Rs As DAO.Recordset

Private Sub Form_Load()
On Error Resume Next
Set Rs = CurrentDb.OpenRecordset("_Surveillance")
Rs.AddNew
Rs.Fields("Surveillance_Date") = Now
Rs.Fields("Surveillance_code") = "Form"
Rs.Fields("Surveillance_Libellé") = Me.Name
Rs.Fields("Surveillance_Utilisation") = "Ouverture"
Rs.Fields("Surveillance_User") = Environ$("username")
Rs.Update
Supprimer
DoCmd.Minimize
End Sub

Private Sub Supprimer()
Rs.MoveFirst
Do Until Rs.EOF
If DateDiff("d", Rs.Fields("Surveillance_Date"), Now) > 30 Then
Rs.Delete
End If
Rs.MoveNext
Loop
Rs.Update
End Sub

Private Sub Form_Timer()
On Error Resume Next
FormulaireActif = Screen.ActiveForm.Name
If Err Then
FormulairePrécédent = ""
Err = 0
Exit Sub
End If
If Screen.ActiveForm.Name = Me.Name Then
FormulairePrécédent = ""
Exit Sub
End If
If (FormulairePrécédent = "") _
Or (Screen.ActiveForm.Name <> FormulairePrécédent) Then
FormulairePrécédent = Screen.ActiveForm.Name
If Screen.ActiveForm.Name > " " Then
Rs.AddNew
Rs.Fields("Surveillance_Date") = Now
Rs.Fields("Surveillance_code") = "Form"
Rs.Fields("Surveillance_Libellé") = Screen.ActiveForm.Name
Rs.Fields("Surveillance_Utilisation") = Screen.ActiveForm.Caption
Rs.Fields("Surveillance_User") = Environ$("username")
Rs.Update
End If
End If
DoCmd.Minimize
End Sub

Private Sub Form_Unload(Cancel As Integer)
On Error Resume Next
Rs.AddNew
Rs.Fields("Surveillance_Date") = Now
Rs.Fields("Surveillance_code") = "Form"
Rs.Fields("Surveillance_Libellé") = Me.Name
Rs.Fields("Surveillance_Utilisation") = "Fermeture"
Rs.Fields("Surveillance_User") = Environ$("username")
Rs.Update
Rs.Close
Set Rs = Nothing
End Sub

--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Fofana" a écrit dans le message de
news:1ddf01c3797e$de62c140$
Bonjour à tous
Je voudrais savoir comment créer un journal qui permetra
de donner l'historique de toutes les connexions à une
base de donnée.
Merci pour votre aide.
Fofana.
Avatar
Raymond
.../...
j'ai simplement oublié de te dire de placer l'ouverture de ce formulaire
dans la macro autoexec et que
Surveillance_Date Date, général
Surveillance_code texte, 5
Surveillance_Libellé texte, 50
Surveillance_Utilisation texte, 100
Surveillance_User texte, 50

--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.