Access: désactiver bouton si chps non remplis
Résolu
ELucas
-
ELucas -
ELucas -
Bonjour!
J'ai un souci sous access 2003: j'ai un formulaire avec deux champs texte à remplir et plusieurs boutons lancant des macros.
Je désire rendre inactifs les boutons tant que les champs ne sont pas remplis.
Je ne connais nullement Visual Basic, et j'ai cherché longuement mais en vain la slution sur internet.
Merci par avance de votre aide!!!
Lucas.
J'ai un souci sous access 2003: j'ai un formulaire avec deux champs texte à remplir et plusieurs boutons lancant des macros.
Je désire rendre inactifs les boutons tant que les champs ne sont pas remplis.
Je ne connais nullement Visual Basic, et j'ai cherché longuement mais en vain la slution sur internet.
Merci par avance de votre aide!!!
Lucas.
A voir également:
- Access: désactiver bouton si chps non remplis
- Acer quick access - Forum Logiciels
- Access appdata - Guide
- Exemple base de données access à télécharger gratuit - Forum Access
- Exemple base de données Access de gestion ✓ - Forum Logiciels
- Quick acces ✓ - Forum Windows
10 réponses
Je rajoute un petit truc:
si possible, peut-on envoyer un message indiquant qu'il faut remplir préalablement les champs textes à l'utilisateur lorsqu'il clique sur les boutons sans avoir remplis la condition précitée?
si possible, peut-on envoyer un message indiquant qu'il faut remplir préalablement les champs textes à l'utilisateur lorsqu'il clique sur les boutons sans avoir remplis la condition précitée?
Bonjour,
Vous pouvez passer par une procédure événementielle [Sur ouverture] du formulaire ou vous indiquez votre message (Msgbox) et ensuite il est aussi possible de rendre invisible vos boutons de commande des macros.
Exemple:
Salutations.
Le Pingou
Vous pouvez passer par une procédure événementielle [Sur ouverture] du formulaire ou vous indiquez votre message (Msgbox) et ensuite il est aussi possible de rendre invisible vos boutons de commande des macros.
Exemple:
Private Sub Form_Open(Cancel As Integer) MsgBox ("Merci de remplir préalablement les champs textes.") Me.Nom du bouton.Visible = False ....... End Sub
Salutations.
Le Pingou
Bonjour,
Tu peux en VBA sur l'evenement click du bouton mettre une condition en début de fonction, indiquant que si le champ spécifié est vide, alors tu affiche un message d'erreur, et tu quittes la fonction directement avec un exit sub.
Tu peux en VBA sur l'evenement click du bouton mettre une condition en début de fonction, indiquant que si le champ spécifié est vide, alors tu affiche un message d'erreur, et tu quittes la fonction directement avec un exit sub.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Et bien merci mais sans vouloir paraître ingrat, cela ne m'aide pas beaucoup :-s
Je ne vos toujours pas comment rendre les boutons invisibles (ou inactifs plutôt) tant que mes champs texte ne sont pas remplis. Je ne souhaite pas voir apparaître de message dès l'ouverture du formulaire, mais seulement si l'utilisateur tente d elancer une macro sans avoir rempli les champs.
En gros: Si les champs ne sont pas remplis, refuser l'activation des boutons et afficher un message indiquant qu'il faut remplir les champs textes.
Je ne vos toujours pas comment rendre les boutons invisibles (ou inactifs plutôt) tant que mes champs texte ne sont pas remplis. Je ne souhaite pas voir apparaître de message dès l'ouverture du formulaire, mais seulement si l'utilisateur tente d elancer une macro sans avoir rempli les champs.
En gros: Si les champs ne sont pas remplis, refuser l'activation des boutons et afficher un message indiquant qu'il faut remplir les champs textes.
Et bien par exemple, si tu veux vérifier que l'utilisateur a rempli le champ appelé "Différence", tu rentre ceci dans ton code évenement:
Ainsi grâce au Exit sub ton bouton n'aura aucun effet, et si le champ est bien rempli le code continuera(on n'entre pas dans le if) tu peux placer le code de ton bouton en dessous.
If IsNull(Me.Différence.Value) Then MsgBox "Veuillez remplir le champ Différence" Exit Sub End If
Ainsi grâce au Exit sub ton bouton n'aura aucun effet, et si le champ est bien rempli le code continuera(on n'entre pas dans le if) tu peux placer le code de ton bouton en dessous.
Ah oui et pour vérifier si l'utilisateur n'a pas écrit du texte pour ensuite l'effacer, tu peux rajouter ça dans ton if :
Car si l'utilisateur écrit du texte puis l'efface, la veur ne sera plus égale à NULL, mais à une chaine vide: "". Voila !
If IsNull(Me.Différence.Value) or Me.Différence.Value = "" Then MsgBox "Veuillez remplir le champ Différence" Exit Sub End If
Car si l'utilisateur écrit du texte puis l'efface, la veur ne sera plus égale à NULL, mais à une chaine vide: "". Voila !
Ok merci!! Je vais voir si je l'utilise, parce que pour ce cas j'avais déja une solution qui consiste à mettre "Est pas null" dans la partie Valide si de l'onglet Données des propriétés de mes champs texte, et avec un message d'erreur disant qu'il faut le remplir.
Le problème était que ça ne marchait que si la personne avait déja tapé quelque chose dedans!!!
Grâce à ton aide les deux se complètent, merci!
Le problème était que ça ne marchait que si la personne avait déja tapé quelque chose dedans!!!
Grâce à ton aide les deux se complètent, merci!