Base (Formulaires et sous-formulaires)

1. Introduction

1.1 Elements à mémoriser dans la base

Il s’agit de créer une base permettant de représenter les informations suivantes.

 

 

1.2 Base avec une table unique

Voici une première proposition de table unique pour représenter ces 2 commandes.
L’inconvénient de ce choix de représentation est le suivant : un bon de commande est limité à 3 lignes.
Si on veut augmenter le nombre de lignes, il faut ajouter à chaque ligne de commande 3 champs « Qunantité X », « Article X » et « Prix Unitaire X »

1.3 Base avec 2 tables

Voici la proposition.
Remarquez bien qu’il n’y a qu’un seul champ par table qui a une autovaleur.

Voici ce que l’on verrait dans les 2 tables si on avait entré les 2 commandes exemples vues précédemment.

2.1 Formulaire que l'on aimerait créer

Le rectangle rouge indique l’endroit où se trouve ce qui est appelé le sous-formulaire.

 

 

2.2 Opérations à effectuer avant de créer un formulaire avec un sous-formulaire

Pour que Base puisse créer des enregistrements de T_LigneCommande directement associés à une commande en cours

(c-a-d positionner la valeur 152 dans le champ numCommandeFk automatiquement),

il faut au péalable lier la table T_Commande à la table T_LigneCommande.

(1) Cliquer sur Outils/Relations…
(2) On obtient une fenêtre où l’on peut ‘poser’ des tables.

Nous allons inclure les 2 tables T_Commande et T_LigneCommande
(3) Sélectionner T_Commande
(4) Cliquer sur « Ajouter »
(5) Sélectionner T_LigneCommande
(6) Cliquer sur « Ajouter »
(7) Voilà ce que l’on obtient.

Nous allons maintenant relier idCommandePk à numCommentaireFk

(8) Cliquer sur iDCommandePk et maintenir la souris appuyée
(9) Tout en maintenant la souris appuyée, déplacer votre souris et la relacher sur numCommandeFk.
Si tout s’est bien passé, vous devriez voir un trait reliant T_Commande à T_LigneCommande débutant par idNumCommandePk et se terminant à numCommandeFk
Vous venez de créer une relation 1-N entre ces 2 tables.
Cela veut dire qu’à 1 commande, peuvent être associées plusieurs lignes de commandes.
(10) Si on double-clique sur la relation, on verra apparaître le tableau suivant (11) qui rappellera les 2 champs liés

2.3 Création du formulaire et sous-formulaire avec l'assistant

(1) Il s’agit de la fenêtre montrant les éléments de la base de données « Essai.odb »
(2) Sélectionner « Formulaires »
(3) Choisir « Utiliser l’assistant pour créer un formulaire »
(4) La fenêtre « Assistant Formulaire apparaîtra »
(5) Choisir les éléments de la tble T_Commande qui doivent apparaître dans le formulaire.
Ici, j’ai tout sélectionné
(6) Cliquer sur le bouton « > » pour les faire passer dans la liste « Champs du formulaire »(7) Vous avez sélectionné les champs du formulaire (mais pas encore ceux du sous-formulaire)
(8) Cliquer sur « Suivant »
(9) Vous êtes sur le point de paramétrer le sous-formulaire
(10) Cliquer sur « Ajouter un sous-formulaire »
(11) Cocher « Sous-formulaire basé sur une relation existante »
(12) Sélectionner T_LigneCommande
(13) Cliquer sur « Suivant »

(14) Vous êtes au début de l’étape de « Ajouter des champs de sous-formulaire »
(15) Choisissez uniquement les champs utiles comme « Quantité », « Article » et « Prix Unitaire ».
Ce n’est pas la peine de prendre (idLigneCommandePk) car le formulaire les génèrera automatiquement, ni « numCommandeFk » qui est relié justement à l’idCommandePk de la commande à éditer.
(16) Cliquer sur « > » pour mettre les champs sélectionnés dans la liste « Champs du formulaire »
(17) Voilà ce que vous obtenez
(18) Cliquer sur « Suivant »
(19) Vous êtes à l’étape de « Positionner les contrôles »
(20) Choisissez « Colonne – Etiquettes à gauche » pour la disposition du formulaire principal
(21) Choisissez « Comme feuille de données » pour la disposition du sous-formulaire

(22) Vous êtes à l’étape de « Définir la saisie de données »
(23) Cocher « Le formulaire doit afficher toutes les données ».
Si vous créez un formulaire uniquement pour créer de nouvelles données, il faudra alors cocher la case du dessus.
(24) Cliquer sur « Suivant »
(25) Vous êtes à l’étape « Appliquer les styles ».
(26)(27) Après avoir choisi le style (ici Beige et 3D), cliquer sur « Suivant ».
(28)(29) Il ne vous reste plus qu’à définir le nom de votre formulaire.
(30) Choisissez « Modifier le formulaire » car c’est rare que le formulaire généré par l’assistant soit parfait
(31) Cliquer sur « Terminer »

(32) Vous obtiendrez ce formulaire
(33) La ville est placée trop haut.
(34) Les largeurs des colonnes de la feuille de données ne sont pas bien ajustées.
(35) Voilà ce que l’n peut obtenir après modification