20 sept. 2019

#03 : VBA Access G.Stock - Ajouter Un Produit

Objectif : Créer un formulaire qui permet d'ajouter Un Produit 

On Commence à créer le formulaire qui nous permet d'ajouter un produit dans la tables des produits , ce formulaire est nommé "F_AjouterProduit" avec les champs nécessaires décrivent un produit , respectant bien sûr les noms des champs comme indiqué ci-dessus.
Sur ce formulaire on va contrôler la saisie des différentes champs avant de les enregistrés dans notre base de données : les champs obligatoires et le type de donnée saisi dans chaque champs.
Par exemple les champs txtDesign, txtidCateg, txtIdUnite , txtPrixUnitaire et le champs txtQte sont obligatoires et ses valeurs sont requises, de plus on va tester est ce les champs txtPrixUnitaire , txtQte et txtQteMin sont numériques ou non en utilisant l'événement beforeUpdate

L'événement BeforeUpdate du champs txtPrixUnitaire 
Private Sub txtPrixUnitaire_BeforeUpdate(Cancel As Integer)
If Not IsNumeric(Me.txtPrixUnitaire) Then
Me.txtPrixUnitaire.SelStart = 0
Me.txtPrixUnitaire.SelLength = Len(txtPrixUnitaire.Value)
Cancel = True
End If
End Sub

L'événement BeforeUpdate du champs txtQte
Private Sub txtQte_BeforeUpdate(Cancel As Integer)
If Not IsNumeric(Me.txtQte) Then
Me.txtQte.SelStart = 0
Me.txtQte.SelLength = Len(txtQte.Value)
Cancel = True
End If
End Sub

L'événement BeforeUpdate du champs txtQteMin
Private Sub txtQteMin_BeforeUpdate(Cancel As Integer)
If Not IsNumeric(Me.txtQteMin) Then
Me.txtQteMin.SelStart = 0
Me.txtQteMin.SelLength = Len(txtQteMin.Value)
Cancel = True
End If
End Sub

L'événement en clic sur le bouton btnAjouterProduit
Private Sub btnAjouterProduit_Click()
Dim rs As Recordset
Set rs = CurrentDb.OpenRecordset("Produits", dbOpenTable)
If (Me.txtDesign <> "" And Me.txtidCateg <> "" And Me.txtIdUnite <> "" And Me.txtPrixUnitaire <> "" And Me.txtQte <> "") Then
rs.AddNew
rs("Designation") = Me.txtDesign
rs("QteStock") = Me.txtQte
rs("QteMin") = Me.txtQteMin
rs("PrixUnitaire") = Me.txtPrixUnitaire
rs("idUnite") = Me.txtIdUnite
rs("idCategorie") = Me.txtidCateg
rs.Update ' valider l'ajout dans la table produit
rs.Close
Set rs = Nothing
DoCmd.Close acForm, Me.Name
DoCmd.Requery
Else
MsgBox "Essayer svp de compléter toutes les informations", vbCritical, "G.Stock"
End If
End Sub

L’événement BeforeUpdate se produit avant que les données modifiées d’un contrôle ou d’un enregistrement soient mises à jour.
La Focntion IsNumeric  Renvoie une valeur de type Boolean qui indique si une expression peut être évaluée en tant que nombre.
👉 Pour plus de détail, Regarder la Vidéo de ce Cours


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



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


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

Aucun commentaire:

Enregistrer un commentaire