Calcul dans ACCESS

Résolu/Fermé
Gilles - 19 janv. 2017 à 21:57
GCdeK Messages postés 2 Date d'inscription jeudi 19 janvier 2017 Statut Membre Dernière intervention 20 janvier 2017 - 20 janv. 2017 à 11:03
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 lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 217
Modifié par castours le 19/01/2017 à 22:29
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 jeudi 19 janvier 2017 Statut Membre Dernière intervention 20 janvier 2017
20 janv. 2017 à 11:03
Merci, mais, débutant avec Access, j'essaie de me construire des trucs simples et progressifs pour comprendre comment ça marche.
0
Utilisateur anonyme
19 janv. 2017 à 22:35
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 jeudi 19 janvier 2017 Statut Membre Dernière intervention 20 janvier 2017
20 janv. 2017 à 11:00
Merci, ça marche !
0
yg_be Messages postés 23400 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 décembre 2024 Ambassadeur 1 557
19 janv. 2017 à 22:55
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