Les formulaires
Créer des écrans de saisie et de consultation clairs, les personnaliser en mode Création et afficher les données de plusieurs tables sur un même écran.
Base Gestion commerciale : T_Clients (N°Client, Prénom, Nom, Ville) liée à T_Commandes (N°Commande, N°Client, DateCommande, MontantHT) par N°Client, relation un-à-plusieurs.
Définition d’un formulaire
Un formulaire est un écran qui présente les données d’une table ou d’une requête, sa source. Il ne stocke rien : chaque saisie est enregistrée dans la table source. Il sert à saisir, consulter et modifier les données plus confortablement qu’en feuille de données, souvent un enregistrement à la fois.
| Mode | Usage |
|---|---|
| Mode Formulaire | Utilisation quotidienne : saisie et consultation |
| Mode Page | Ajuster la présentation en voyant les vraies données |
| Mode Création | Contrôle complet : sections, contrôles, propriétés |
Les principales dispositions : Colonne simple (une fiche par écran), Tabulaire (plusieurs enregistrements en lignes), Feuille de données et Double affichage (fiche en haut, liste en bas).
Créer un formulaire instantané
Pas à pas
- Dans le volet de navigation, sélectionnez la table T_Clients (sans l’ouvrir).
- Cliquez sur Créer › Formulaire.
- Le formulaire s’ouvre en mode Page avec tous les champs de la table.
- Enregistrez avec Ctrl + S : F_Clients.
Si la table est liée à une autre en un-à-plusieurs, Access ajoute automatiquement un sous-formulaire : chaque fiche client affiche ses commandes.
À côté du bouton Formulaire : Plusieurs éléments crée un formulaire tabulaire, et Autres formulaires › Formulaire double affichage combine fiche et liste.
Créer un formulaire à l’aide de l’Assistant
Pas à pas
- Créer › Assistant Formulaire.
- Choisissez la table ou la requête, puis les champs avec > (un champ) ou >> (tous). Vous pouvez changer de table et ajouter d’autres champs.
- Choisissez la disposition : Colonne simple, Tabulaire, Feuille de données ou Justifié.
- Saisissez le titre, qui devient aussi le nom : F_Saisie_Clients.
- Choisissez Ouvrir le formulaire ou Modifier la structure, puis Terminer.
Ajoutez les champs dans l’ordre de saisie souhaité : l’ordre de l’Assistant devient l’ordre de passage avec la touche Tab.
Les sections du formulaire
| Section | Affichage | Contenu habituel |
|---|---|---|
| En-tête de formulaire | Une fois, en haut de l’écran | Titre, logo, date, boutons |
| En-tête de page | À l’impression seulement, en haut de chaque page | Intitulés de colonnes imprimés |
| Détail | Pour chaque enregistrement | Les champs de la source |
| Pied de page | À l’impression seulement, en bas de chaque page | Numéro de page |
| Pied de formulaire | Une fois, en bas de l’écran | Totaux, consignes, boutons |
Pas à pas
- En mode Création, faites un clic droit dans le formulaire.
- Cochez En-tête/Pied de formulaire ou En-tête/Pied de page.
- Redimensionnez une section en faisant glisser la barre de séparation placée sous elle.
Décocher En-tête/Pied supprime les deux sections et leur contenu.
La navigation dans le formulaire
Barre de navigation en bas du formulaire.
| Action | Clavier |
|---|---|
| Champ suivant / précédent | Tab / Maj + Tab |
| Enregistrement suivant / précédent | Pg.Suiv / Pg.Préc |
| Nouvel enregistrement | Ctrl + + |
| Enregistrer la fiche en cours | Maj + Entrée |
| Annuler la saisie en cours | Échap (deux fois pour toute la fiche) |
| Rechercher | Ctrl + F |
Access enregistre automatiquement la fiche dès que vous passez à un autre enregistrement ou fermez le formulaire. Il n’y a pas de bouton « Enregistrer » pour les données.
Afficher un formulaire en mode Création
Pas à pas
- Dans le volet de navigation : clic droit sur le formulaire › Mode Création.
- Formulaire déjà ouvert : Accueil › Affichage › Mode Création, ou l’icône en bas à droite de la fenêtre.
- Les onglets Création de formulaire, Organiser et Format apparaissent dans le ruban.
Utilisez le mode Page pour régler les largeurs et le texte avec les données sous les yeux, et le mode Création pour les sections, les contrôles calculés et les réglages fins.
Les champs du formulaire
| Contrôle | Rôle |
|---|---|
| Zone de texte dépendante | Liée à un champ : sa propriété Source contrôle contient le nom du champ |
| Zone de texte calculée | Affiche un calcul : =[MontantHT]*1,2 |
| Étiquette | Texte fixe : intitulé, consigne |
| Zone de liste déroulante | Choix dans une liste, ex. la ville |
| Case à cocher | Champ Oui/Non |
| Bouton de commande | Lance une action : nouvelle fiche, fermer, imprimer |
Ajouter un champ de la table
- Création de formulaire › Ajouter des champs existants (Alt + F8).
- Faites glisser le champ de la liste vers la section Détail : Access crée la zone de texte et son étiquette.
- Pour aligner les contrôles : sélectionnez-les, puis Organiser › Empilé ou Tabulaire.
Pour déplacer une zone de texte sans son étiquette, faites glisser la grosse poignée grise en haut à gauche du contrôle.
Un contrôle calculé commence toujours par =. Ne le nommez pas comme un champ qu’il utilise, sinon il affiche #Erreur.
Modifier les propriétés d’un formulaire
Pas à pas
- En mode Création, ouvrez la Feuille de propriétés : F4.
- Choisissez Formulaire dans la liste en haut de la feuille, ou cliquez sur le carré à l’intersection des règles.
- Modifiez les propriétés utiles :
| Onglet | Propriété | Effet |
|---|---|---|
| Format | Légende | Texte de l’onglet du formulaire |
| Format | Affichage par défaut | Formulaire unique, continu, feuille de données |
| Format | Boutons de déplacement / Sélecteur d’enregistrement | Afficher ou masquer la barre de navigation et la marge grise |
| Données | Source | Table ou requête affichée |
| Données | Ajout / Modification / Suppression autorisés | Limiter ce que l’utilisateur peut faire |
| Données | Entrée données = Oui | Ouvre sur une fiche vide, sans montrer l’existant |
Pour un formulaire de consultation seule : Modification, Ajout et Suppression autorisés à Non. Pour un champ seulement : sélectionnez le contrôle, onglet Données, Verrouillé = Oui.
Accéder à la requête source du formulaire
Pas à pas
- Feuille de propriétés du Formulaire › onglet Données › propriété Source.
- Cliquez sur le bouton … : le Générateur de requêtes s’ouvre, identique à la grille de création.
- Ajoutez une table, un tri ou un critère, par exemple Ville
"Arras". - Fermez le générateur et répondez Oui pour mettre à jour la propriété.
La source peut aussi être une requête enregistrée : choisissez-la dans la liste déroulante. Une même requête peut alors servir à plusieurs formulaires et états.
Les sous-formulaires
Avec l’Assistant
- Créer › Assistant Formulaire : prenez les champs de T_Clients, puis ceux de T_Commandes.
- « Comment voulez-vous afficher vos données ? » : par T_Clients, puis Formulaire avec sous-formulaire(s).
- Disposition du sous-formulaire : Feuille de données.
- Nommez les deux formulaires : F_Clients et SF_Commandes, puis Terminer.
En mode Création
- Dans le formulaire principal, utilisez le contrôle Sous-formulaire/Sous-état, ou faites glisser un formulaire existant depuis le volet.
- Vérifiez le lien : propriétés Champs pères = N°Client et Champs fils = N°Client.
Pour afficher le total des commandes : dans le pied du sous-formulaire, une zone TotalCde = =Somme([MontantHT]). Dans le formulaire principal : =[SF_Commandes].[Formulaire]![TotalCde].
Sans Champs pères / Champs fils, le sous-formulaire affiche toutes les commandes quel que soit le client affiché.
Insérer des champs provenant de plusieurs tables
| Méthode | Comment |
|---|---|
| Assistant Formulaire | Choisissez les champs de plusieurs tables, puis affichez par T_Commandes : un seul formulaire, sans sous-formulaire. |
| Requête source | Basez le formulaire sur une requête qui réunit T_Commandes et T_Clients. |
| Ajouter des champs existants | Cliquez sur Afficher toutes les tables : la liste propose les champs des tables associées, à faire glisser. |
Dans un formulaire de commandes, modifier le nom du client modifie la fiche client pour toutes ses commandes. Verrouillez les champs qui viennent de la table « côté un » : Verrouillé = Oui.
Récapitulatif
| Besoin | Outil |
|---|---|
| Formulaire en un clic | Sélectionner la table › Créer › Formulaire |
| Choisir champs et disposition | Créer › Assistant Formulaire |
| Titre, totaux | En-tête / Pied de formulaire |
| Modifier la structure | Clic droit › Mode Création |
| Ajouter un champ | Ajouter des champs existants (Alt + F8) |
| Régler le comportement | Feuille de propriétés (F4) › Formulaire |
| Filtrer ou trier les données | Propriété Source › bouton … |
| Fiche + enregistrements liés | Sous-formulaire, Champs pères / fils |
Exercice 1 : formulaire de saisie des clients
Créez F_Clients avec l’Assistant (tous les champs, colonne simple), ajoutez le titre « Fiche client » dans l’en-tête et masquez le sélecteur d’enregistrement.
Afficher le corrigé
- Créer › Assistant Formulaire › T_Clients › >> › Colonne simple › titre F_Clients › Terminer.
- Mode Création : modifier l’étiquette de l’en-tête de formulaire en « Fiche client ».
- F4 › Formulaire › Format › Sélecteur d’enregistrement = Non.
Exercice 2 : clients d’Arras, consultation seule
Modifiez la source d’une copie de F_Clients pour n’afficher que les clients d’Arras, triés par nom, sans possibilité de modification ni d’ajout.
Afficher le corrigé
- Copier/coller F_Clients sous le nom F_Clients_Arras, ouvrir en mode Création.
- Propriété Source › … › Ville
"Arras", Nom en tri Croissant › fermer › Oui. - Onglet Données : Modification autorisée = Non, Ajout autorisé = Non.
Exercice 3 : fiche client avec ses commandes et leur total
Créez un formulaire client avec un sous-formulaire des commandes en feuille de données, et affichez le total des commandes du client dans le formulaire principal.
Afficher le corrigé
- Assistant : champs de T_Clients puis de T_Commandes › par T_Clients › Formulaire avec sous-formulaire(s) › Feuille de données.
- SF_Commandes en mode Création : afficher le pied de formulaire, zone de texte TotalCde =
=Somme([MontantHT]). - F_Clients : zone de texte
=[SF_Commandes].[Formulaire]![TotalCde], Format Monétaire.