ACCESS : Réponses requête 31

31-Utilisez une requête pour entrer les données de factures.

Requête basée sur plusieurs tables pour entrer des enregistrements

Il est aussi possible d'utiliser une requête pour entrer des données. La requête doit avoir, au minimum, l'un des champs en commun des tables reliées. De plus, le champ en commun doit être celui qui permet d'entrer plusieurs fois la même information.

Ex : entre les champs fact_id et fact_id qui relient les tables Facture et L_Fact_Art, il faut utiliser le second.

Donc, pour cet exercice, il faut au minimum les champs fact_id, cli_id, emp_id et art_id. On pourrait ensuite choisir d'autres champs.

Pour démontrer l'efficacité de cette requête, seulement les champs suivants seront ajoutés :
cli_contact (de la table Client), cli_adresse et art_qte.

De plus, un champ calculé sera ajouté à la fin de chaque enregistrement pour déterminer le total de l'item. La formule sera la suivante: Total: [art_qte] * [art_pu].

Champ fact_id cli_id cli_nom cli_adresse emp_id art_id art_qte Total: [art_qte] * [art_pu]
Table L_Fact_Art Client Client Client Facture L_Fact_Art L_Fact_Art  
Tri                
Afficher X X X X X X X  
Critères                
  1. Modifiez les données suivantes dans les champs appropriés.
fact_id cli_id emp_id art_id art_qte
Aucune 1 2 1 10
Même qu'Access a déterminé à l'enregistrement ci-dessus Même Même 2 20
Aucune 2 3 1 10

Il est inutile d'entrer un numéro pour commencer une nouvelle facture. Les tables Facture et L_Fact_Art sont reliées avec l'option d'intégrité référentielle. Mais surtout, l'option Mise à jour en cascade a été activée.

Cela veut dire que, lorsque vous ne saisissez pas de chiffres, Access va vérifier s'il existe une valeur équivalente dans la table Facture. Puisque fact_id est la clé primaire de la table, est qu'il est impossible d'avoir un champ vide, cela force Access a créer un nouvel enregistrement dans la table Facture et de lui donner un numéro. Ce numéro est ensuite transféré au champ fact_id.

Le second enregistrement démontre qu'il est possible d'entrer plusieurs items sur une même facture. Il suffit d'écrire le même numéro de facture dans le champ fact_id. Cependant, grâceà la clé primaire composée de plusieurs champs de la table L_Fact_Art, l'utilisateur de la base de données ne pourra pas entrer plusieurs fois le même item sur la même facture.