VBA access : ne pas enregistrer si champs vides
Résolu
Loic_7447
Messages postés
50
Statut
Membre
-
Loic_7447 Messages postés 50 Statut Membre -
Loic_7447 Messages postés 50 Statut Membre -
Bonjour à tous,
J'ai créé un formulaire permettant d'intégrer un ligne dans un tableau grâce à 4 champs de texte et un bouton final.
J'aimerais en plus ajouter le fait que si une zone de texte est vide, un message d'erreur s'affiche et que l'enregistrement ne se fasse pas.
J'ai réussi à afficher le message d'erreur mais je n'arrive pas bloqué l'enregistrement dans la table.
Voici mon code :
Merci d'avance pour votre aide !
J'ai créé un formulaire permettant d'intégrer un ligne dans un tableau grâce à 4 champs de texte et un bouton final.
J'aimerais en plus ajouter le fait que si une zone de texte est vide, un message d'erreur s'affiche et que l'enregistrement ne se fasse pas.
J'ai réussi à afficher le message d'erreur mais je n'arrive pas bloqué l'enregistrement dans la table.
Voici mon code :
Private Sub btn_ajouter_Click()
Set db = CurrentDb
Set rs = db.OpenRecordset("Stock_atelier")
rs.AddNew
rs!Référence = Me.txt_reference
rs!Fournisseur = Me.txt_fournisseur
rs!Quantité = Me.txt_quantité
rs!Type = Me.txt_outil
If Me.txt_reference = "" Then
MsgBox ("Veuillez renseigner toutes les cases")
ElseIf Me.txt_fournisseur = "" Then
MsgBox ("Veuillez renseigner toutes les cases")
ElseIf Me.txt_quantité = "" Then
MsgBox ("Veuillez renseigner toutes les cases")
ElseIf Me.txt_outil = "" Then
MsgBox ("Veuillez renseigner toutes les cases")
End If
rs.Update
rs.Close
db.Close
MsgBox "Référence ajoutée avec succès "
txt_reference = ""
txt_fournisseur = ""
txt_quantité = ""
txt_outil = ""
Set rs = Nothing
Set db = Nothing
End Sub
Merci d'avance pour votre aide !
A voir également:
- Access si champ vide alors
- Supprimer page word vide - Guide
- Caractere vide - Guide
- Formate pour taxer client frigo vide ✓ - Forum Matériel & Système
- Coeur vide ✓ - Forum Facebook
- Nb si ens non vide ✓ - Forum Excel
1 réponse
yg_be
Messages postés
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 585
bonjour, suggestion:
If Me.txt_reference = "" or Me.txt_fournisseur = "" or Me.txt_quantité = "" _
or Me.txt_outil = "" Then
MsgBox ("Veuillez renseigner toutes les cases")
else
rs.AddNew
rs!Référence = Me.txt_reference
rs!Fournisseur = Me.txt_fournisseur
rs!Quantité = Me.txt_quantité
rs!Type = Me.txt_outil
rs.Update
End If
C'est comme si la partie du If au dessus du else n'était pas prise en compte et l'enregistrement se fait malgré tout ...
montre ton code.
je suggère d'ajouter en début de module.
es-tu certain qu'une des 4 zones du formulaire est égale à ? tu peux aussi vérifier cela dans la table.
Tout fonctionne correctement maintenant merci beaucoup pour l'aide !