30 sept. 2019

#34 : VBA Access G.Stock - Gestion Utilisateurs (Editer utilisateur)

Objectif : Créer un formulaire éditer utilisateur 

Dans Cette partie on va ajouter le formulaire "F_EditerUser" comme indiqué ci-dessus, pour modifier les informations concernant un utilisateur. donc lorsque je vais cliquer sur le bouton Editer "BtnEditerUser" du formulaire "F_ListUsers".

automatiquement le formulaire "F_EditerUser" sera lancé et affiche les données de l’utilisateur sur lequel je clique, donc sur l'événement clic du bouton "BtnEditerUser" , je vais exécuter ce code VBA.

Code VBA pour bouton BtnEditerUser
Private Sub BtnEditerUser_Click()
DoCmd.OpenForm "F_EditerUser"
Form_F_EditerUser.txtIdUSer = Me.idUser
Form_F_EditerUser.txtNomUser = Me.NomUser
Form_F_EditerUser.txtlogin = Me.login
Form_F_EditerUser.txtPasse = Me.passe
Form_F_EditerUser.txtIdRole = Me.idRole
Form_F_EditerUser.txtEmail = Me.Email
Form_F_EditerUser.txtTel = Me.Tel
Form_F_EditerUser.txtPhoto.Picture = Me.Photo
End Sub
Ensuite je vais déplacer le code concernant la fonction getExtFile et la fonction CopierFichier  dans un module "Exp : Module02" , comme ça ces fonctions seront partagées et accessibles à n'importe qu'il emplacement de notre projet .

Code VBA de la fonction getExtFile
Public Function getExtFile(path As String) As String
Dim posPoint As Integer
posPoint = InStrRev(path, ".")
Dim ext As String
ext = Right(path, Len(path) - posPoint)
getExtFile = ext
End Function

Code VBA de la fonction CopierFichier
Public Sub CopierFichier(source As String, destination As String)
Dim fso As Scripting.FileSystemObject
Set fso = New Scripting.FileSystemObject
fso.CopyFile source, destination
Set fso = Nothing
End Sub

et voila par la suite le code qu'on va mettre sur le formulaire "F_EditerUser
Evénement Clic du bouton  btnChargerPhoto
Private Sub btnChargerPhoto_Click()
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
With fd
.Title = "Sélectioner la photo pour cet utilsateur "
.InitialFileName = CurrentProject.path
If .Show <> 0 Then
txtPhoto.Picture = .SelectedItems(1)
Me.txtAdrPhotoSource = .SelectedItems(1)
End If
End With
End Sub

Evénement Exit du zone de texte txtPasseConfirmation
Private Sub txtPasseConfirmation_Exit(Cancel As Integer)
If (Me.txtPasse <> Me.txtPasseConfirmation) Then
Me.txtPasseConfirmation.SetFocus
Me.txtPasseConfirmation.SelStart = 0
Me.txtPasseConfirmation.SelLength = Len(Me.txtPasseConfirmation)
Cancel = True
End If
End Sub

Evénement Clic sur le bouton btnModifierUser
Private Sub btnModifierUser_Click()
Dim db As Database
Dim rs As Recordset
Dim idUser As Integer
Dim urlPotos As String
urlPotos = CurrentProject.path & "\G.Stock\PhotosUsers\"
Dim FichierDestination As String
If (Me.txtNomUser <> "" And Me.txtPhoto.Picture <> "" And Me.txtlogin <> "" And Me.txtPasse <> "" And Me.txtIdRole <> "") Then
Set db = CurrentDb
Set rs = db.OpenRecordset("SELECT * FROM Users WHERE idUser=" & Int(Me.txtIdUSer), dbOpenDynaset)
rs.Edit
rs("NomUser") = Me.txtNomUser
rs("login") = Me.txtlogin
rs("passe") = Crypter(Me.txtPasse)
rs("Email") = Me.txtEmail
rs("Tel") = Me.txtTel
rs("idRole") = Me.txtIdRole
FichierDestination = urlPotos & Int(Me.txtIdUSer) & "." & getExtFile(Me.txtAdrPhotoSource)
rs("Photo") = FichierDestination
rs.Update
CopierFichier Me.txtAdrPhotoSource, FichierDestination
rs.Close
Set rs = Nothing
db.Close
Set db = Nothing
MsgBox "Utilisateur bien Modifie", vbInformation, "GStock"
DoCmd.Close acForm, "F_EditerUser"
DoCmd.Requery
Else
MsgBox "Attention vous devez compléter les informations de cet utilisateurs ", vbCritical, "GStock"
End If
End Sub

Pour Regarder/Parteger Cette vidéo

Pour l'intégrer sur votre site internet ou blog, vous pouvez utiliser le code suivant
<iframe allowfullscreen="" frameborder="0" height="270" src="https://www.youtube.com/embed/0umm2LybCtY" width="480"></iframe>

 👉 Pour plus de détail, Regarder la Vidéo de ce Cours 


🔗 Télécharger le Code Source  Projet G.Stock V P34




***********************


***********************

Aucun commentaire:

Enregistrer un commentaire