Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :
Sujets que vous pourriez aussi aimer :
Déverrouiller les contrôles au fil de la saisie
Cette nouvelle
astuce Access intervient pour améliorer l'ergonomie d'un
formulaire d'inscription .
Pour gommer toute ambiguïté dans la chronologie des informations à renseigner, les contrôles se libèrent tour à tour. L'utilisateur débouche sur le
formulaire et seule la zone de saisie pour le nom est disponible. En conséquence, il n'a d'autre choix que d'inscrire son nom. Puis il enfonce la touche Tab du clavier. La zone de saisie pour le prénom apparaît aussitôt sur la droite. Il renseigne le prénom et valide avec la touche Tab du clavier. La zone de texte pour la ville devient visible toujours sur la droite pour respecter la chronologie. Après avoir inscrit et validé la ville, c'est le bouton de validation qui apparaît pour entériner les données.
Fichier source
Pour réaliser ces démonstrations, nous proposons de récupérer une
base de données hébergeant un
formulaire offrant quelques réglages aboutis.
L'unique objet de cette
base de données est un
formulaire . Il apparaît listé dans le volet de navigation sur la gauche de l'écran.
Cliquer avec le bouton droit de la souris sur ce formulaire f_guide ,
Dans le menu contextuel, choisir l'option Mode création ,
Nous l'affichons ainsi dans sa vue en conception. Comme vous le constatez, les trois zones de saisie et le bouton sont parfaitement visibles.
Enfoncer la touche F5 du clavier pour exécuter le formulaire ,
Cette fois, seule la première zone de texte pour le nom est disponible. Les autres contrôles attendent les renseignements en cascade pour s'afficher tour à tour. Mais bien sûr à ce stade, si vous renseignez et validez un nom, rien ne se produit encore.
Tout à fait à gauche du ruban Accueil , cliquer sur la flèche du bouton Affichage ,
Dans la liste des propositions, choisir le mode création ,
Sur le formulaire en conception, cliquer sur la zone de texte du prénom pour la sélectionner,
Ses attributs et réglages apparaissent ainsi énumérés dans la
feuille de propriétés . Si cette dernière n'est pas visible dans votre environnement, vous devez cliquer sur le
bouton Feuille de propriétés dans le
ruban contextuel Création .
Activer l'onglet Format de sa feuille de propriétés ,
C'est sa
propriété Visible qui a été réglée à non pour que la zone de texte soit masquée à l'activation du
formulaire . Ce même attribut a également ainsi été défini pour la troisième zone de texte. Vous pouvez le constater en les sélectionnant tour à tour. Et au passage, vous remarquez que les contrôles sont respectivement nommés :
le_nom ,
le_prenom ,
la_ville et
Suivant . Les étiquettes pour les intitulés sont concernées elles aussi. Elles se nomment :
et_nom ,
et_prenom et
et_ville . C'est grâce à ces noms d'objets que nous pourrons descendre jusqu'à leurs propriétés afin de basculer l'état de celle qui nous intéresse, au moment opportun.
Rendre visible un contrôle de formulaire
Une
action de macro bien précise permet d'influer sur les attributs des objets désignés par leur nom. Mais cette
action de macro doit se déclencher au moment opportun, soit à validation de chacune des saisies. L'événement concerné se nomme
Après MAJ que l'on peut traduire par
Après Mise à Jour . Mais ce n'est pas tout, cette
action de macro doit se déclencher si et seulement si l'inscription est bien réelle. En d'autres termes, nous devons d'abord contrôler le
nombre de caractères saisis dans une
instruction conditionnelle . C'est elle qui décidera de la suite des opérations.
Sur le formulaire en conception, cliquer sur le contrôle le_nom pour le sélectionner,
Activer alors l'onglet Evénement de sa feuille de propriétés ,
Cliquer dans la zone de son attribut Après MAJ pour l'activer,
Dès lors, cliquer sur le petit bouton qui se propose à l'extrémité droite,
Dans la boîte de dialogue qui suit, choisir le générateur de macro et valider par Ok,
Nous basculons ainsi dans l'
éditeur de macro Access .
Avec la liste déroulante qui se propose, choisir l'instruction Si ,
Puis, inscrire le critère suivant : NbCar([le_nom])>5 ,
La
fonction NbCar permet de compter le nombre de caractères saisis dans le contrôle qui lui est passé en paramètre. A ce stade, toute l'attention est fixée sur la zone de saisie du nom. Nous la mentionnons nécessairement entre crochets selon les normes imposées par la syntaxe
Access . La condition pour poursuivre le traitement implique arbitrairement ici que le nom soit au moins doté de 6 lettres (>5).
Déployer alors la liste déroulante du dessous et choisir l'action DéfinirPropriété ,
Dans la zone Nom du contrôle , désigner l'objet le_prenom ,
Dans la zone Propriété , choisir l'attribut Visible ,
Dans la zone Valeur , saisir True pour Vrai ou Oui,
Ainsi donc, à validation de l'inscription du nom, si le nombre de caractères est jugé suffisant, l'affichage de la zone suivante, celle du prénom, est commandé. Mais dans le même temps, nous devons faire de même avec l'étiquette qui l'accompagne.
Déployer la liste déroulante du dessous et choisir de nouveau l'action DéfinirPropriété ,
Dans la zone Nom du contrôle , désigner l'étiquette et_prenom ,
Dans la zone Propriété , choisir l'attribut Visible ,
Puis, dans la zone Valeur, saisir True ,
Avant d'implémenter les autres
macros pour les autres zones de saisie, nous proposons d'effectuer un essai.
Dans le ruban, cliquer sur le bouton Enregistrer puis sur le bouton Fermer ,
De retour sur le formulaire , l'enregistrer à son tour (CTRL + S),
Puis, l'exécuter en enfonçant la touche F5 du clavier ,
Inscrire un nom de plus de cinq lettres et enfoncer la touche Tab,
Comme vous pouvez le voir, la zone de saisie du prénom se rend aussitôt disponible. Pour l'instant bien sûr, si vous renseignez le prénom et enfoncez la touche Tab, la zone suivante n'apparaît pas encore. Nous devons déclencher sensiblement les mêmes
actions de macro à validation de la saisie du prénom.
A gauche du ruban Accueil , cliquer sur la flèche du bouton Affichage ,
Dans les propositions, choisir le mode création ,
Sur le formulaire en conception, cliquer sur la deuxième zone de saisie (le_prenom),
Cliquer alors sur le bouton associé à son événement Après MAJ dans la feuille de propriétés ,
Dans la boîte de dialogue qui suit, choisir le générateur de macro et valider par Ok,
Avec la liste déroulante, choisir l'instruction conditionnelle Si ,
Puis, inscrire le critère suivant : NbCar([le_nom])>5 Et NbCar([le_prenom])>5 ,
Cette fois en effet, pour que l'utilisateur puisse poursuivre son inscription, un double contrôle est nécessaire. Il s'agit de vérifier que le nom et le prénom sont composés de suffisamment de caractères. Rien ne lui empêche de revenir sur sa saisie du nom pour la modifier et la tronquer. C'est l'
opérateur ET qui permet d'énumérer les critères à recouper.
Déployer la liste déroulante du dessous et choisir l'action DéfinirPropriété ,
Dans la zone Nom du contrôle , désigner l'objet la_ville ,
Dans la zone Propriété , choisir l'attribut Visible ,
Dans la zone Valeur , taper le booléen True ,
Reproduire ces mêmes réglages pour son étiquette et_Ville ,
Dans le ruban Création , cliquer sur le bouton Enregistrer puis sur le bouton Fermer ,
De retour sur le formulaire , l'enregistrer à son tour,
Il ne nous reste plus qu'un seul événement à gérer, celui de la validation de la saisie de la ville. Pour afficher le bouton de validation, c'est cette fois un triple critère qui doit être honoré. Il doit consister à vérifier que les saisies dans les trois zones de texte précédentes sont suffisantes.
Sélectionner la zone de texte la_ville ,
Cliquer sur le petit bouton de son événement Après MAJ ,
Dans la boîte de dialogue, choisir Générateur de macro et valider par Ok,
Dans l'éditeur, déployer la liste déroulante et choisir l'instruction conditionnelle Si ,
Inscrire alors le multiple critère suivant :
NbCar([le_nom])>5 Et NbCar([le_prenom])>5 Et NbCar([la_ville])>5
Déployer la liste déroulante du dessous et choisir l'action DéfinirPropriété ,
Dans la zone Nom du contrôle , désigner le bouton par son nom, soit : Suivant ,
Dans la zone Propriété , choisir l'attribut Visible ,
Dans la zone Valeur , inscrire le booléen True ,
Aucune étiquette n'est associée au bouton. Nous pouvons donc valider et tester.
Dans le ruban Création , cliquer sur le bouton Enregistrer puis sur le bouton Fermer ,
De retour sur le formulaire, l'enregistrer à son tour (CTRL + S),
L'exécuter avec la touche F5 du clavier ,
Renseigner un nom de plus de cinq caractères et enfoncer la touche Tab,
La zone du prénom apparaît désormais visible et déverrouillée.
Renseigner un prénom de plus de cinq caractères et enfoncer la touche Tab,
La zone de la ville apparaît aussi visible et déverrouillée.
Renseigner une ville de plus de cinq caractères et enfoncer la touche Tab,
C'est maintenant le bouton de validation qui se rend disponible. Il ne reste plus qu'à le cliquer pour passer à l'étape suivante. Certes, son développement n'a pas été prévu mais le principe est là .