Développement d'applications

avec une base de données

Les formulaires avec Access

Module précédent

Rappel

Formulaire = mode d'affichage des données page/page plutôt que ligne/ligne.

Remarque: les formulaires sont basés sur des tables ou sur des requêtes. Lorsqu'on ne trouve pas un champ dans un formulaire, c'est peut-être parce qu'on a basé notre formulaire sur une requête où il manque ce champ.

Les contrôles de formulaires.

Définition

Les contrôles de formulaires = outils pour faciliter

Exemple

Zone de texte = contrôle le plus utilisé (déjà vu dans les formulaires simples)

Zone de liste déroulante et Zone de liste

Contrôles qui permettent à l'usager de choisir parmi une liste limitée.

Groupe de boutons

Contrôle qui permet à l'usager de choisir parmi une liste limitée. Il offre à l'écran la liste des choix avec une taille fixe (comme une zone de liste) mais est plus intuitif en ajoutant des cercles (boutons-radios) qui indique quel option est sélectionnée.

Case à cocher

Comme un groupe de bouton, mais avec seulement 2 choix (oui/non, vrai/faux, homme/femme)

Sous-formulaire

Comment construire un contrôle?

Différence entre contrôle relié et contrôle non relié

Un contrôle peut être

Comment relier un contrôle?

Lorsqu'on drague un contrôle dans un formulaire, Access fait apparaître une série de fenêtres qui nous guide pour indiquer quel champ doit être modifié. Il suffit habituellement de répondre aux questions.

Attention: Il y a souvent un délai entre l'utilisation d'un contrôle et la modification de l'enregistrement. Pour vérifier si un contrôle fonctionne bien (i.e. s'il modifie correctement le champ dans une table), il est important de fermer toutes les fenêtres entre chaque étape de l'utilisation ou utiliser le bouton "Actualiser tout".

Comment créer une liste déroulante entre tables reliées (relation 1-N)?

L'utilité d'une liste déroulante est de remplacer une clé externe par un champ plus descriptif. Une clé externe est un champ numérique dans une table-enfant qui représente la clé primaire d'un champ-parent. Comme on ne sait pas par coeur les valeurs des clés primaires:

  1. on se fait une liste déroulante avec des champs qui décrivent bien le parent;
  2. puis on laisse Access s'occuper de trouver la clé primaire correspondant au champ descriptif;
  3. puis on laisse Access s'occuper de recopier la clé primaire dans la clé externe.

La procédure est:

  1. Draguer la clé externe à déterminer dans le formulaire (voir les les erreurs fréquentes);
  2. Supprimer le contrôle de texte qu'on vient de créer.
  3. Créer une liste déroulante.
  4. Choisir la table-parent qui contient le champ descriptif et la clé primaire;
  5. Choisir le(s) champ(s) qui décrit bien le parent;
  6. Les 2 étapes suivantes proposées par Access sont optionnelles.
  7. IMPORTANT : Choisir de "Stocker la valeur dans ce champ" en choisissant de stocker la valeur dans la clé externe de la table-enfant. Cette étape correspond aux étapes b. et c. de la liste précédente.

Comment créer un sous-formulaire entre tables reliées (relation 1-N)?

L'utilité d'un sous-formulaire est de faire la liste des enfants d'un enregistrement-parent.

La procédure est:

  1. Faire un formulaire de façon normale en se rappelant qu'il servira plus tard de liste d'enfants.
  2. Dans le formulaire-parent, faire un contrôle de sous-formulaire.
  3. Utiliser un formulaire existant en choisissant le formulaire-enfant qu'on vient de créer à l'étape 1.
  4. Définir la relation entre le formulaire-parent et le formulaire-enfant de la même façon qu'on a fait pour les relations. Il faut répéter le lien entre la clé primaire et la clé externe.
  5. Donner un nom à la liste.

Comment créer un sous-formulaire entre tables reliées (relation N-N)?

L'utilité d'un sous-formulaire est de faire la liste des enfants d'un enregistrement-parent. Dans les relations N-N, il est important de comprendre que les enfants d'un enregistrement-parent sont dans la table de relations.

La procédure est:

  1. Faire un formulaire-enfant basé sur la table de relations comme pour les relations 1-N.
  2. Dans le formulaire-enfant, faire une liste déroulante pour remplacer la 2e clé externe par un champ descriptif de la 2e table de la relation N-N.
  3. Dans le formulaire-parent, faire un contrôle de sous-formulaire et ajouter le sous-formulaire fabriqué précédemment. Le lien entre le formulaire-parent et le sous-formulaire-enfant est la même que pour les relations entre la table-parent et la table de relations.

Comment choisir entre liste déroulante ou sous-formulaire?

Dans une relation un-à-plusieurs, il est souvent mêlant de choisir entre une liste déroulante ou un sous-formulaire.

Pour savoir lequel utiliser, il faut se rappeler que la relation possède 2 angles:

Erreur fréquente à ne pas faire

Une erreur fréquente lors de la création d'un contrôle consiste à oublier de relier le formulaire à un champ.

Module Suivant