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.
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. -
-
C'est quand bizarre, je viens de tester ça :
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. -
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 :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.)
++ -
-