Tester si un MaskEdit est vide.... [Résolu]

Messages postés
110
Date d'inscription
mardi 27 mars 2007
Statut
Membre
Dernière intervention
9 septembre 2008
- - Dernière réponse : J_il
Messages postés
110
Date d'inscription
mardi 27 mars 2007
Statut
Membre
Dernière intervention
9 septembre 2008
- 6 mai 2007 à 19:45
Bonjour à tous, voici mon petit problème autour duquel je patauge depuis quelques heures !

Au fait je travaille sur un projet en VB6 où l'on inscrit des personnes dans une BDD.

Dans ce feuille d'inscription j'utilise des MaskEdit par exemple pour lnuméro de registre national qui dans ma BDD est obligatoire et unique.. donc je voudrais tester s'il est rempli ou pas !

Pour cela j'ai tourné un peu avec la fonction IsNull mais ça n'a pas donné grand chose, je n'utilise surement pas les bonnes commandes !

Y-a-t'il une personne bien aimable qui puisse m'aider merci beaucoup d'avance

CODE ACTUEL :

'Début du test du MaskEdit du Numéro de registre national
If maskedit_inscription(0).Text = "" Then

    MsgBox "Veuillez indiquer le Numéro de registre national s'il vous plaît !", , "Remplir le Numéro de registre national."
    maskedit_inscription(0).SetFocus
    Exit Sub

End If

'Fin du test

J-il
Afficher la suite 

Votre réponse

20/45 réponses

Meilleure réponse
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
18
3
Merci
Bonjour à tous,

Je ne suis que de passage dans cette discussion.

A la lecture de quelques passages, il me semble que vous n'avez pas vu la propriété Text et la propriété ClipText

La propriété ClipText se moque éperdument du masque. Elle est vide si le contrôle est vide ...et non vide si le contrôle est saisi

donc :

If MaskEdBox1.ClipText = ""

est la bonne expression.

Pour info :

Returns the text in the Masked Edit control, excluding literal characters of the input mask. This property is not available at design time and is read-only at run time.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 153 internautes nous ont dit merci ce mois-ci

Commenter la réponse de jmfmarques
Messages postés
6812
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
15
0
Merci
Salut,

si tu y places un Masque, la propriété Text du MaskedEditBox te sors ce masque.
Essaie donc comme ceci :

If maskedit_inscription(0).Text = "" Or maskedit_inscription(0).Text = maskedit_inscription(0).Mask Then

   

@++

<hr width="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, ~Provençal, le Gaulois~
  
Commenter la réponse de mortalino
Messages postés
110
Date d'inscription
mardi 27 mars 2007
Statut
Membre
Dernière intervention
9 septembre 2008
0
Merci
Salut Mortalino,

Je viens d'essayer ton code mais ça ne fonctione toujours pas, mieux encore il ne passe même pas dedans !

Pfff fichu MaskEdit

Merci tout de même J-il
Commenter la réponse de J_il
Messages postés
1884
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
0
Merci
Salut,
IsNull ne fonctionnera pas car MaskEdit n' est jamais Null même s' il est vide
C' est Plutôt IsEmpty() qu' il faut utiliser .
If maskedit_inscription(0).Text = "" Then me semble correct.
Pourquoi vouloir le changer..?
Est-ce que ça marche pas ?

T' as un Format spécifique pour le MaskEdit ?




 
Commenter la réponse de chaibat05
Messages postés
6812
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
15
0
Merci
J'ai testé comme ceci et ça fonctionne pourtant :

Private Sub Command1_Click()
If MaskEdBox1.Text = "" Or MaskEdBox1.Text = MaskEdBox1.Mask Then
    MsgBox "vide"
End If

End Sub

Private Sub Form_Load()
    MaskEdBox1.Mask = "___ - ___"
End Sub

@++

<hr width="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, ~Provençal, le Gaulois~
  
Commenter la réponse de mortalino
Messages postés
1884
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
0
Merci
Salut mortalino..
coiffé au poteau !
Commenter la réponse de chaibat05
Messages postés
110
Date d'inscription
mardi 27 mars 2007
Statut
Membre
Dernière intervention
9 septembre 2008
0
Merci
Merci à toi chaibat05 comme toujours...
Je pense grâce à une de tes questions avoir trouvé la réponse !

Je ne défini nul part mon format...

Enfin si dans la propriété Mask j'ai ######-#####

Je pense que je dois donc faire comme Mortalino l'indique dans mon form_load faire ceci

maskedit_inscription.mask = "######-#####"

??????

Merci à tous les deux si cela fonctionne...

J-il
Commenter la réponse de J_il
Messages postés
110
Date d'inscription
mardi 27 mars 2007
Statut
Membre
Dernière intervention
9 septembre 2008
0
Merci
rien ne fonctionne je ne comprend pas se problème mdr

Je vais en devenir dingue
Commenter la réponse de J_il
Messages postés
1884
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
0
Merci
Bon...!
Allons y par étape:
Ton MaskEdit est-il lié à un recordset ?
Dans quel événement as tu placé le test ?
Commenter la réponse de chaibat05
Messages postés
110
Date d'inscription
mardi 27 mars 2007
Statut
Membre
Dernière intervention
9 septembre 2008
0
Merci
Non il n'est pas lié à un RecordSet et mon teste je le fait dans un bouton lors de la validation de l'enregistrement de la personne...
Commenter la réponse de J_il
Messages postés
6812
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
15
0
Merci
Salut Chaibat05

En fait, si tu pouvais nous lister TOUTES les modifications que tu as apporté au MaskedEditBox, comme ça cela nous permettra de reproduire comme toi tu le fais !

@++

<hr width="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, ~Provençal, le Gaulois~
  
Commenter la réponse de mortalino
Messages postés
110
Date d'inscription
mardi 27 mars 2007
Statut
Membre
Dernière intervention
9 septembre 2008
0
Merci
Et bien c'est un maskedit indexé, dans la propriété mask j'ai ######-##### et voila c'est tout ce que j'ai fait comme modification dessus
Commenter la réponse de J_il
Messages postés
1884
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
0
Merci
Alors tu déplaces le test vers MaskEdit_Validate()
Commenter la réponse de chaibat05
Messages postés
110
Date d'inscription
mardi 27 mars 2007
Statut
Membre
Dernière intervention
9 septembre 2008
0
Merci
Et vers le LostFocus ça va pas ?
Commenter la réponse de J_il
Messages postés
1884
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
0
Merci
discutes pas et fais ce qu' on te dit
Commenter la réponse de chaibat05
Messages postés
110
Date d'inscription
mardi 27 mars 2007
Statut
Membre
Dernière intervention
9 septembre 2008
0
Merci
OK ok je fais je fais 

Ca ne fonctionne pas non plus mdr

Je fais surement une mauvaise manipulation !

code mis dans la validate

'Début du test du MaskEdit du Numéro de registre national
If maskedit_inscription(0).Text = "" Then

    MsgBox "Veuillez indiquer le Numéro de registre national s'il vous plaît !", , "Remplir le Numéro de registre national."
    maskedit_inscription(0).SetFocus
    Exit Sub

End If
'Fin du test
Commenter la réponse de J_il
Messages postés
6812
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
15
0
Merci
Je t'ai dit avec le Msk aussi dans la vérification :
If maskedit_inscription(0).Text "" OR maskedit_inscription(0).Text maskedit_inscription(0).Mask Then

@++

<hr width ="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, ~Provençal, le Gaulois~
  
Commenter la réponse de mortalino
Messages postés
110
Date d'inscription
mardi 27 mars 2007
Statut
Membre
Dernière intervention
9 septembre 2008
0
Merci
Voila j'ai essayé ce code-ci dans le Validate et dans le LostFocus et dans le bouton ou je valide mon enregistrement :

'Début du test du MaskEdit du Numéro de registre nationalIf maskedit_inscription(0).Text "" Or maskedit_inscription(0).Text maskedit_inscription(0).Mask Then

    MsgBox "Veuillez indiquer le Numéro de registre national s'il vous plaît !", , "Remplir le Numéro de registre national."
    maskedit_inscription(0).SetFocus
    Exit Sub

End If
'Fin du test

Aucun résultat....
Commenter la réponse de J_il
Messages postés
1884
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
0
Merci
Si ton MaskEdit est indexé t' as surement ceci :


Sub MasEdit_Validate(Index As integer,Cancel As Integer)
tu testes alors sur l' index
If Index=0 Then
If maskedit_inscription(Index).Text = "" Then
  
    MsgBox "Veuillez indiquer le Numéro de registre national s'il vous plaît !", , "Remplir le Numéro de registre national."
    maskedit_inscription(Index).SetFocus
    cancel=True
   Exit Sub


End If
End If
'Fin du test
 
Commenter la réponse de chaibat05
Messages postés
110
Date d'inscription
mardi 27 mars 2007
Statut
Membre
Dernière intervention
9 septembre 2008
0
Merci
Oui j'ai bien cela lorsque je vais dans cette événement je viens de mettre ton code dedans et ça ne fonctionne pas...

je suis vraiement désolé les gars mais bon !!!!

J'en peux rien
Commenter la réponse de J_il