Académique Documents
Professionnel Documents
Culture Documents
Vous devez utiliser les bases de données demoacc2.mdb ou demoacc3.mdb, pour Access 97,
ou demoa2k2.mdb ou demoa2k3.mdb pour Access 2000 et les versions suivantes. Ces bases
de données contiennent toutes les tables requises pour réaliser l'exercice. Vous les retrouverez
tous au bas de la page des fichiers de démonstration.
Introduction
Pour vraiment utliser une base de données, il faut être capable de chercher et d'afficher des
données provnant de plusieurs tables. Cela veut souvent dire qu'il faut un formulaire principal,
qui inclut les informations générales, avec un ou des sous formulaires pour avoir plus de
détails. L'exercice de cette page consiste à la création d'un formulaire pour la facturation de
l'entreprise. Pour montrer toutes les informations que l'on retrouve normalement dans ce
formulaire, il doit contenir un second formulaire qui décrit les items facturés.
Mais avant de pouvoir créer ce genre de formulaire, vous devez déjà avoir une bonne maîtrise
d'Access. Les tables sont créés et possèdent des données. Vos tables sont reliés et vous êtes
capable de créer des requêtes avec des champs calculés. Assurez-vous de bien maîtriser ces
concepts avant de créer un formulaire qui inclut un sous-formulaire.
De la liste des champs de la table Transition Fact-Inv, sélectionnez tous les champs.
Vous pouvez aussi sélectionnez l'astérisque (*) au dessus de la liste des champs. Cela aura
l'effet de choisir tous les champs de la table.
De la liste des champs de la table Inventaire, sélectionnez les champs Description et Prix
unitaire.
Créez un champ calculé STotal: quantité * [prix unitaire]
N'oubliez pas de mettre les crochets autour du champ Prix unitaire. Access se chargera de
mettre les crochets autour de Quantité. Ce champ calculé va donner le total de chacun des
items de la facture. On regardera plus loin comment avoir le total de tous les items de la
facture.
Création du formulaire
Avant de pouvoir ajouter un sous-formulaire, il faut créer le formulaire principal. Celui-ci
affichera les informations générales de la facture. Les informations sur les détails de la facture
seront dans le sous-formulaire.
L'assistant constate qu'il peut trier les enregistrements selon la clé primaire Numéro client ou
par la clé primaire No Facture. Il vous demande par quel champ il doit trier les
enregistrements. Pour cet exemple, on veut afficher les informations par facture et non par
client.
Sélectionnez par Facture.
Appuyez sur le bouton Suivant.
L'assistant vous demande ensuite de choisir le type de présentation des champs. Seront-ils
placés en colonne, en ligne, en feuille de données comme dans une table ou une requête ou en
ligne jusqu'au bout de l'écran. Les autres champs suivront sur la ligne suivante.
Modification du formulaire
Le formulaire est terminé. Mais il n'y a pas assez d'espace pour le sous-foumulaire. La
prochaine partie consiste à modifier le formulaire ci-dessus et d'y inclure un sous formulaire.
Ajouter le sous-formulaire
Il y a maintenant assez d'espace pour voir les items de la facture ainsi que le total. La
prochaine partie consiste à créer le sous-formulaire.
L'assistant vous demande ensuite quels seront les champs qui seront inclus dans le formulaire.
Si vous sélectionnez l'option Les définir moi-même. Vous devrez aussi déterminer quels sont
les champs en commun entre le formulaire et le sous-formulaire.
À moins qu'on indique autrement, la présentation des données est toujours en mode feuille de
données comme dans les tables ou les requêtes. Le premier champ Numéro indique le numéro
de la facture. Le second champ numéro indique le numéro de référence du produit de la table
Inventaire.
Le total de la facture
Le formulaire montre maintenant les informations du formulaire ainsi que les items facturés.
Mais il ne montre pas le total de la facture. Il faut ajouter un champ calculé pour le voir. La
prochaine partie consiste à ajouter un champ calculé pour voir le total.
Le sous formulaire apparaît. Il faut ajouter un champ calculé dans l'en-tête ou le pied du
formulaire. Pour cet exemple, il sera ajouté dans le pied de formulaire. Pour agrandir le pied
de formulaire.
En gardant un doigt sur le bouton gauche de la souris, déplacez le pointeur vers le bas.
La zone du pied de formulaire va s'agrandir. Il faut qu'il soit assez grand pour ajouter un
champ calculé.
De la barre d'outils, appuyez sur le bouton .
Cliquez dans la zone du pied de formulaire.
Un champ vide va apparaître dans le pied de formulaire. Il faut maintenant ajouter la formule
pour calculer le total et lui donner un nom significatif.
Comme dans Excel, les formules des champs calculés que l'on retrouve dans des formulaires
ou des états commencent toujours avec le signe "=". Cette formule va additionner les valeurs
de tous les enregistrements stotal. Il faut maintenant donner un nom significatif à ce nouveau
champ calculé.
Puisque ce champ a été placé soit dans dans l'en-tête ou le puied du formulaire, il va
maintenant faire la somme de tous les enregistrements de la table ou de la requête. Si ce
même champ aurait été placé dans la zone détail, il aurait fait la somme que d'un seul
enregistrement. C'est pour cette raison qu'il était important de placer ce champ dans l'en-tête
ou le pied du formulaire. Ces zones permettent d'accomplir des opérations sur tous les
enregistrements au lieu d'un seul.
Nous sommes maintenant de retour au formulaire Facture. Il faut ajouter une référence au
champ TotalItems dans ce formulaire pour voir le total des items de cette facture.
Le total est bien là. Mais va-t-il se mettre à jour si on change une valeur?
Placez le pointeur dans la case quantité de la quatrième ligne du sous formulaire (Planche à
neige).
Changez la quantité vendue de 4 à 5.
Déplacez le pointeur vers le haut.
L'image ci-dessus indique les propriétés du sous-formulaire incluant les cases Champs fils et
Champs pères qui indiquent les champs en commun entre le sous-formulaire (fils) et le
formulaire principal (père). Il doit se retrouver des champs en commun entre ces deux pour
qu'une relation soit possible.