formateur informatique

Didacticiel Access pour créer et personnaliser les formulaires

Accueil  >  Bureautique  >  Access  >  Access Débutant  >  Didacticiel Access pour créer et personnaliser les formulaires
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


Les formulaires de base de données
Le formulaire est l'outil de saisie, consultation, modification et suppression des données dans Access. Les tables servent à l'ossature et à la construction de la base. Elles ne doivent pas être utilisées pour la manipulation des données. La mise en forme des formulaires doit être soignée et explicite. Leur utilisation doit être ergonomique. Nous allons découvrir les formulaires en nous appuyant sur une petite base de données en construisant un formulaire simple, sur une simple table.
  • Télécharger la base de données facturation-formulaires.accdb en cliquant sur ce lien,
  • L'ouvrir dans Access,
  • Cliquer sur le bouton de sécurité Activer le contenu sous le ruban,
Il s'agit d'une petite base de données de facturation constituée de deux tables. Une table Clients qui recense les clients qui ont passé des commandes. Ces commandes sont listées dans la table Commandes. Au fur et à mesure des évolutions, Access a considérablement simplifié la création des formulaires.
  • Sélectionner la table Commandes dans la liste des objets du volet de gauche,
  • Cliquer sur l'onglet Créer pour activer son ruban,
  • Cliquer ensuite sur le bouton Formulaire,
Création automatique formulaire Access
Sans aucune étape intermédiaire, la table Commandes ayant été présélectionnée, Access construit et livre le formulaire des commandes instantanément. Tous les champs de la table sont inclus par défaut dans l'ordre de leur création lors de la conception de la table Commandes. Ils récupèrent de même toutes les propriétés définies en Amont. Ainsi le champ Commandes_total possède un format monétaire Euros et le champ Commandes_date est doté d'un masque de saisie. Vous remarquez de même que le ruban Création s'active automatiquement. Il propose tous les outils pour personnaliser un formulaire dont les contrôles parmi lesquels on trouve les listes déroulantes et les boutons.
  • Enfoncer les touches CTRL + S pour sauvegarder ce formulaire,
  • Dans la petite boîte de dialogue, le nommer formulaires_Commandes et cliquer sur Ok,
Vous remarquez qu'il apparaît désormais dans le volet de gauche de la liste des objets Access sous l'entête Formulaires. Ce formulaire permet donc de consulter les commandes des clients et de les modifier. Mais il permet aussi d'en créer. Le formulaire est l'outil de saisie contrairement à la table. A ce titre, nous allons créer une nouvelle commande pour un client qui n'en a pas encore passée. Si vous ouvrez la table Commandes en mode Feuille de données, vous constaterez que le client 10 n'a jamais rien acheté. Le client 10 dans la table Clients correspond à Mlle Yginal.
  • Dans le ruban Accueil, cliquer sur la flèche du bouton Affichage,
  • Puis cliquer sur mode Formulaire,
Vous affichez ainsi le formulaire en mode exécution, en mode saisie.
Mode formulaire, saisie des enregistrements
En bas de la fenêtre, vous trouvez la barre qui permet de naviguer au travers des enregistrements, soit des commandes. Vous pouvez passer au suivant, au précédent, au premier et au dernier. Mais vous pouvez aussi créer un nouvel enregistrement, soit une nouvelle commande.
  • Cliquer sur le bouton à droite, Nouvel enregistrement (vide),
Le champ Commandes_num est la clé primaire en numéro auto, il ne doit et ne peut être saisi.
  • Taper 10 dans le champ Commandes_client,
  • Taper 115,50 dans le champ Commandes_total,
  • Taper la date dans le champ Commandes_date,
Si vous validez cette dernière saisie à l'aide de la touche Tabulation, vous passez directement au prochain enregistrement vide, soit à la création d'une nouvelle commande.
  • Revenir au premier enregistrement à l'aide des boutons de navigation en bas de la fenêtre,
  • Dans le volet de gauche, double cliquer sur la table Commandes pour l'afficher en mode Feuille de données,

Vous notez bien la présence de la commande attribuée au Client 10, saisie depuis le formulaire Commandes.
  • Fermer la table Commandes en cliquant sur la croix de son onglet,
  • Revenir sur le formulaire formulaire_Commandes,
  • Cliquer sur la flèche du bouton Affichage du ruban Accueil,
  • Dans la liste, cliquer sur mode Création,
Conception formulaire Access
Nous basculons ainsi dans le mode où nous pouvons personnaliser et paramétrer le formulaire à souhait.
  • Dans la zone En-tête de formulaire, cliquer sur l'étiquette Commandes,
Cette étiquette reprend le nom de la table.
  • Enfoncer la touche F2 du clavier pour activer la saisie,
  • Changer ce titre en Commandes des clients,
  • Cliquer sur un endroit vide du formulaire pour désélectionner ce contrôle,

Propriétés des contrôles de formulaire
Comme le total de la commande est l'information la plus importante, nous souhaitons la faire ressortir.
  • Sélectionner la zone de texte Commandes_total,
  • Cliquer sur le bouton Feuille de propriétés du ruban Création,
Vous affichez ainsi la feuille de propriétés du contrôle sélectionné.
  • Cliquer sur l'onglet Format pour afficher les propriétés de mise en forme,
  • Régler la taille de la police à 12,
  • Régler l'épaisseur de la police sur gras,
Format et mise en forme des contrôles du formulaire
Si vous basculez en mode formulaire, vous constaterez que l'information est effectivement plus évidente. Comme l'information Commandes_num est un numéro automatique attribué par Access, son information est inutile pour l'utilisateur.
  • En mode création, sélectionner la zone de texte Commandes_num,
  • Enfoncer la touche Suppr du clavier,
La zone de texte et son étiquette disparaissent. Du coup nous allons combler l'espace vide en haut du formulaire.
  • Cliquer sur la zone de texte Commandes_client pour la sélectionner,
  • En maintenant la touche MAJ enfoncée, cliquer sur les zones de texte Commandes_total et Commandes_date,
Les trois contrôles sont ainsi sélectionnés ensemble.
  • Les cliquer et les glisser avec la souris pour les repositionner un peu plus haut,
Comme ils sont trop larges par rapport aux informations qu'ils affichent, nous allons réduire leur taille. Pour ce faire, les trois zones de texte étant toujours sélectionnées :
  • Placer le curseur de la souris sur l'extrémité droite des contrôles jusqu'à ce qu'il se transforme en une double flèche,
  • Cliquer et glisser vers la gauche de manière à réduire leur taille,
Redimensionnement contrôles de formulaire Access
  • Afficher le résultat en mode Formulaire,
Le rendu est effectivement plus adapté et nous avons désormais de la place à exploiter sur la droite.
  • Revenir en mode création,

Boutons de navigation
La navigation au travers des enregistrements est peu ergonomique avec les petits boutons situés en bas de la fenêtre. Nous allons donc ajouter des boutons de déplacements directement sur le formulaire. Ils seront plus évidents et plus ergonomiques à utiliser. Vous allez constater à quel point Access simplifie leur implantation.
  • Cliquer sur le contrôle Bouton du ruban Création pour le sélectionner,
  • Tracer un rectangle sur la droite du formulaire pour le dessiner,
  • Dans la boîte de dialogue qui s'affiche, sélectionner la catégorie Déplacements entre enreg. sur la gauche,
  • Sélectionner l'action Premier enregistrement sur la droite,
  • Cliquer sur Suivant,
  • Choisir l'image Atteindre premier,
  • Nommer le bouton premier et cliquer sur Terminer,
Boutons automatiques de navigation dans un formulaire Access
  • De la même façon, créer le bouton pour atteindre le dernier enregistrement,
  • Créer le bouton pour passer à l'enregistrement suivant,
  • Créer le bouton pour revenir à l'enregistrement précédent,
Pour le bouton qui consiste à créer un nouvel enregistrement, la catégorie change,
  • Sélectionner le contrôle bouton dans le ruban Création,
  • Tracer un rectangle sur le formulaire pour le dessiner,
  • Dans la boîte de dialogue, sélectionner la catégorie Opérations sur enreg.,
  • Puis choisir l'action Ajouter un nouvel enregistrement,
  • Cliquer sur Suivant,
  • Choisir l'image Atteindre nouveau,
  • Cliquer sur Suivant,
  • Le nommer nouveau et cliquer sur Terminer,
Bouton nouvel enregistrement, formulaire Access

Aligner et espacer les contrôles sur le formulaire
Tel que vous avez tracé les boutons, ceux-ci ne sont sans doute pas très alignés et encore moins espacés de façon équivalente. Access propose des fonctionnalités, empruntées à Powerpoint qui permettent de réaliser ces opérations avec précision sans avoir besoin d'ajuster minutieusement les contrôles à la souris.
  • Sélectionner ensemble les 5 boutons à l'aide de la touche MAJ et de la souris,
  • Cliquer sur l'onglet Organiser,
  • Dans le ruban, cliquer sur la flèche du bouton Aligner,
  • Dans la liste, cliquer sur Haut,
Tous les boutons s'alignent sur la même horizontale. Le bouton le plus haut sert de repère.
  • Cliquer maintenant sur la flèche du bouton Taille/Espace,
  • Dans la liste, cliquer sur Horizontal équilibré,
Les deux boutons aux extrémités servent de repère de manière à ce que les espaces entre tous soient calculés en fonction de la largeur induite.
Alignements et espacements automatiques des boutons
Si vous basculez en mode formulaire, en cliquant sur les différents boutons, vous pourrez constater que chacun d'entre eux fonctionne parfaitement. De plus, étant positionnés en évidence, ils sont plus pratiques que les boutons proposés par défaut.
  • Fermer le formulaire en cliquant sur la croix de son onglet.

Formulaire avec sous-formulaire
Le formulaire Commandes que nous avons exploité jusqu'alors est peu satisfaisant sauf pour les manipulations d'apprentissage que nous avions à y faire. En effet il propose une vue des commandes seules, sans avoir de visibilité sur les clients qui passent ces commandes. C'est pourquoi nous allons construire un formulaire qui présente une vue des clients, et pour chacun d'entre eux, dans un sous-formulaire, la synthèse de ses commandes. Autrefois dans Access, il fallait passer par un assistant, sélectionner les tables et leurs champs tour à tour et suivre les étapes. Désormais, dès lors que les tables sont reliées par une clé primaire et une clé externe, Access comprend la construction sur la base de la table parent et livre le résultat instantanément. Illustration :
  • Sélectionner la table Clients dans la liste des objets Access du volet gauche,
  • Dans le ruban Créer,cliquer sur le bouton Formulaire,
Access livre une vue du client dans la partie supérieure du formulaire et une vue de ses commandes liées dans la partie inférieure sous forme de sous-formulaire en feuille de données.
Formulaire clients et sous-formulaire commandes dans Access
  • Afficher le formulaire en mode création,
  • Comme toute à l'heure, sélectionner toutes les zones de texte du formulaire Clients à l'aide de la touche MAJ et de la souris,
  • Placer la souris sur l'extrémité droite, au niveau des poignées, de sorte que le curseur de la souris se transforme en une double flèche,
  • Cliquer et glisser vers la gauche de manière à réduire leur taille,
Comme vous le remarquez, bien que le sous formulaire ne soit pas sélectionné, il est associé avec les autres contrôles et subit la même transformation, ce que nous ne souhaitions pas. D'ailleurs, si vous le sélectionnez indépendamment et que vous tentez de l'étirer, vous remarquez que toutes les zones de texte du formulaire Clients s'étirent aussi. Pour pallier le problème, nous devons le dissocier des autres.
  • Sélectionner le sous-formulaire,
  • Cliquer sur l'onglet Organiser,
  • Dans le ruban, cliquer sur le bouton Supprimer la disposition,
  • Etirer le sous-formulaire sur la droite pour l'agrandir,
Cette fois vous parvenez à le redimensionner seul.
  • Enregistrer le formulaire (CTRL + S) sous le nom Clients_et_commandes,
  • L'afficher en mode Formulaire,
Supprimer la disposition our dissocier un contrôle des autres
Maintenant que nous avons créé de l'espace, nous allons ajouter les boutons de déplacements comme précédemment. Et nous allons en profiter pour en ajouter d'autres comme Rechercher un enregistrement ou Supprimer un enregistrement de manière à ce que tout puisse se faire depuis le formulaire Clients_et_commandes.
  • Afficher le formulaire en mode création,
  • Créer les 5 boutons (premier, précédent, suivant, dernier, nouveau) comme vous l'avez fait pour le formulaire Commandes,
  • Les aligner et disposer à l'aide des boutons de l'onglet Organiser,
Aligner et positionner boutons sur formulaire Access

Rechercher un enregistrement
Nous souhaitons maintenant un bouton particulier. Nous souhaitons que ce bouton soit capable d'afficher directement le formulaire sur le nom d'un client saisi dans une boîte de dialogue.
Bouton automatique filtre formulaire Access
  • Afficher le formulaire en mode création,
  • Tracer un nouveau bouton sur la zone de formulaire,
  • Dans la boîte de dialogue, choisir la catégorie Déplacements entre enreg.,
  • Puis sélectionner l'action Rechercher un enregistrement,
  • Cliquer sur le bouton Suivant,
  • Choisir l'image Jumelles,
  • Cliquer sur le bouton Suivant,
  • Le nommer Recherche_client et cliquer sur Terminer,
  • Basculer en mode Formulaire,
  • Cliquer sur le nouveau bouton aux jumelles,
  • Dans la zone Rechercher de la boîte de dialogue, taper un nom de client comme Douch par exemple,
  • Puis cliquer sur le bouton Suivant.
Le formulaire se cale sur le client demandé ce qui s'avère très pratique lorsque l'on souhaite atteindre des informations précises instantanément.
Bouton pour rechercher un enregistrement dans un formulaire
Nous pourrions aussi ajouter un bouton pour supprimer un enregistrement. La catégorie Déplacements entre enreg. propose une action pour supprimer un enregistrement. Un clic sur ce bouton supprimerait le client obsolète et toutes les commandes qui lui sont rattachées. En effet, les tables sont reliées entre elles par le jeu des relations Access. Et l'option Supprimer en cascade avait été désignée, si bien que toute suppression dans la table Clients, induit la suppression des enregistrements qui lui sont liés dans la table Commandes.

Macros
L'exemple précédent pour isoler rapidement un client sur son nom est intéressant mais pas totalement satisfaisant. Nous utilisons en effet la boîte de dialogue commune de recherche qui reste au premier plan et qui nécessite de la fermer. Nous allons étudier un autre exemple à l'aide des macros pour définir un filtre. Ce filtre nécessitera ce qu'on appelle une clause WHERE pour déterminer sur quel critère on filtre les enregistrements. Ce critère devra être posé sur le champ Clients_nom et devra déterminer quel est le nom du client au moment où on lui demande, comme une requête paramétrée.
  • Tracer un bouton sur la zone de formulaire,
  • Fermer directement la boîte de dialogue en cliquant sur le bouton Annuler.
Cette action requiert des personnalisations qui ne sont pas proposées dans les fonctions de base des boutons par défaut.
  • Dans la feuille de propriétés de ce bouton, activer l'onglet Evénement,
  • Cliquer sur le petit bouton à trois points à l'extrémité de la zone de l'événement Sur clic,
  • Dans la boîte de dialogue qui apparaît, sélectionner générateur de macro et cliquer sur Ok,
Nous basculons ainsi dans l'éditeur de macro.
  • A l'aide de la liste déroulante, sélectionner l'action Définir Filtre,
  • Saisir un nom de filtre comme choix_client dans la zone Nom du filtre,
  • Dans la zone Condition Where, taper [Clients_nom]=[Nom duclient ?],
Nous posons la condition sur le champ [Clients_nom] et nous souhaitons qu'il soit égal à une valeur qui sera déterminée au moment de la demande. C'est pourquoi, entre crochets pour désigner un paramètre, nous saisissons une question pour l'utilisateur [Nom du client ?]. Comme Access ne connaît pas ce paramètre, il demandera de le préciser au moment de l'exécution.
  • Conserver la zone Nom du contrôle vide, cela permet de désigner le formulaire actif,
  • Enregistrer cette macro (CTRL + S),
  • Fermer la macro en cliquant sur la croix de son onglet,
Macro bouton pour rechercher un eneregistrement Access
Nous sommes de retour sur le formulaire. La macro est bien attachée au bouton sur l'événement Sur clic. Elle doit donc se déclencher au moment où l'utilisateur clique sur le bouton. Le bouton étant toujours sélectionné :
  • Cliquer sur l'onglet Format de sa feuille de Propriétés,
  • Attribuer un texte explicite à sa propriété Légende comme Rechercher client,
  • Exécuter le formulaire en mode Formulaire,
  • Cliquer sur le nouveau bouton,
Une boîte de dialogue avec le message personnalisé de la macro s'affiche. Il s'agit du fameux paramètre inconnu qu'Access demande de préciser.
  • Taper un nom de client comme Douch et valider,
Recherche client dans un formulaire Access avec bouton
La boîte de dialogue disparaît et le formulaire isole instantanément le client demandé avec ses commandes. Si vous recliquez sur le bouton, vous pouvez rechercher un autre client par son nom. Cette fonctionnalité est donc très pratique et efficace pour accéder à l'information utile. Si vous souhaitez retourner à l'ensemble des enregistrements, vous pouvez cliquer sur le bouton filtré, en bas, sur la petite barre de navigation. Une autre possibilité consiste à associer une macro pour supprimer le filtre, à un nouveau bouton. Pour parfaire notre formulaire, nous allons régler une dernière propriété. Comme nous avons placé des boutons de navigation entre enregistrements, nous n'avons plus besoin des petits boutons de navigation en bas de la fenêtre.
  • Afficher le formulaire en mode création,
  • Cliquer sur son angle supérieur gauche, à l'intersection des règles.
Cette action permet de sélectionner le formulaire tout entier.
  • Dans sa feuille de propriétés, activer l'onglet Format,
  • Régler sa propriété Boutons de déplacement sur Non,
  • Enregistrer le formulaire (CTRL + S),
  • L'afficher en mode Formulaire,
Les boutons de navigation du bas ont en effet disparu.
Masquer les barres de navigation dans un formulaire Access

 
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