Pb en vba : traitement chaîne vide = Null
Résolu
Jenni
-
Jenni -
Jenni -
J'ai créé un formulaire de recherche par mot clef sous access avec un text box nommé "mot_clef" et un bouton qui me permet d'ouvrir un autre formulaire.
Je souhaite obliger l'utilisateur à renseigner le text box.
J'ai donc fait un contrôle dans mon bouton qui est le suivant :
Private Sub Commande7_Click()
If mot_clef = Null Then
MsgBox ("Veuillez préciser ...")
Else
'Ouverture du formulaire
...
End If
End Sub
Lorsque que mon champ est vide, il reconnait que mot_mot=Null et que Null=Null, mais le problème, c'est que malgrès ça, il passe directement au sinon.
J'aimerai avoir une soution. Merci.
Je souhaite obliger l'utilisateur à renseigner le text box.
J'ai donc fait un contrôle dans mon bouton qui est le suivant :
Private Sub Commande7_Click()
If mot_clef = Null Then
MsgBox ("Veuillez préciser ...")
Else
'Ouverture du formulaire
...
End If
End Sub
Lorsque que mon champ est vide, il reconnait que mot_mot=Null et que Null=Null, mais le problème, c'est que malgrès ça, il passe directement au sinon.
J'aimerai avoir une soution. Merci.
A voir également:
- Vba différent de vide
- Supprimer page word vide - Guide
- Caractere vide - Guide
- Excel différent de vide ✓ - Forum Excel
- &Quot;NB.SI" cellules non vides ✓ - Forum Excel
- Coeur vide ✓ - Forum Réseaux sociaux
7 réponses
Moi, ça ne marché pas, peut être que je l'ai mal utilisé.
Du coup, j'ai trouvé une autre fonction IsNull() et ça fonctionne, donc c'est cool.
Merci.
Jenni.
Du coup, j'ai trouvé une autre fonction IsNull() et ça fonctionne, donc c'est cool.
Merci.
Jenni.
C'est quand bizarre, je viens de tester ça :
et ça marche nickel !!!
sinon j'ai pas bien compris ton dernier post, car si tu l'initialises à Null, après tu fais un MyVar = TextBox1.Value, tu la testes et pis vala. nan ?
Private Sub CommandButton1_Click() my = TextBox1.Value If my = "" Then MsgBox "vide" Else MsgBox "pleine" End If End Sub
et ça marche nickel !!!
sinon j'ai pas bien compris ton dernier post, car si tu l'initialises à Null, après tu fais un MyVar = TextBox1.Value, tu la testes et pis vala. nan ?
Ceci fonctionne que si la chaine est vide
MyVar = Null ' Affectation de Null.
MyCheck = IsEmpty(MyVar) ' Renvoie False.
MyVar = Empty ' Affectation de Empty.
MyCheck = IsEmpty(MyVar) ' Renvoie True.
si la chaîne est pleine, il faut lui affecter "empty"
et on retombe sur le même problème.
MyVar = Null ' Affectation de Null.
MyCheck = IsEmpty(MyVar) ' Renvoie False.
MyVar = Empty ' Affectation de Empty.
MyCheck = IsEmpty(MyVar) ' Renvoie True.
si la chaîne est pleine, il faut lui affecter "empty"
et on retombe sur le même problème.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
salut =)
il faut peut-être initialisée ta variable à Null avant de mettre le contenu de ton text box dedans.
Ou bien réaliser ton test en faisant :
Comme ça il teste plutot si la chaine est vide. car une chaine vide est différente de la valeur Null (en C en tout cas, en VB je ne sais pas.)
++
il faut peut-être initialisée ta variable à Null avant de mettre le contenu de ton text box dedans.
Ou bien réaliser ton test en faisant :
if (mot_clef=="") Then
Comme ça il teste plutot si la chaine est vide. car une chaine vide est différente de la valeur Null (en C en tout cas, en VB je ne sais pas.)
++