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
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
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
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
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
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
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>
***********************
***********************
Aucun commentaire:
Enregistrer un commentaire