Le code permet de garder une trace dans une table Mouchard des personne ayant ouvert et fermer un formaulaire.
Ce code à été réaliser avec des sources présentes ici et l'aide en ligne, et oui je débute mais ca marche très bien.
Source / Exemple :
Option Compare Database
Option Explicit
Private Declare Function apiGetUserName Lib "advapi32.dll" Alias _
"GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
'----------------------------------------------------------
Function fOSUserName() As String
' Retourne le nom d'usager fourni lors du branchement au réseau.
Dim lngLen As Long, lngX As Long
Dim strUserName As String
strUserName = String$(254, 0)
lngLen = 255
lngX = apiGetUserName(strUserName, lngLen)
If lngX <> 0 Then
fOSUserName = Left$(strUserName, lngLen - 1)
Else
fOSUserName = ""
End If
End Function
'-------------------------------------------------------------------------
Sub AddEntree()
Dim dbs As Database
Dim rstEmployees As Recordset
Dim strFirstName As String
Dim strDate As String
Dim strHeure As String
Dim strType As String
Set dbs = CurrentDb
Set rstEmployees = _
dbs.OpenRecordset("Mouchard", dbOpenDynaset)
' Obtient des données de l'utilisateur.
strFirstName = fOSUserName
strDate = Date
strHeure = Time
strType = "ENTREE"
If strFirstName <> "" And strDate <> "" Then
' Appelle la fonction qui ajoute
'l'enregistrement.
AddName rstEmployees, strFirstName, strDate, strHeure, strType
' Affiche les nouvelles données ajoutées.
Else
Debug.Print _
"Vous devez entrer une chaîne comme prénom et nom !"
End If
rstEmployees.Close
dbs.Close
End Sub
'-------------------------------------------------------------------------
Sub AddSortie()
Dim dbs As Database
Dim rstEmployees As Recordset
Dim strFirstName As String
Dim strDate As String
Dim strHeure As String
Dim strType As String
Set dbs = CurrentDb
Set rstEmployees = _
dbs.OpenRecordset("Mouchard", dbOpenDynaset)
' Obtient des données de l'utilisateur.
strFirstName = fOSUserName
strDate = Date
strHeure = Time
strType = "SORTIE"
If strFirstName <> "" And strDate <> "" Then
'Appelle la fonction qui ajoute l'enregistrement.
AddName rstEmployees, strFirstName, strDate, strHeure, strType
Else
Debug.Print _
"Vous devez entrer une chaîne comme prénom et nom !"
End If
rstEmployees.Close
dbs.Close
End Sub
'--------------------------------------------------------------------
Function AddName(rstTemp As Recordset, _
strFirst As String, strLast, strHeure, strType As String)
' Ajoute un nouvel enregistrement dans un objet
' Recordset avec les données passées par
' la procédure appelante. Le nouvel enregistrement
' devient l'enregistrement en cours.
With rstTemp
.AddNew
!Nom = strFirst
!Date = strLast
!Heure = strHeure
!Type = strType
.Update
.Bookmark = .LastModified
End With
End Function
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.