Calcul dans ACCESS

Résolu
Gilles -  
GCdeK Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'essaie de faire une requête avec calcul sur des données venant de 2 tables : une table "achat" comportant 10 produits P1 à P10 achetés par quantité de 10 (donc 10 lignes dans la table) et une table "vente" dans laquelle seuls 3 produits P1 à P3 ont été vendus par quantité respectivement 1, 2 et 3. Je précise que cette table comporte 6 lignes correspondant aux 6 ventes effectuées.
Comment faire une requête "stock" soit différence achat - vente, qui me donne les BONS résultats ?
- Si je fais une requête directement sur les 2 tables, les produits P2 et P3 comportent une donnée quantité achetée de 20 et 30 (valeur correcte 10) correspondant au fait qu'il y a pour ces produits 2 et 3 lignes de vente !! La Q achetée est multipliée par le nombre de fois qu'apparait le produit vendu (donc 2 ou 3 dans ces cas) (je l'ai vérifié sur plein de cas). Ca n'a aucun sens et je ne comprends qu'ACCESS puisse donner de telles données aberrantes !
- Si je fais de requêtes intermédiaires (bilan achat et bilan vente) et une requête "stock" sur ces 2 requêtes, les quantités sont alors correctes, mais pour les produits qui n'ont pas encore été vendus, aucun calcul ne se fait alors que la quantité achetée devrait apparaître ! Mystère.

A voir également:

3 réponses

castours Messages postés 2955 Date d'inscription   Statut Membre Dernière intervention   217
 
bonjour
le stock est la somme des produits achetés moins la somme des produits vendus.
j'ai une base exemple de calcul de stock.
cela t'interresse t il
https://www.cjoint.com/c/FHmm20A51qV
un exemple dans ce lien
0
GCdeK Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
Merci, mais, débutant avec Access, j'essaie de me construire des trucs simples et progressifs pour comprendre comment ça marche.
0
Utilisateur anonyme
 
Bonjour,

Ca n'a aucun sens et je ne comprends qu'ACCESS puisse donner de telles données aberrantes !

Comme on dit, le bug est entre la chaise et le clavier, Access te retourne ce que tu lui demandes :)

Il faudrait voir tes requêtes.

Mais je suis certain que la fonction NZ() devrait répondre à ton souci : https://support.microsoft.com/fr-fr/office/nz-fonction-8ef85549-cc9c-438b-860a-7fd9f4c69b6c?ui=fr-fr&rs=fr-fr&ad=fr

Si tu rencontres un souci avec son utilisation, n'hésites pas.

A+
0
GCdeK Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
Merci, ça marche !
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonsoir, nous pourrions probablement t'aider si tu partageais la définition (SQL) de tes requêtes.
Toi, tu ne comprends pas qu'ACCESS puisse donner de telles données aberrantes. Access ne comprends sans doute pas que tu lui demandes d’exécuter des actions aussi aberrantes. Si tu veux progresser, apprend à te remettre en cause.

ta deuxième tentative (bilan via requêtes intermédiaires) est bonne, bien meilleure que ta première tentative aberrante. cependant, tu as apparemment négligé de faire un "outer join" dans la requête finale "stock". si tu as défini la relation entre les deux requêtes "bilan" via le gestionnaire de relations, jette un coup d’œil dans les propriétés de cette relation : tu veux avoir tous les enregistrements de "bilan achat", même ceux n'ayant pas d'enregistrement correspondant dans "bilan vente".
0