COMPETENCES |
Enregistrer des mouvements |
|
OBJECTIFS |
- Créer des relations dynamiques de niveau 2 |
|
|
|
|
- Créer un formulaire avec sous-formulaire |
PREREQUIS |
- Créer une table - Etablir des relations |
|
|
- Insérer des contrôles calculés dans un
formulaire - Remplacer une zone de texte par une zone de liste |
|
|
|
|
B1 Création du formulaire principal (saisie des commandes)
· Fermez toutes les tables
· Dans la fenêtre Bases de données, sélectionnez l’objet Formulaire puis cliquez sur « Créer un formulaire en utilisant l’assistant »
· Sélectionnez la requête ENTETE BC puis sélectionnez tous les champs de la requête qui devront figurer dans le formulaire
·
L’affichage des données se fait par commande :
· La présentation du formulaire est en colonnes simples
·
Le titre du formulaire est : Saisie des
commandes :
·
Afficher la structure du formulaire en mode
création :
Il ne reste plus qu’à inclure le sous-formulaire contenant les lignes de chaque commande :
· En mode création de formulaire, augmentez la taille du formulaire :
B2 Création du sous-formulaire Articles en commande
· Cliquez sur le bouton assistant sous-formulaire/sous-état :
· Tracez à l’écran en dessous du champ MODEREG, le sous-formulaire
·
Dans l’assistant, indiquez que la source des
données provient d’une table ou d’une requête existante :
·
Sélectionnez ensuite la requête source (soit
CORPS BC) et sélectionnez tous les champs.
·
Il
faut ensuite indiquer à l’assistant quel est le champ permettant de lier le
formulaire principal (contenant en fait l’entête du bon de commande) avec
le sous-formulaire (en fait les lignes de commande) :
REMARQUES :
·
Lorsque le formulaire et
le sous-formulaire sont fondés sur des tables et que des relations
ont été établies entre les tables sur la base de clés primaires et
étrangères, ACCESS sait automatiquement déterminer le champ qui sert
de liaison entre le formulaire et le sous-formulaire. En revanche,
lorsque le formulaire et/ou le sous-formulaire sont fondés sur des requêtes,
il faut définir soi-même le champ de liaison.
·
Le champ NOCOM du formulaire
principal est appelé champ Père et le champ NOCOM du sous-formulaire
est appelé champ Fils :
·
Un Père a 1 ou
plusieurs Fils mais un Fils n’a qu’1 seul Père. Dans l’exemple, en
effet, une commande (identifié par un numéro de commande unique) comporte
plusieurs lignes (chaque ligne est identifiée par un numéro de commande ET
un numéro de produit)
·
Donnez un nom significatif au sous-formulaire
avant de terminer la création du sous-formulaire :
C/ Le fignolage
Le formulaire est maintenant créé mais la mise en forme laisse certainement à désirer. Basculez en mode création et déplacez les champs, renommez certaines étiquettes et augmentez la taille du sous-formulaire pour obtenir une présentation ressemblant à cela :
Eléments de modes opératoires :
· Les étiquettes concernant l’identité du client ont été supprimées
· Pour modifier le sous-formulaire, il faut d’abord fermer le formulaire Saisie des commandes en prenant soin de sauvegarder les modifications.
· Puis dans la fenêtre de base de données, il faut ouvrir le sous-formulaire « Articles en commande »
·
et l’affichez en mode feuille de
données (Bouton Affichage – Feuille de données)
· Sélectionnez toutes les colonnes et appliquez une taille de police de 8
· Sélectionnez la colonne NOCOM et masquez la (menu Affichage – Masquer Colonnes) car cette colonne se met à jour automatiquement et contient pour chaque commande la même valeur que celle figurant dans le formulaire principal.
· Ajustez ensuite la largeur de toutes les colonnes pour que le sous-formulaire s’affiche correctement dans le formulaire principal.
· Enregistrez le sous-formulaire (en conservant le même nom : Articles en commande et fermez le.
· Ouvrez le formulaire Saisie des commandes et vérifiez la présentation (au besoin procédez aux modifications qui s’imposent)
REMARQUE : La relation Père-Fils est synonyme de relation UN-PLUSIEURS : Un père a plusieurs Fils
Cela signifie qu’un NO COM de la table COMMANDE correspond à plusieurs lignes commandes.
ETS Papetière |
COMMANDE N°3 |
du 16/03/2001 |
|
Code client |
CRION |
Code produit |
Désignation |
Qtés commandées |
|
Boîte de CD-R 74 mn/10 |
20 |
|
Boîte de CD-RW /10 |
20 |
|
Filtre anti-reflet pour moniteur |
8 |
|
|
|
|