Sommaire
- La propriété de champ "Masque de saisie" : Comparaison avec la propriété "Valide Si"
- La propriété de champ "Masque de saisie" : Utilisation de l'assistant
- La propriété de champ "Masque de saisie" : analyse des sections du masque
- La propriété de champ "Masque de saisie" : Cas déconseillés
La propriété de champ "Masque de saisie" : Comparaison avec la propriété "Valide Si"
Admettons que ma table de clients soit plutôt une table de salariés. J'ai besoin de placer le N° A.V.S* de chaque salarié. Comment puis-je éviter toute erreur de saisie ? Avec la propriété Valide Si ? Mais ça me parait bien compliqué !
* Le N° AVS est comme le numéro de sécurité sociale en France. C'est un numéro composé comme suit : 382.59.276.311 (par exemple). C'est un numéro qui nous suit toute notre vie pour pouvoir toucher notre "Assurance Vieillesse", ou AI : assurance Invalidité
Effectivement. la propriété "Valide Si" permet seulement de restreindre des valeurs. Mais ici, ce ne sont pas des valeurs que vous voulez restreindre, mais une structure :
3 chiffres .2 chiffres .3 chiffres .3 chiffres
ces groupes de chiffres étant séparés par des points. 398.34.909.112 est correct, mais pas 345.222.12.09 (Les groupes de chiffres ne sont pas respectés) ni A67.VV.223.8H7(Il y a des lettres qui n'ont rien à faire là) ni 345.32.212 (Il manque le dernier groupe de 3 chiffres).
En fait, ce serait bien qu'on soit "guidé" dans le champ. Nous allons faire en sorte que lors d'un clic dans le champ NoAVS, nous visualisions ce "guide" représenté par des traits de soulignements qui vont nous montrer comment entrer correctement ce numéro : 3 chiffres .2 chiffres .3 chiffres .3 chiffres
ces groupes de chiffres étant séparés par des points. 398.34.909.112 est correct, mais pas 345.222.12.09 (Les groupes de chiffres ne sont pas respectés) ni A67.VV.223.8H7(Il y a des lettres qui n'ont rien à faire là) ni 345.32.212 (Il manque le dernier groupe de 3 chiffres).

Marche à suivre :
Pour commencer, vous créez un nouveau champ NoAVS juste en dessous de Prenom. vous le laissez en texte

Ah ??? On ne le définit pas en numérique ?
Non. Ce n'est pas vraiment vraiment un numérique : Il y aura des points entre les groupes de chiffres.La propriété de champ "Masque de saisie" : Utilisation de l'assistant
Dans les propriétés de ce champ NoAVS, vous cliquez sur "Masque de saisie", et ensuite sur

Plusieurs élèves m'ont signalé l'absence de ces 3 petits points... J'en ignore la raison (Ce n'est pas la version d'Access, ça c'est certain)... Je pense que c'est éventuellement dû à une installation d'Access avec trop peu d'options.. La réinstallation complète d'Access peut-elle résoudre le problème ? J'attend vos commentaires...
Access vous demande


Quelqu'un m'a fait remarquer qu'il avait les choix suivants :

Ecrivez quelques chiffres




Pourquoi met-il des 0 et pas autre chose ?
Les 0 veulent dire "Chiffre obligatoire". Si à la place de certains 0, vous aviez installé des 9 (000.00.000.999 par exemple), alors le masque de saisie accepterait que les 3 dernières positions ne soient pas remplies. Tandis que le 0 exige un chiffre.D'ailleurs, il est très possible de créer des masques de saisie qui acceptent des lettres.
Dans ce cas, ce n'est plus 0 ou 9, mais L. Un masque de saisie tel que LL.LL.LL acceptera des valeurs telles que zt.hg.lp ou RQ.jz.KK, mais pas rt.88.90 (Les chiffres sont interdit), ni RT.JK.M (Manque une lettre à la fin). L'aide d'Access, à la rubrique "Masque de saisie" nous donne un aperçu des possibilités. Je reproduis ici ce fragment d'aide
Revenons à nos moutons :
La zone "Masque de saisie" est donc le masque proprement dit.
La zone "Caractère espace réservé" représente le signe qui va être placé à la place des traits de soulignement (_). Par exemple, si vous mettez une étoile (*) dans cette zone
, alors, vous devrez écrire "par dessus" ces étoiles. Personnellement, je trouve mille fois plus convivial d'avoir un trait de soulignement, comme c'est proposé par défaut
. Laissez donc ce trait de soulignement, et laissez finalement 000.00.000.000 dans "Masque de saisie". Cliquez sur
.



Une alternative vous est offerte :
. Ce choix est à la fois peu important et subtil. C'est à dire qu'il nous demande s'il est bien nécessaire de stocker de manière interne les points (.) qui séparent les groupes de chiffres. Qu'on réponde oui ou non n'est pas d'une importance primordiale, puisque de toute façon, comme nous avons défini un masque de saisie, les points entre les groupes de chiffres, qu'ils existent réellement en interne dans Access ou qu'ils n'existent pas, ils seront visibles de toute manière.

Par contre, si vous exportez votre table dans Excel par exemple, et que vous avez choisi ici "Sans les symboles dans le masque", les données seront exportées sous Excel sans les points entre les groupes de chiffres. On pourrait alors dire qu'il est légèrement préférable de stocker "Avec les symboles dans le masque". ça prendra un tout petit peu de mémoire en plus (la place que prend les points) mais c'est tellement négligeable.
Choisissez "Avec les symboles dans le masque". Cliquez sur
, et puis sur
.


La propriété de champ "Masque de saisie" : analyse des sections du masque
C'est terminé. Vous êtes de retour dans votre table en mode création. Vous constatez que dans l'option Masque de saisie, Access a installé ceci :
. Le masque de saisie est divisé en 3 parties, séparées par un Point virgule ;

Oui, c'est quoi exactement ?
000.00.000.000 : C'est le masque de saisie proprement dit
0 : C'est le fait que les données seront enregistrées avec les points qui séparent les sections du numéro AVS (Rappelez-vous plus haut : Si on exporte dans Excel cette table, il est important que les points de séparation soient aussi exportés). Si on ne met rien à la place de 0, les points de séparation ne seront pas installés en interne (Mais ils seront quand même visible à l'écran... Je sais ce n'est pas évident, mais ce n'est pas très important non plus...)
_ : Ce trait de soulignement représente les espaces qu'il faudra remplir quand on cliquera dans le champ. Si à la place on met une * alors le masque ressemblera à ***.**.***.*** ... Pas très joli...
0 : C'est le fait que les données seront enregistrées avec les points qui séparent les sections du numéro AVS (Rappelez-vous plus haut : Si on exporte dans Excel cette table, il est important que les points de séparation soient aussi exportés). Si on ne met rien à la place de 0, les points de séparation ne seront pas installés en interne (Mais ils seront quand même visible à l'écran... Je sais ce n'est pas évident, mais ce n'est pas très important non plus...)
_ : Ce trait de soulignement représente les espaces qu'il faudra remplir quand on cliquera dans le champ. Si à la place on met une * alors le masque ressemblera à ***.**.***.*** ... Pas très joli...
La propriété de champ "Masque de saisie" : Cas déconseillés
C'est génial ! Par exemple, pour les téléphones, je pourrais mettre (000) 000.00.00 !
Ah ! Attention ! Si vous optez pour ce masque de saisie, vous ne pourrez entrerQUE des téléphones de style (022) 784.67.21... Pas question de mettre un numéro de téléphone d'un autre pays par exemple : 06.12.54.65.89 ne tient pas par exempleC'est juste ! En fait, les téléphones, je les définit simplement en numérique alors ?
MEME PAS !!!! Dans un numéro de téléphone, il y a des parenthèses, des points... Plein de choses qui ne peuvent pas être acceptées par des numériques !Mais vous m'énervez à la fin ! Je met pas de masques de saisie, pas de numérique ! Je peux utiliser Acecss au moins ??? Je met quoi alors comme type de champ pour les téléphones ?
On se calme. Prenez donc un anxiolytique avant de continuer !Du texte ... Tout simplement... Ce n'est pas parce qu'Access regorge de subtilités qu'il faut ABSOLUMENT les utiliser. Vous avez bien une Ferrari, comme tout le monde, non ? Ce n'est pas pour ça que vous allez rouler continuellement à 300 KM/H, non ???
C'est vrai... Vous avez raison... Donc, si j'ai bien compris, on n'installe un masque de saisie QUE lorsque les données DOIVENT être STRICTEMENT ordonnées, comme le N° AVS ?
Oui, vous avez bien compris. soit donc un numéro AVS, ou un numéro d'article tel que FRE-00532 (3 lettres tiret 5 chiffres rar exemple).
Bon... Hum... On peut résumer ?
Le masque de saisie peut s'écrire à la main, mais il est mille fois plus pratique d'utiliser l'assistant qu'on trouve sous la forme d'un bouton avec 3 petits points dans l'option Masque de saisie du champ que vous voulez traiter. On n'installe un masque de saisie qu'exceptionnellement : Seulement dans le cas ou le champ DOIT contenir des données STRICTEMENT structurées. Un numéro de sécurité sociale : Oui. Un numéro de téléphone : Non. |
Avez-vous bien compris ?
|
Exercice
L'exercice consiste à créer une base de données que vous appellerez Correspondance.MDB. Dans cette base de données, vous alez créer une table qui va contenir les correspondances des différentes normes d'un même produit pour plusieurs pays. Je vais vous donner un exemple fantaisiste pour mieux comprendre : Vous avez toute une série de pièces détachées pour ordinateurs, que vous pouvez commander dans les succursales de différents pays. Mais chaque pays à sa norme concernant chaque pièce détachée. Par exemple si vous voulez commander une boite de disquettes en Autriche, vous devrez spécifier sa référence : SW-3316. Mais la même boîte de disquette commandée en Hollande sera référencée sous l'appellation DIS00008. Vous voyez venir le coup des masques de saisie ? Voici les données que vous allez devoir "Engranger" dans votre table : Boîte de disquette Autriche : SW-3316 Hollande : DIS00008 Belgique : di.exp.556 Souris Autriche : RR-2209 Hollande : SOU00017 Belgique : so.exp.098 Carte graphique Autriche : TR-1009 Hollande : CAG00013 Belgique : cg.imp.599 Téléchargez la solution de l'exercice ici |
0 commentaires:
Enregistrer un commentaire