formateur informatique

Couper les alertes de navigation sur un formulaire Access

Accueil  >  Bureautique  >  Access  >  Access Astuces  >  Couper les alertes de navigation sur un formulaire Access
Livres à télécharger


Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :


Inscription Newsletter    Abonner à Youtube    Vidéos astuces Instagram
Sujets que vous pourriez aussi aimer :


Neutraliser les alertes de navigation

Pour de véritables applications Access, les boutons de déplacement sont bien plus flatteurs que la petite barre de navigation qui se suggère en bas du formulaire.

Message d-erreur sur formulaire Access lorsque la fin de la navigation est atteinte

Néanmoins, lorsque le premier ou le dernier enregistrement est dépassé, une alerte se déclenche. Ces alertes manquent d'ergonomie dans la mesure où elles imposent à l'utilisateur de les valider pour les masquer. Cette nouvelle astuce Access montre comment les neutraliser.

Source et présentation
Pour mener à bien cette étude, nous proposons de récupérer une petite base de données offrant déjà de précieux outils ainsi qu'un formulaire relativement abouti.
  • Télécharger le fichier neutraliser-alertes-navigation.rar en cliquant sur ce lien,
  • Le décompresser dans le dossier de votre choix,
  • Double cliquer sur le fichier résultant pour l'ouvrir dans Access,
  • Cliquer sur le bouton Activer le contenu du bandeau de sécurité,
  • Dans le volet de navigation sur la gauche de l'écran, double cliquer sur le formulaire f_com,
En bas de ce formulaire, vous notez la présence d'une zone rectangulaire grisée et encadrée d'un filet noir. C'est elle qui doit accueillir les boutons de déplacement pour atteindre le premier commercial, passer au précédent, aller au suivant, atteindre le dernier ou encore créer un nouvel enregistrement.

Créer des boutons de déplacement
Ajouter des boutons de déplacement sur un formulaire Access est un jeu d'enfant grâce à l'assistant qui se déclenche à chaque création. Mais comme nous l'avons dit, l'enjeu de cette astuce est de couper ces alertes qui se génèrent lorsqu'Access juge suspects certains positionnements.
  • A gauche du ruban Accueil, cliquer sur la flèche du bouton Affichage,
  • En bas des propositions, choisir le mode Création pour basculer en conception du formulaire,
  • Dans le ruban contextuel Création, sélectionner le contrôle Bouton,
  • Le tracer à l'intérieur du rectangle grisé, sur sa gauche,
Comme vous le voyez, un assistant se déclenche instantanément. La catégorie Déplacements entre enreg. est active par défaut. C'est bien celle qui nous intéresse.
  • Dans la liste de droite, choisir l'action Premier enregistrement,
Créer un bouton pour atteindre le premier enregistrement sur un formulaire Access

Ce bouton est donc destiné à repositionner le curseur sur le tout premier commercial.
  • Cliquer sur le bouton Suivant et accepter l'image par défaut,
  • Cliquer de nouveau sur le bouton Suivant pour atteindre la dernière étape,
  • Dans la zone de saisie, nommer le bouton comme suit : Premier,
  • Puis, cliquer sur le bouton Terminer pour finaliser la construction du bouton,
De la même façon, nous devons créer trois autres boutons pour autoriser tous les déplacements. Les actions et noms respectifs à leur associer sont les suivants :
  • Action : Enregistrement précédent, Nom : Precedent,
  • Action : Enregistrement suivant, Nom : Suivant,
  • Action : Dernier enregistrement, Nom : Dernier,
Un dernier bouton est encore nécessaire. Il doit permettre de créer un nouvel enregistrement, soit un nouveau commercial.
  • Sélectionner une fois encore le contrôle bouton dans le ruban contextuel Création,
  • Le tracer dans la zone grisée sur la droite des précédents boutons,
  • Dans l'assistant, choisir cette fois la catégorie : Opérations sur enreg.,
  • Dans la liste de droite, choisir l'action Ajouter un nouvel enregistrement,
  • Cliquer sur le bouton Suivant et conserver l'image proposée par défaut,
  • Cliquer une dernière fois sur le bouton Suivant pour atteindre la dernière étape,
  • Le nommer Nouveau puis cliquer sur le bouton Terminer,
Ensuite, il convient de placer les deux premiers boutons sur la gauche de la zone grisée et les trois derniers sur la droite. De cette manière, nous conservons de la place au centre. Nous l'exploiterons dans une prochaine astuce pour fournir dynamiquement l'indication sur l'enregistrement en cours. De cette manière, nous terminerons la conception de notre barre de navigation personnalisée. Et nous pourrons masquer celle qui est proposée par défaut en bas de la fenêtre Access.

Les alignements et placements peuvent être réalisés précisément grâce aux fonctionnalités du ruban contextuel Organiser. Nous ne revenons pas sur ces notions que nous avons largement démontrées à l'occasion de formations sur la construction de formulaires Access.

Boutons de déplacement personnalisés sur formulaire Access

Il peut aussi être intéressant le leur attribuer un gris moyen pour la couleur de remplissage. Sur la base de cette couleur, nous pouvons appliquer un dégradé léger et ensuite créer une légère ombre portée. Avec ces attributs, tout en restant sobres, les boutons se distinguent convenablement.
  • Enregistrer les modifications (CTRL + S) et exécuter le formulaire (F5),
  • Cliquer sur le quatrième bouton de déplacement pour atteindre le dernier commercial,
  • Puis, cliquer sur le premier bouton pour revenir sur le premier enregistrement,
  • Dès lors, cliquer sur le deuxième bouton pour atteindre le commercial précédent,
Alerte navigation Access, impossible aller avant le premier enregistrement

Comme vous pouvez le voir, une alerte de navigation se déclenche effectivement. Il n'existe pas d'enregistrement avant le premier d'entre eux. Elle est donc légitime mais pas très ergonomique. Nous souhaitons la neutraliser pour la remplacer par un message inscrit juste au-dessus de la barre de navigation personnalisée par exemple.
  • Valider cette alerte en cliquant sur le bouton Ok,
Zone de message
Avant de comprendre comment il est possible de couper ces alertes, nous souhaitons créer la zone permettant de recevoir l'indication, sous une forme moins intrusive. Une étiquette fera parfaitement l'affaire.
  • Revenir sur le formulaire en conception,
  • Dans le ruban contextuel Création, sélectionner le contrôle Etiquette,
  • Le tracer au-dessus des boutons sur la largeur de la zone grisée,
  • Puis, enfoncer la barre d'espace,
Placer une étiquette pour une zone de message sur le formulaire Access

Cet artifice permet de conserver l'étiquette ainsi placée. En l'absence de contenu, elle se supprime d'elle-même.
  • Lui attribuer un rouge foncé pour la couleur de texte,
  • Activer l'onglet Autres de sa feuille de propriétés,
  • Dans sa propriété Nom, taper l'intitulé suivant : Msg,
  • Valider avec la touche Entrée du clavier et enregistrer les modifications,
Le nom que nous avons attribué à ce contrôle est prépondérant pour pouvoir le piloter simplement avec une action de macro. Et c'est ce que nous allons faire.

Couper les alertes de navigation
Pour empêcher ces boîtes de dialogue de surgir, l'astuce est toute simple. Nous allons le voir, ces boutons que nous avons conçus à l'aide de l'assistant, sont tous dirigés par des actions de macro.
  • Sélectionner le deuxième bouton nommé Precedent,
  • Activer l'onglet Evénement de sa feuille de propriétés,
Vous notez qu'une macro est effectivement associée à son événement Au clic.
  • Cliquer sur le petit bouton situé sur sa droite,
Nous basculons ainsi dans l'éditeur de macro.

Actions de macro associés aux boutons de navigation créés automatiquement sur le formulaire Access

Une action permet effectivement d'atteindre l'enregistrement précédent. Ensuite, il est intéressant de constater comment les erreurs de macro peuvent être interceptées et gérées grâce au "champ" MacroError. Si l'enregistrement précédent n'existe plus, c'est l'action zoneMessage qui est déclenchée. C'est elle qui génère une boîte de dialogue. C'est donc elle que nous devons remplacer. Mais dans l'instruction conditionnelle, nous devons prévoir l'autre cas. L'objectif est d'effacer le message une fois qu'il est apparu est que la navigation a repris son cours normalement.
  • Cliquer sur l'action ZoneMessage pour la sélectionner,
  • Puis, cliquer sur le petit bouton à son extrémité droite pour la supprimer,
Supprimer une action de macro Access pour la remplacer
  • Dans l'instruction conditionnelle, déployer la liste déroulante des actions,
  • Par ordre alphabétique, choisir l'action DéfinirPropriété,
  • Dans la zone Nom du contrôle, désigner l'étiquette par son nom, soit : Msg,
  • Dans la zone Propriété, choisir l'attribut Légende,
  • Dans la zone Valeur , taper l'indication suivante :
Le premier enregistrement est déjà atteint
  • En bas à droite de cette action, cliquer sur le lien Ajouter sinon,
  • Déployer la liste déroulante qui se propose,
  • Choisir de nouveau l'action DéfinirPropriété,
  • Dans la zone Nom du contrôle, désigner encore l'étiquette par son nom, soit : Msg,
  • Dans la zone Propriété, choisir l'attribut Légende,
  • Puis, taper l'indication suivante dans la zone Valeur : Navigation en cours,
Actions de macro Access pour communiquer pendant la navigation

C'est ainsi que le message sera effacé en cas de navigation conforme.
  • 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),
Le bouton Suivant doit être paramétré exactement de la même façon. Il s'agit de :
  • Supprimer l'action ZoneMessage,
  • La remplacer par l'action DéfinirPropriété,
  • Influer sur la propriété Légende de l'étiquette Msg avec un message clair,
  • Ajouter une branche Sinon à l'instruction conditionnelle,
  • Paramétrer l'indication comme précédemment : Navigation en cours,
Une fois cette macro enregistrée et fermée, après avoir enregistré le formulaire à son tour, celui-ci peut être testé en exécution.

Vous pouvez atteindre le deuxième enregistrement à l'aide du bouton Suivant. Puis, vous pouvez revenir deux fois en arrière à l'aide du bouton Précédent. Comme la butée est atteinte, l'indication apparaît et remplace efficacement l'ancienne alerte intrusive.

Remplacer les boîtes de dialogue des alertes de navigation Access par des messages plus discrets sur le formulaire

Si vous cliquez sur le bouton Suivant, le message redevient anodin. Par contre, il conviendrait de paramétrer cette même indication pour les boutons Dernier et Premier. Lorsque l'extrémité est dépassée et que la navigation est reprise avec ces derniers, le message d'alerte ne doit pas perdurer.

 
Sur Facebook
Sur Youtube
Les livres
Contact
Mentions légales



Abonnement à la chaîne Youtube
Partager la formation
Partager sur Facebook
Partager sur Twitter
Partager sur LinkedIn