cs_nystul
Messages postés7Date d'inscriptionmercredi 17 août 2005StatutMembreDernière intervention24 juillet 2008
-
23 juil. 2008 à 01:44
cs_nystul
Messages postés7Date d'inscriptionmercredi 17 août 2005StatutMembreDernière intervention24 juillet 2008
-
24 juil. 2008 à 22:54
Bonjour,
Après avoir cherché en vain, je cherche s'il existe un moyen de vider un contrôle maskedbox au format "##/##/####" du type "dd/mm/yyyy. En effet, au moment de le remplir, la donnée précédente subsiste.
D'avance merci.
PCPT
Messages postés13280Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 24 juil. 2008 à 18:09
copie çà dans ta form ou dans un module :
Sub ClearBox(ByRef oMB As MaskEdBox)
oMB.Text = Replace(oMB.Mask, "#", "_")
End Sub
et ensuite tu appelles cette précédure dans l'évènement que tu as besoin, un click par exemple....
çà donne :
Private Sub Command1_Click()
ClearBox MaskEdBox1
End Sub
Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
cs_nystul
Messages postés7Date d'inscriptionmercredi 17 août 2005StatutMembreDernière intervention24 juillet 2008 23 juil. 2008 à 22:47
Pour répondre à Gillardg : il n'y a jamais de questions idiotes, mais là !!! J'ai bien pris la précation de référencer ma question avec un sujet "débutant"
Bref, dès que j'entre la propriété text (elle existe dans le sens où VB me la propose lors de la saisie comme sur la copie d'écran de mortalino) VB buggue avec le message "erreur d'exécution 380 - valeur de propriété non valide"
Je confirme qu'il s'agit bien du contrôle Microsoft Masked Edit Control.
Est-il normal que la propriété text n'apparaisse pas dans la fenêtre propriétés de l'objet maskedbox ?
Par ailleurs, j'ai placé ma routine dans l'évênement "change" du maskedbox. qu'en pensez-vous ?
gillardg
Messages postés3275Date d'inscriptionjeudi 3 avril 2008StatutMembreDernière intervention14 septembre 20142 23 juil. 2008 à 23:03
l'évenement Change d'un textbox, qu'il soit masqué ou non , ext éxécuté chaque fois que le text change !!
alors si tu mets une routine (c'est la routine , poutine) dans cet évenement il est bien entendu que si ta routine change le contenu du texte ça REexecute ta routine !
est ce que c'est l'effet désiré??
Il n'y a que les gens qui ne font rien, qui ne font pas d'erreur
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 23 juil. 2008 à 23:21
Salut,
j'ai vérifié, et il a raison sur l'erreur.
Voici la parade : par exemple, pour une date, en passant par personnalisé (dans les propriétés du contrôle), j'ai mis
##/##/#### Je lance la form, et j'obtiens :
__/__/____
J'ai tenté un :
MaskEdBox1.Text = "__/__/____" Et là je n'ai plus d'erreur.
Nystul, tente comme dans mon exemple avec ton propre format
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 24 juil. 2008 à 00:07
perso je ne trouve pas ça si étonnant. Car un masque est prédéfini (##/##/####) donc ce maskededitbox attendant ce masque, le vbNullString ne correspond pas au masque.
Par contre, je propose aussi une autre soluce (pense pas que ce soit mieux que PCPT, mais quitte à faire de la combine, autant écourter le code) :
MaskEdBox1.Text = Replace(MaskEdBox1.Mask, "#", "_")
PCPT
Messages postés13280Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 24 juil. 2008 à 00:20
un mask pourrait très bien être fait avec une class. donc rien de réellement visuel.
mais tu as raison. quand la zone est "vide" (par défaut) avec le masque rempli, len(.text) renvoie la taille du mask....
ta toute première proposition était la meilleure ;)
(ou la dernière aussi en fait ^^)
Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
cs_nystul
Messages postés7Date d'inscriptionmercredi 17 août 2005StatutMembreDernière intervention24 juillet 2008 24 juil. 2008 à 17:09
Tout d'abord, merci à tous de vos contributions. Mais vu mon niveau vous me perdez dans les détails. Certains diront qu'il n'a qu'à essayer : et pourtant c'est ce que je fais.
A quel endroit dois-je placer vos routines ? quel évênement doit la générer ?
Concrètement ce qu'il me faut c'est un maskedbox qui se vide dès que je veux modifier (ou éventuellement créer) un nouvel enregistrement. Le maskedbox étant lié à un datacontrole.