20 sept. 2019

#04 : VBA Access G.Stock - Editer Un Produit

Objectif : Créer un formulaire qui permet d'éditer un Produit
Sur le formulaire "F_ListProduit", Lorsque on va cliquer sur le bouton Editer "btnEditerProduit" qui correspond à chaque produit, une fenêtre "F_EditerProduit" sera affichée, chargée bien sûr avec des informations du produit sélectionné.

Le code événement clic sur le bouton btnEditerProduit
Private Sub BtnEditerProduit_Click()
DoCmd.OpenForm "F_EditerProduit"
Form_F_EditerProduit.txtIdProduit = Me.idProduit
Form_F_EditerProduit.txtCodeProduit = Me.CodeProduit
Form_F_EditerProduit.txtDesign = Me.Designation
Form_F_EditerProduit.txtIdUnite = Me.idUnite
Form_F_EditerProduit.txtidCateg = Me.IdCategorie
Form_F_EditerProduit.txtQte = Me.QteStock
Form_F_EditerProduit.txtQteMin = Me.QteMin
Form_F_EditerProduit.txtPrixUnitaire = Me.PrixUnitaire
End Sub


Le code événement clic sur le bouton btnModifierProduit
Private Sub btnModifierProduit_Click()
Dim rs As Recordset
Set rs = CurrentDb.OpenRecordset("SELECT * FROM Produits WHERE idProduit=" & Me.txtIdProduit, dbOpenDynaset)
If (Me.txtDesign <> "" And Me.txtidCateg <> "" And Me.txtIdUnite <> "" And Me.txtQte <> "" And Me.txtPrixUnitaire <> "") Then
rs.Edit
rs("Designation") = Me.txtDesign
rs("idUnite") = Me.txtIdUnite
rs("idCategorie") = Me.txtidCateg
rs("QteStock") = Me.txtQte
rs("QteMin") = Me.txtQteMin
rs("PrixUnitaire") = Me.txtPrixUnitaire
rs.Update
rs.Close
Set rs = Nothing
DoCmd.Close acForm, Me.Name
DoCmd.Requery
Else
MsgBox "Essayer SVP de remplir tous les champs ", vbCritical, "Editer Produit"
End If
End Sub

Le code événement BeforeUpdate de la zone de texte txtPrixUnitaire
Private Sub txtPrixUnitaire_BeforeUpdate(Cancel As Integer)
If Not IsNull(Me.txtPrixUnitaire) And Not IsNumeric(Me.txtPrixUnitaire) Then
Me.txtPrixUnitaire.SelStart = 0
Me.txtPrixUnitaire.SelLength = Len(txtPrixUnitaire.Value)
Cancel = True
End If
End Sub

Le code événement BeforeUpdate de la zone de texte txtQte
Private Sub txtQte_BeforeUpdate(Cancel As Integer)
If Not IsNull(Me.txtQte) And Not IsNumeric(Me.txtQte) Then
Me.txtQte.SelStart = 0
Me.txtQte.SelLength = Len(txtQte.Value)
Cancel = True
End If
End Sub

Le code événement clic sur le bouton txtQteMin
Private Sub txtQteMin_BeforeUpdate(Cancel As Integer)
If Not IsNull(Me.txtQte) And Not IsNumeric(Me.txtQteMin) Then
Me.txtQteMin.SelStart = 0
Me.txtQteMin.SelLength = Len(txtQteMin.Value)
Cancel = True
End If
End Sub

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



🔗 Télécharger le Code Source   : Projet G.Stock V1.2



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


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

Aucun commentaire:

Enregistrer un commentaire