2009-07-12 8 views
0

Il y a un problème dans la boîte de texte VBA tout en remplissant la propriété de masque d'entrée:Problème de masque de saisie dans la zone de texte VBA?

Je suis en train de faire la combinaison de la date et l'heure:

D'où je l'ai mis comme ci-dessous:

00/00/00;0;_00:00;0;_ 

Mais en cours d'exécution de l'application, je reçois seulement 00/00/00 (Date).

Mais je me souviens, j'ai obtenu le résultat comme 00/00/00 00.00 comme prévu quand j'ai d'abord mis l'expression comme ci-dessus;

mais maintenant je ne reçois pas ce :-(

Répondre

1

Le InputMask propriété peut contenir jusqu'à trois sections séparées par des points-virgules (;)

devrait être comme votre masque ceci:

"00/00/00 00:00;0;0" 

ou

"00/00/00 00:00;0;_" // to display it like __/__/__ __:__ 
+0

Merci une tonne !!! –

+0

merci Jaison. Salutations :) –

+0

Salut là-bas? Dans ce qui précède; Je reçois le format 00/00/00 Je le veux en format de soulignement _ _/_ _/_ _. Un espoir? –

0

Pourquoi pas seulement utiliser le format "General Date" intégré? J'ai découvert au fil des ans que les masques d'entrée sont très restrictifs et fondamentalement une douleur. Bien que cela fait si longtemps que je les ai utilisés, je ne me souviens pas des raisons pour lesquelles je les méprise.

Ceci a également l'avantage de respecter les choix des utilisateurs du format de date régional. Par exemple, j'utilise toujours le format aaaa-mm-jj.

Un client se trouvait également dans une situation où le format de date avait été défini sur Date moyenne dans tous les champs. Lequel est dd-mmm-yy. Il s'est avéré plus tard que dans une table de 100K enregistrements il y avait douze dates avant 1900. Ils avaient simplement quelque chose de supplémentaire dans l'année, donc Windows/Access a interprété ces dates comme étant au 3ème ou 5ème siècle ou quoi que ce soit. Maintenant, ces dates n'étaient pas utilisées dans les calculs, ce n'était donc pas une grosse affaire. SQL Server migrant vers de petits champs de date/heure n'a pas apprécié ceux-ci.

+0

J'utiliserais l'argument de migration SQL comme justification de l'utilisation de masques de date. J'ai rencontré exactement le même problème lors de la migration d'une application il y a quelques années qui contenait des données antérieures à l'ajout de masques de date qui nécessitaient des années à quatre chiffres - certains enregistrements datant de la fin de l'Empire romain. Un masque de date aurait interdit que les données soient saisies. Je ne connais aucun moyen plus facile de le faire. Pourquoi écrire du code pour BeforeUpdate qui doit analyser l'entrée quand le masque de saisie le fera pour vous (et afficher le format du modèle, pour démarrer)? –

+0

Je préfèrerais que tout le monde utilise une année à quatre chiffres sur leurs formats de date et en finir avec tout le problème. –

+0

"Un masque de date interdirait l'entrée de données" - si vous ne considérez pas cela comme une contrainte d'intégrité des données (règle de validation ou contrainte CHECK pour la plage de dates, FOREIGN KEY de votre table Calendar, etc.) alors vous pouvez être un peu naïf. – onedaywhen

Questions connexes