Pbs sur relation entre 2 tables
Résolumisterwood Messages postés 20 Statut Membre -
4 réponses
Le problème porte sur une relation entre T_MB51_BLOE et T_Articles_Fournisseurs, car la table de sortie T_Quantité_Livree_BLOE affiche des enregistrements avec des champs vides alors que les données sources existent dans Excel. Des réponses convergent vers l'hypothèse d'absence de correspondance dans T_Articles_Fournisseurs, car la jointure sur Fourn, Article et Plant peut renvoyer des NULL, générant des trous dans T_Quantité_Livree_BLOE. Plusieurs préconisent d'utiliser une LEFT JOIN pour détecter les enregistrements sans match et de vérifier que les colonnes obligatoires, notamment raison sociale et référence logistique, soient renseignées. En parallèle, des tests sur une version plus petite avec PowerPivot et PowerQuery montrent que les quantités ne se résument pas correctement, suggérant une révision des jointures et du remplissage.
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
ceci te donne les 690 enregistrements de T_MB51_ BLOE pour lesquels il n'y a pas de correspondance dans T_Articles_Fournisseurs:
SELECT [T_MB51_ BLOE].* FROM [T_MB51_ BLOE] LEFT JOIN T_Articles_Fournisseurs ON ([T_MB51_ BLOE].Fourn = T_Articles_Fournisseurs.[Supplier Code]) AND ([T_MB51_ BLOE].Article = T_Articles_Fournisseurs.[Logistic Ref]) AND ([T_MB51_ BLOE].Plant = T_Articles_Fournisseurs.[Plant Code]) where T_Articles_Fournisseurs.[Supplier Code] is null
-
Merci bien à toi, maintenant il faudrait que je revois toute la base ou que je recode en VBA Excel; sachant que Access n'est pas un outil reconnu chez nous. En ce moment ils prennent Tableau Software comme le graal, j'ai beau leur expliquer que ça ne fera pas le boulot sans un minimum de programmation (R ou Python), c'est pareil. En tout cas, tu as été d'un grand secours.
-
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour, penses-tu que nous puissions t'aider avec les information fournies?-
-
-
En fait, c'est assez simple, un fichier excel avec les cdes du mois versé dans une table. Une table globale avec pas mal d'infos sur les fournisseurs. Une relation et une table de sortie. Mais tout n'est pas pris en compte; on pourrait croire qu'il manque une data mais parfois c'est le même fournisseur avec le même article. Ce serait plus simple avec les fichiers.
Access 2007-2016 en 32bits
https://www.cjoint.com/c/JFlnfxDiDFD
https://www.cjoint.com/c/JFlngxpuiID -
-
T_Articles_Fournisseurs est la base avec les infos fournissuers
T_MB51_BLOE est la table qui récupère les data excel
T_Qté est une table tampo
T_Quantité_Livree_BLOE est la table de sortie
Quelques requêtes de vidage de tables, une d'affichage et mise à jour, le contenu de la macro est assez light. j'ai vérifié le typage des champs, il y avait une erreur pour un champ date mais ça n'explique pas mon pbs. Tu peux voire quand dans la table de sortie T_Quantité_Livree_BLOE, il y a des trous pour le même fournisseur.
L'emmerdement est que cette table est reprise bien plus loin pour le comptage et qu'il y a donc forcément de gros écarts, surtout cumulé en fin d'année.
-
-
J'ai beau chercher, je ne vois vraiment pas pourquoi la table BLOE_prim ne contient pas tout ce est dans la table MB51_BLOE.
La table T_Quantité_Livree_BLOE est là pour cumuler les data de l'année, mois après mois.-
-
-
-
Sur la table de sortie T_Quantite_Livree_BLOE je ne devrais pas avoir de lignes blanches, il y a toujours une Raison_Social ainsi que Reference_Logistique et Reference_Commerciale. Par exemple si tu vas à l'enregistrement 12658 sur 10299, tu vois que le Fournisseur 10058954 a livré mais que les champs sont vides. Il ne devrait pas y avoir ce champs vides sauf pour Activite et Famille qui ne sont pas enseignés pour certains.
-
dans le screeshot suivant (encadré en bleu), https://www.cjoint.com/c/JFmie3F5S0D de la table de sortie T_Quantite_Livree_BLOE il y a des champs vides qui ne devraient pas l'être, c'est excatement le même fournisseur que la ligne juste au dessus. la jointure se fait avec le champ Fourn de la table T_MB51_BLOE qui ramène les data de la table T_Articles_Fournisseurs. On devrait voir apparaître les mêmes infos raison Social etc...
-
-
je suis plutôt un habitué de Excel avec PowerPivot et PowerQuery et j'avoue ne pas trop maîtriser Access. j'ai donc fait un essai ce matin avec une base plus petite mais toujours dans le même but, deux tables d'entrée MB51 qui est l'image des achat du mois, la table Product_List qui contient les infos de chaque article, et une table de sortie Quantité BLOE où je veux voir la somme de chaque article par fournisseur. Une requête et une petite macro. En sortie, je ne vois que les quantités, je pense que je fais mal mais je ne vois pas où.
https://www.cjoint.com/c/JFmisBm4xlD