Bonjour à tous,
J'utilise access 2003 et voici mon problème: A partir de 4 tables, je
souhaiterais avoir un état de stock. J'ai 1 table vente comptant détail, 1
table facture détail, 1 table détail entrées produits, 1 table produit. A
partir de cela, Entrées produits - Facture détail - Vente comptant détail me
donne un stock théorique.L'ennui c'est que lorsque dans une des tables il n'y
a pas de mouvement pour un des produit, la ligne de ce produit n'apparaît pas
dans ma requête. Ci dessous le code de la requête
SELECT DISTINCTROW Produits.[Réf Produit], Sum([Vente comptant -
Détail].Quantité) AS [Somme De Vente comptant - Détail_Quantité],
Sum([Facture - Détail].Quantité) AS [Somme De Facture - Détail_Quantité],
Sum([Détail Entrées Produits].Quantités) AS [Somme De Quantités]
FROM ((Produits INNER JOIN [Détail Entrées Produits] ON Produits.[Réf
Produit] = [Détail Entrées Produits].réfProduitEntrées) INNER JOIN [Facture -
Détail] ON Produits.[Réf Produit] = [Facture - Détail].[Réf produit]) INNER
JOIN [Vente comptant - Détail] ON Produits.[Réf Produit] = [Vente comptant -
Détail].[Réf produit]
GROUP BY Produits.[Réf Produit];
Peut-être est ce parce que sans opération la somme est vide et non pas 0?
Merci de m'aider et bonne journée à vous.
Bonjour à tous,
J'utilise access 2003 et voici mon problème: A partir de 4 tables, je
souhaiterais avoir un état de stock. J'ai 1 table vente comptant détail, 1
table facture détail, 1 table détail entrées produits, 1 table produit. A
partir de cela, Entrées produits - Facture détail - Vente comptant détail me
donne un stock théorique.L'ennui c'est que lorsque dans une des tables il n'y
a pas de mouvement pour un des produit, la ligne de ce produit n'apparaît pas
dans ma requête. Ci dessous le code de la requête
SELECT DISTINCTROW Produits.[Réf Produit], Sum([Vente comptant -
Détail].Quantité) AS [Somme De Vente comptant - Détail_Quantité],
Sum([Facture - Détail].Quantité) AS [Somme De Facture - Détail_Quantité],
Sum([Détail Entrées Produits].Quantités) AS [Somme De Quantités]
FROM ((Produits INNER JOIN [Détail Entrées Produits] ON Produits.[Réf
Produit] = [Détail Entrées Produits].réfProduitEntrées) INNER JOIN [Facture -
Détail] ON Produits.[Réf Produit] = [Facture - Détail].[Réf produit]) INNER
JOIN [Vente comptant - Détail] ON Produits.[Réf Produit] = [Vente comptant -
Détail].[Réf produit]
GROUP BY Produits.[Réf Produit];
Peut-être est ce parce que sans opération la somme est vide et non pas 0?
Merci de m'aider et bonne journée à vous.
Bonjour à tous,
J'utilise access 2003 et voici mon problème: A partir de 4 tables, je
souhaiterais avoir un état de stock. J'ai 1 table vente comptant détail, 1
table facture détail, 1 table détail entrées produits, 1 table produit. A
partir de cela, Entrées produits - Facture détail - Vente comptant détail me
donne un stock théorique.L'ennui c'est que lorsque dans une des tables il n'y
a pas de mouvement pour un des produit, la ligne de ce produit n'apparaît pas
dans ma requête. Ci dessous le code de la requête
SELECT DISTINCTROW Produits.[Réf Produit], Sum([Vente comptant -
Détail].Quantité) AS [Somme De Vente comptant - Détail_Quantité],
Sum([Facture - Détail].Quantité) AS [Somme De Facture - Détail_Quantité],
Sum([Détail Entrées Produits].Quantités) AS [Somme De Quantités]
FROM ((Produits INNER JOIN [Détail Entrées Produits] ON Produits.[Réf
Produit] = [Détail Entrées Produits].réfProduitEntrées) INNER JOIN [Facture -
Détail] ON Produits.[Réf Produit] = [Facture - Détail].[Réf produit]) INNER
JOIN [Vente comptant - Détail] ON Produits.[Réf Produit] = [Vente comptant -
Détail].[Réf produit]
GROUP BY Produits.[Réf Produit];
Peut-être est ce parce que sans opération la somme est vide et non pas 0?
Merci de m'aider et bonne journée à vous.
Bonjour Marc,
ta requête ne renvoie que les enregistrements présents dans les 4 tables. Si
tu souhaites avoir un état pour tous les produits; il faut que la requête
renvoie tous les enregistrements de la table produit et ce qu'ils soient
référencés ou non dans les 3 autres tables. Selon moi, il te faut remplacer
l'instruction INNER JOIN par un LEFT JOIN, je ne sais pas ici si tu dois
remplacer tous les instructions INNER JOIN ou juste la première; à essayer.
ex:
... FROM PRODUITS LEFT JOIN
([D E P] INNER JOIN ([F - D] INNER JOIN [V C - D] ON ) ON ) ON
"Marc CNS" a écrit :
> Bonjour à tous,
>
> J'utilise access 2003 et voici mon problème: A partir de 4 tables, je
> souhaiterais avoir un état de stock. J'ai 1 table vente comptant détail, 1
> table facture détail, 1 table détail entrées produits, 1 table produit. A
> partir de cela, Entrées produits - Facture détail - Vente comptant détail me
> donne un stock théorique.L'ennui c'est que lorsque dans une des tables il n'y
> a pas de mouvement pour un des produit, la ligne de ce produit n'apparaît pas
> dans ma requête. Ci dessous le code de la requête
> SELECT DISTINCTROW Produits.[Réf Produit], Sum([Vente comptant -
> Détail].Quantité) AS [Somme De Vente comptant - Détail_Quantité],
> Sum([Facture - Détail].Quantité) AS [Somme De Facture - Détail_Quantité],
> Sum([Détail Entrées Produits].Quantités) AS [Somme De Quantités]
> FROM ((Produits INNER JOIN [Détail Entrées Produits] ON Produits.[Réf
> Produit] = [Détail Entrées Produits].réfProduitEntrées) INNER JOIN [Facture -
> Détail] ON Produits.[Réf Produit] = [Facture - Détail].[Réf produit]) INNER
> JOIN [Vente comptant - Détail] ON Produits.[Réf Produit] = [Vente comptant -
> Détail].[Réf produit]
> GROUP BY Produits.[Réf Produit];
> Peut-être est ce parce que sans opération la somme est vide et non pas 0?
> Merci de m'aider et bonne journée à vous.
>
>
>
>
>
Bonjour Marc,
ta requête ne renvoie que les enregistrements présents dans les 4 tables. Si
tu souhaites avoir un état pour tous les produits; il faut que la requête
renvoie tous les enregistrements de la table produit et ce qu'ils soient
référencés ou non dans les 3 autres tables. Selon moi, il te faut remplacer
l'instruction INNER JOIN par un LEFT JOIN, je ne sais pas ici si tu dois
remplacer tous les instructions INNER JOIN ou juste la première; à essayer.
ex:
... FROM PRODUITS LEFT JOIN
([D E P] INNER JOIN ([F - D] INNER JOIN [V C - D] ON ) ON ) ON
"Marc CNS" a écrit :
> Bonjour à tous,
>
> J'utilise access 2003 et voici mon problème: A partir de 4 tables, je
> souhaiterais avoir un état de stock. J'ai 1 table vente comptant détail, 1
> table facture détail, 1 table détail entrées produits, 1 table produit. A
> partir de cela, Entrées produits - Facture détail - Vente comptant détail me
> donne un stock théorique.L'ennui c'est que lorsque dans une des tables il n'y
> a pas de mouvement pour un des produit, la ligne de ce produit n'apparaît pas
> dans ma requête. Ci dessous le code de la requête
> SELECT DISTINCTROW Produits.[Réf Produit], Sum([Vente comptant -
> Détail].Quantité) AS [Somme De Vente comptant - Détail_Quantité],
> Sum([Facture - Détail].Quantité) AS [Somme De Facture - Détail_Quantité],
> Sum([Détail Entrées Produits].Quantités) AS [Somme De Quantités]
> FROM ((Produits INNER JOIN [Détail Entrées Produits] ON Produits.[Réf
> Produit] = [Détail Entrées Produits].réfProduitEntrées) INNER JOIN [Facture -
> Détail] ON Produits.[Réf Produit] = [Facture - Détail].[Réf produit]) INNER
> JOIN [Vente comptant - Détail] ON Produits.[Réf Produit] = [Vente comptant -
> Détail].[Réf produit]
> GROUP BY Produits.[Réf Produit];
> Peut-être est ce parce que sans opération la somme est vide et non pas 0?
> Merci de m'aider et bonne journée à vous.
>
>
>
>
>
Bonjour Marc,
ta requête ne renvoie que les enregistrements présents dans les 4 tables. Si
tu souhaites avoir un état pour tous les produits; il faut que la requête
renvoie tous les enregistrements de la table produit et ce qu'ils soient
référencés ou non dans les 3 autres tables. Selon moi, il te faut remplacer
l'instruction INNER JOIN par un LEFT JOIN, je ne sais pas ici si tu dois
remplacer tous les instructions INNER JOIN ou juste la première; à essayer.
ex:
... FROM PRODUITS LEFT JOIN
([D E P] INNER JOIN ([F - D] INNER JOIN [V C - D] ON ) ON ) ON
"Marc CNS" a écrit :
> Bonjour à tous,
>
> J'utilise access 2003 et voici mon problème: A partir de 4 tables, je
> souhaiterais avoir un état de stock. J'ai 1 table vente comptant détail, 1
> table facture détail, 1 table détail entrées produits, 1 table produit. A
> partir de cela, Entrées produits - Facture détail - Vente comptant détail me
> donne un stock théorique.L'ennui c'est que lorsque dans une des tables il n'y
> a pas de mouvement pour un des produit, la ligne de ce produit n'apparaît pas
> dans ma requête. Ci dessous le code de la requête
> SELECT DISTINCTROW Produits.[Réf Produit], Sum([Vente comptant -
> Détail].Quantité) AS [Somme De Vente comptant - Détail_Quantité],
> Sum([Facture - Détail].Quantité) AS [Somme De Facture - Détail_Quantité],
> Sum([Détail Entrées Produits].Quantités) AS [Somme De Quantités]
> FROM ((Produits INNER JOIN [Détail Entrées Produits] ON Produits.[Réf
> Produit] = [Détail Entrées Produits].réfProduitEntrées) INNER JOIN [Facture -
> Détail] ON Produits.[Réf Produit] = [Facture - Détail].[Réf produit]) INNER
> JOIN [Vente comptant - Détail] ON Produits.[Réf Produit] = [Vente comptant -
> Détail].[Réf produit]
> GROUP BY Produits.[Réf Produit];
> Peut-être est ce parce que sans opération la somme est vide et non pas 0?
> Merci de m'aider et bonne journée à vous.
>
>
>
>
>
Un grand merci. Je te confirme qu'il faut remplacer toutes les instruction
INNER JOIN. Néanmoins, le problème persiste au niveau de l'expression qui
calcule l'état de stock. Je pense que quelque chose ne fonctionne pas au
niveau du code ci après :
AS [Somme De Quantités], [Somme De Quantités]-[Somme De Vente comptant -
Détail_Quantité]-[Somme De Facture - Détail_Quantité] AS Expr1
Voici ce que la requête est devenue:
SELECT DISTINCTROW Produits.[Réf Produit], Sum([Vente comptant -
Détail].Quantité) AS [Somme De Vente comptant - Détail_Quantité],
Sum([Facture - Détail].Quantité) AS [Somme De Facture - Détail_Quantité],
Sum([Détail Entrées Produits].Quantités) AS [Somme De Quantités], [Somme
Quantités]-[Somme De Vente comptant - Détail_Quantité]-[Somme De Facture -
Détail_Quantité] AS Expr1
FROM ((Produits LEFT JOIN [Détail Entrées Produits] ON Produits.[Réf
Produit] = [Détail Entrées Produits].réfProduitEntrées) LEFT JOIN
Détail] ON Produits.[Réf Produit] = [Facture - Détail].[Réf produit]) LEFT
JOIN [Vente comptant - Détail] ON Produits.[Réf Produit] = [Vente
Détail].[Réf produit]
GROUP BY Produits.[Réf Produit];
A ce stade, on pourrait sans problème exporter les données vers exel et
effectuer le calcul dans la feuille mais je pense qu'on peut sûrement
mieux et obtenir le stock directement dans la requête.
Encore merci à tous et à bientôt
"Dragan" a écrit :
> Bonjour Marc,
> ta requête ne renvoie que les enregistrements présents dans les 4
> tu souhaites avoir un état pour tous les produits; il faut que la
> renvoie tous les enregistrements de la table produit et ce qu'ils soient
> référencés ou non dans les 3 autres tables. Selon moi, il te faut
> l'instruction INNER JOIN par un LEFT JOIN, je ne sais pas ici si tu dois
> remplacer tous les instructions INNER JOIN ou juste la première; à
>
> ex:
> ... FROM PRODUITS LEFT JOIN
> ([D E P] INNER JOIN ([F - D] INNER JOIN [V C - D] ON ) ON ) ON
>
>
> "Marc CNS" a écrit :
>
> > Bonjour à tous,
> >
> > J'utilise access 2003 et voici mon problème: A partir de 4 tables, je
> > souhaiterais avoir un état de stock. J'ai 1 table vente comptant
> > table facture détail, 1 table détail entrées produits, 1 table
> > partir de cela, Entrées produits - Facture détail - Vente comptant
> > donne un stock théorique.L'ennui c'est que lorsque dans une des tables
> > a pas de mouvement pour un des produit, la ligne de ce produit
> > dans ma requête. Ci dessous le code de la requête
> > SELECT DISTINCTROW Produits.[Réf Produit], Sum([Vente comptant -
> > Détail].Quantité) AS [Somme De Vente comptant - Détail_Quantité],
> > Sum([Facture - Détail].Quantité) AS [Somme De Facture -
> > Sum([Détail Entrées Produits].Quantités) AS [Somme De Quantités]
> > FROM ((Produits INNER JOIN [Détail Entrées Produits] ON Produits.[Réf
> > Produit] = [Détail Entrées Produits].réfProduitEntrées) INNER JOIN
> > Détail] ON Produits.[Réf Produit] = [Facture - Détail].[Réf produit])
> > JOIN [Vente comptant - Détail] ON Produits.[Réf Produit] = [Vente
> > Détail].[Réf produit]
> > GROUP BY Produits.[Réf Produit];
> > Peut-être est ce parce que sans opération la somme est vide et non pas
> > Merci de m'aider et bonne journée à vous.
> >
> >
> >
> >
> >
Un grand merci. Je te confirme qu'il faut remplacer toutes les instruction
INNER JOIN. Néanmoins, le problème persiste au niveau de l'expression qui
calcule l'état de stock. Je pense que quelque chose ne fonctionne pas au
niveau du code ci après :
AS [Somme De Quantités], [Somme De Quantités]-[Somme De Vente comptant -
Détail_Quantité]-[Somme De Facture - Détail_Quantité] AS Expr1
Voici ce que la requête est devenue:
SELECT DISTINCTROW Produits.[Réf Produit], Sum([Vente comptant -
Détail].Quantité) AS [Somme De Vente comptant - Détail_Quantité],
Sum([Facture - Détail].Quantité) AS [Somme De Facture - Détail_Quantité],
Sum([Détail Entrées Produits].Quantités) AS [Somme De Quantités], [Somme
Quantités]-[Somme De Vente comptant - Détail_Quantité]-[Somme De Facture -
Détail_Quantité] AS Expr1
FROM ((Produits LEFT JOIN [Détail Entrées Produits] ON Produits.[Réf
Produit] = [Détail Entrées Produits].réfProduitEntrées) LEFT JOIN
Détail] ON Produits.[Réf Produit] = [Facture - Détail].[Réf produit]) LEFT
JOIN [Vente comptant - Détail] ON Produits.[Réf Produit] = [Vente
Détail].[Réf produit]
GROUP BY Produits.[Réf Produit];
A ce stade, on pourrait sans problème exporter les données vers exel et
effectuer le calcul dans la feuille mais je pense qu'on peut sûrement
mieux et obtenir le stock directement dans la requête.
Encore merci à tous et à bientôt
"Dragan" a écrit :
> Bonjour Marc,
> ta requête ne renvoie que les enregistrements présents dans les 4
> tu souhaites avoir un état pour tous les produits; il faut que la
> renvoie tous les enregistrements de la table produit et ce qu'ils soient
> référencés ou non dans les 3 autres tables. Selon moi, il te faut
> l'instruction INNER JOIN par un LEFT JOIN, je ne sais pas ici si tu dois
> remplacer tous les instructions INNER JOIN ou juste la première; à
>
> ex:
> ... FROM PRODUITS LEFT JOIN
> ([D E P] INNER JOIN ([F - D] INNER JOIN [V C - D] ON ) ON ) ON
>
>
> "Marc CNS" a écrit :
>
> > Bonjour à tous,
> >
> > J'utilise access 2003 et voici mon problème: A partir de 4 tables, je
> > souhaiterais avoir un état de stock. J'ai 1 table vente comptant
> > table facture détail, 1 table détail entrées produits, 1 table
> > partir de cela, Entrées produits - Facture détail - Vente comptant
> > donne un stock théorique.L'ennui c'est que lorsque dans une des tables
> > a pas de mouvement pour un des produit, la ligne de ce produit
> > dans ma requête. Ci dessous le code de la requête
> > SELECT DISTINCTROW Produits.[Réf Produit], Sum([Vente comptant -
> > Détail].Quantité) AS [Somme De Vente comptant - Détail_Quantité],
> > Sum([Facture - Détail].Quantité) AS [Somme De Facture -
> > Sum([Détail Entrées Produits].Quantités) AS [Somme De Quantités]
> > FROM ((Produits INNER JOIN [Détail Entrées Produits] ON Produits.[Réf
> > Produit] = [Détail Entrées Produits].réfProduitEntrées) INNER JOIN
> > Détail] ON Produits.[Réf Produit] = [Facture - Détail].[Réf produit])
> > JOIN [Vente comptant - Détail] ON Produits.[Réf Produit] = [Vente
> > Détail].[Réf produit]
> > GROUP BY Produits.[Réf Produit];
> > Peut-être est ce parce que sans opération la somme est vide et non pas
> > Merci de m'aider et bonne journée à vous.
> >
> >
> >
> >
> >
Un grand merci. Je te confirme qu'il faut remplacer toutes les instruction
INNER JOIN. Néanmoins, le problème persiste au niveau de l'expression qui
calcule l'état de stock. Je pense que quelque chose ne fonctionne pas au
niveau du code ci après :
AS [Somme De Quantités], [Somme De Quantités]-[Somme De Vente comptant -
Détail_Quantité]-[Somme De Facture - Détail_Quantité] AS Expr1
Voici ce que la requête est devenue:
SELECT DISTINCTROW Produits.[Réf Produit], Sum([Vente comptant -
Détail].Quantité) AS [Somme De Vente comptant - Détail_Quantité],
Sum([Facture - Détail].Quantité) AS [Somme De Facture - Détail_Quantité],
Sum([Détail Entrées Produits].Quantités) AS [Somme De Quantités], [Somme
Quantités]-[Somme De Vente comptant - Détail_Quantité]-[Somme De Facture -
Détail_Quantité] AS Expr1
FROM ((Produits LEFT JOIN [Détail Entrées Produits] ON Produits.[Réf
Produit] = [Détail Entrées Produits].réfProduitEntrées) LEFT JOIN
Détail] ON Produits.[Réf Produit] = [Facture - Détail].[Réf produit]) LEFT
JOIN [Vente comptant - Détail] ON Produits.[Réf Produit] = [Vente
Détail].[Réf produit]
GROUP BY Produits.[Réf Produit];
A ce stade, on pourrait sans problème exporter les données vers exel et
effectuer le calcul dans la feuille mais je pense qu'on peut sûrement
mieux et obtenir le stock directement dans la requête.
Encore merci à tous et à bientôt
"Dragan" a écrit :
> Bonjour Marc,
> ta requête ne renvoie que les enregistrements présents dans les 4
> tu souhaites avoir un état pour tous les produits; il faut que la
> renvoie tous les enregistrements de la table produit et ce qu'ils soient
> référencés ou non dans les 3 autres tables. Selon moi, il te faut
> l'instruction INNER JOIN par un LEFT JOIN, je ne sais pas ici si tu dois
> remplacer tous les instructions INNER JOIN ou juste la première; à
>
> ex:
> ... FROM PRODUITS LEFT JOIN
> ([D E P] INNER JOIN ([F - D] INNER JOIN [V C - D] ON ) ON ) ON
>
>
> "Marc CNS" a écrit :
>
> > Bonjour à tous,
> >
> > J'utilise access 2003 et voici mon problème: A partir de 4 tables, je
> > souhaiterais avoir un état de stock. J'ai 1 table vente comptant
> > table facture détail, 1 table détail entrées produits, 1 table
> > partir de cela, Entrées produits - Facture détail - Vente comptant
> > donne un stock théorique.L'ennui c'est que lorsque dans une des tables
> > a pas de mouvement pour un des produit, la ligne de ce produit
> > dans ma requête. Ci dessous le code de la requête
> > SELECT DISTINCTROW Produits.[Réf Produit], Sum([Vente comptant -
> > Détail].Quantité) AS [Somme De Vente comptant - Détail_Quantité],
> > Sum([Facture - Détail].Quantité) AS [Somme De Facture -
> > Sum([Détail Entrées Produits].Quantités) AS [Somme De Quantités]
> > FROM ((Produits INNER JOIN [Détail Entrées Produits] ON Produits.[Réf
> > Produit] = [Détail Entrées Produits].réfProduitEntrées) INNER JOIN
> > Détail] ON Produits.[Réf Produit] = [Facture - Détail].[Réf produit])
> > JOIN [Vente comptant - Détail] ON Produits.[Réf Produit] = [Vente
> > Détail].[Réf produit]
> > GROUP BY Produits.[Réf Produit];
> > Peut-être est ce parce que sans opération la somme est vide et non pas
> > Merci de m'aider et bonne journée à vous.
> >
> >
> >
> >
> >
Un grand merci. Je te confirme qu'il faut remplacer toutes les instruction
INNER JOIN. Néanmoins, le problème persiste au niveau de l'expression qui
calcule l'état de stock. Je pense que quelque chose ne fonctionne pas au
niveau du code ci après :
AS [Somme De Quantités], [Somme De Quantités]-[Somme De Vente comptant -
Détail_Quantité]-[Somme De Facture - Détail_Quantité] AS Expr1
Voici ce que la requête est devenue:
SELECT DISTINCTROW Produits.[Réf Produit], Sum([Vente comptant -
Détail].Quantité) AS [Somme De Vente comptant - Détail_Quantité],
Sum([Facture - Détail].Quantité) AS [Somme De Facture - Détail_Quantité],
Sum([Détail Entrées Produits].Quantités) AS [Somme De Quantités], [Somme De
Quantités]-[Somme De Vente comptant - Détail_Quantité]-[Somme De Facture -
Détail_Quantité] AS Expr1
FROM ((Produits LEFT JOIN [Détail Entrées Produits] ON Produits.[Réf
Produit] = [Détail Entrées Produits].réfProduitEntrées) LEFT JOIN [Facture -
Détail] ON Produits.[Réf Produit] = [Facture - Détail].[Réf produit]) LEFT
JOIN [Vente comptant - Détail] ON Produits.[Réf Produit] = [Vente comptant -
Détail].[Réf produit]
GROUP BY Produits.[Réf Produit];
A ce stade, on pourrait sans problème exporter les données vers exel et
effectuer le calcul dans la feuille mais je pense qu'on peut sûrement faire
mieux et obtenir le stock directement dans la requête.
Encore merci à tous et à bientôt
"Dragan" a écrit :
> Bonjour Marc,
> ta requête ne renvoie que les enregistrements présents dans les 4 tables. Si
> tu souhaites avoir un état pour tous les produits; il faut que la requête
> renvoie tous les enregistrements de la table produit et ce qu'ils soient
> référencés ou non dans les 3 autres tables. Selon moi, il te faut remplacer
> l'instruction INNER JOIN par un LEFT JOIN, je ne sais pas ici si tu dois
> remplacer tous les instructions INNER JOIN ou juste la première; à essayer.
>
> ex:
> ... FROM PRODUITS LEFT JOIN
> ([D E P] INNER JOIN ([F - D] INNER JOIN [V C - D] ON ) ON ) ON
>
>
> "Marc CNS" a écrit :
>
> > Bonjour à tous,
> >
> > J'utilise access 2003 et voici mon problème: A partir de 4 tables, je
> > souhaiterais avoir un état de stock. J'ai 1 table vente comptant détail, 1
> > table facture détail, 1 table détail entrées produits, 1 table produit. A
> > partir de cela, Entrées produits - Facture détail - Vente comptant détail me
> > donne un stock théorique.L'ennui c'est que lorsque dans une des tables il n'y
> > a pas de mouvement pour un des produit, la ligne de ce produit n'apparaît pas
> > dans ma requête. Ci dessous le code de la requête
> > SELECT DISTINCTROW Produits.[Réf Produit], Sum([Vente comptant -
> > Détail].Quantité) AS [Somme De Vente comptant - Détail_Quantité],
> > Sum([Facture - Détail].Quantité) AS [Somme De Facture - Détail_Quantité],
> > Sum([Détail Entrées Produits].Quantités) AS [Somme De Quantités]
> > FROM ((Produits INNER JOIN [Détail Entrées Produits] ON Produits.[Réf
> > Produit] = [Détail Entrées Produits].réfProduitEntrées) INNER JOIN [Facture -
> > Détail] ON Produits.[Réf Produit] = [Facture - Détail].[Réf produit]) INNER
> > JOIN [Vente comptant - Détail] ON Produits.[Réf Produit] = [Vente comptant -
> > Détail].[Réf produit]
> > GROUP BY Produits.[Réf Produit];
> > Peut-être est ce parce que sans opération la somme est vide et non pas 0?
> > Merci de m'aider et bonne journée à vous.
> >
> >
> >
> >
> >
Un grand merci. Je te confirme qu'il faut remplacer toutes les instruction
INNER JOIN. Néanmoins, le problème persiste au niveau de l'expression qui
calcule l'état de stock. Je pense que quelque chose ne fonctionne pas au
niveau du code ci après :
AS [Somme De Quantités], [Somme De Quantités]-[Somme De Vente comptant -
Détail_Quantité]-[Somme De Facture - Détail_Quantité] AS Expr1
Voici ce que la requête est devenue:
SELECT DISTINCTROW Produits.[Réf Produit], Sum([Vente comptant -
Détail].Quantité) AS [Somme De Vente comptant - Détail_Quantité],
Sum([Facture - Détail].Quantité) AS [Somme De Facture - Détail_Quantité],
Sum([Détail Entrées Produits].Quantités) AS [Somme De Quantités], [Somme De
Quantités]-[Somme De Vente comptant - Détail_Quantité]-[Somme De Facture -
Détail_Quantité] AS Expr1
FROM ((Produits LEFT JOIN [Détail Entrées Produits] ON Produits.[Réf
Produit] = [Détail Entrées Produits].réfProduitEntrées) LEFT JOIN [Facture -
Détail] ON Produits.[Réf Produit] = [Facture - Détail].[Réf produit]) LEFT
JOIN [Vente comptant - Détail] ON Produits.[Réf Produit] = [Vente comptant -
Détail].[Réf produit]
GROUP BY Produits.[Réf Produit];
A ce stade, on pourrait sans problème exporter les données vers exel et
effectuer le calcul dans la feuille mais je pense qu'on peut sûrement faire
mieux et obtenir le stock directement dans la requête.
Encore merci à tous et à bientôt
"Dragan" a écrit :
> Bonjour Marc,
> ta requête ne renvoie que les enregistrements présents dans les 4 tables. Si
> tu souhaites avoir un état pour tous les produits; il faut que la requête
> renvoie tous les enregistrements de la table produit et ce qu'ils soient
> référencés ou non dans les 3 autres tables. Selon moi, il te faut remplacer
> l'instruction INNER JOIN par un LEFT JOIN, je ne sais pas ici si tu dois
> remplacer tous les instructions INNER JOIN ou juste la première; à essayer.
>
> ex:
> ... FROM PRODUITS LEFT JOIN
> ([D E P] INNER JOIN ([F - D] INNER JOIN [V C - D] ON ) ON ) ON
>
>
> "Marc CNS" a écrit :
>
> > Bonjour à tous,
> >
> > J'utilise access 2003 et voici mon problème: A partir de 4 tables, je
> > souhaiterais avoir un état de stock. J'ai 1 table vente comptant détail, 1
> > table facture détail, 1 table détail entrées produits, 1 table produit. A
> > partir de cela, Entrées produits - Facture détail - Vente comptant détail me
> > donne un stock théorique.L'ennui c'est que lorsque dans une des tables il n'y
> > a pas de mouvement pour un des produit, la ligne de ce produit n'apparaît pas
> > dans ma requête. Ci dessous le code de la requête
> > SELECT DISTINCTROW Produits.[Réf Produit], Sum([Vente comptant -
> > Détail].Quantité) AS [Somme De Vente comptant - Détail_Quantité],
> > Sum([Facture - Détail].Quantité) AS [Somme De Facture - Détail_Quantité],
> > Sum([Détail Entrées Produits].Quantités) AS [Somme De Quantités]
> > FROM ((Produits INNER JOIN [Détail Entrées Produits] ON Produits.[Réf
> > Produit] = [Détail Entrées Produits].réfProduitEntrées) INNER JOIN [Facture -
> > Détail] ON Produits.[Réf Produit] = [Facture - Détail].[Réf produit]) INNER
> > JOIN [Vente comptant - Détail] ON Produits.[Réf Produit] = [Vente comptant -
> > Détail].[Réf produit]
> > GROUP BY Produits.[Réf Produit];
> > Peut-être est ce parce que sans opération la somme est vide et non pas 0?
> > Merci de m'aider et bonne journée à vous.
> >
> >
> >
> >
> >
Un grand merci. Je te confirme qu'il faut remplacer toutes les instruction
INNER JOIN. Néanmoins, le problème persiste au niveau de l'expression qui
calcule l'état de stock. Je pense que quelque chose ne fonctionne pas au
niveau du code ci après :
AS [Somme De Quantités], [Somme De Quantités]-[Somme De Vente comptant -
Détail_Quantité]-[Somme De Facture - Détail_Quantité] AS Expr1
Voici ce que la requête est devenue:
SELECT DISTINCTROW Produits.[Réf Produit], Sum([Vente comptant -
Détail].Quantité) AS [Somme De Vente comptant - Détail_Quantité],
Sum([Facture - Détail].Quantité) AS [Somme De Facture - Détail_Quantité],
Sum([Détail Entrées Produits].Quantités) AS [Somme De Quantités], [Somme De
Quantités]-[Somme De Vente comptant - Détail_Quantité]-[Somme De Facture -
Détail_Quantité] AS Expr1
FROM ((Produits LEFT JOIN [Détail Entrées Produits] ON Produits.[Réf
Produit] = [Détail Entrées Produits].réfProduitEntrées) LEFT JOIN [Facture -
Détail] ON Produits.[Réf Produit] = [Facture - Détail].[Réf produit]) LEFT
JOIN [Vente comptant - Détail] ON Produits.[Réf Produit] = [Vente comptant -
Détail].[Réf produit]
GROUP BY Produits.[Réf Produit];
A ce stade, on pourrait sans problème exporter les données vers exel et
effectuer le calcul dans la feuille mais je pense qu'on peut sûrement faire
mieux et obtenir le stock directement dans la requête.
Encore merci à tous et à bientôt
"Dragan" a écrit :
> Bonjour Marc,
> ta requête ne renvoie que les enregistrements présents dans les 4 tables. Si
> tu souhaites avoir un état pour tous les produits; il faut que la requête
> renvoie tous les enregistrements de la table produit et ce qu'ils soient
> référencés ou non dans les 3 autres tables. Selon moi, il te faut remplacer
> l'instruction INNER JOIN par un LEFT JOIN, je ne sais pas ici si tu dois
> remplacer tous les instructions INNER JOIN ou juste la première; à essayer.
>
> ex:
> ... FROM PRODUITS LEFT JOIN
> ([D E P] INNER JOIN ([F - D] INNER JOIN [V C - D] ON ) ON ) ON
>
>
> "Marc CNS" a écrit :
>
> > Bonjour à tous,
> >
> > J'utilise access 2003 et voici mon problème: A partir de 4 tables, je
> > souhaiterais avoir un état de stock. J'ai 1 table vente comptant détail, 1
> > table facture détail, 1 table détail entrées produits, 1 table produit. A
> > partir de cela, Entrées produits - Facture détail - Vente comptant détail me
> > donne un stock théorique.L'ennui c'est que lorsque dans une des tables il n'y
> > a pas de mouvement pour un des produit, la ligne de ce produit n'apparaît pas
> > dans ma requête. Ci dessous le code de la requête
> > SELECT DISTINCTROW Produits.[Réf Produit], Sum([Vente comptant -
> > Détail].Quantité) AS [Somme De Vente comptant - Détail_Quantité],
> > Sum([Facture - Détail].Quantité) AS [Somme De Facture - Détail_Quantité],
> > Sum([Détail Entrées Produits].Quantités) AS [Somme De Quantités]
> > FROM ((Produits INNER JOIN [Détail Entrées Produits] ON Produits.[Réf
> > Produit] = [Détail Entrées Produits].réfProduitEntrées) INNER JOIN [Facture -
> > Détail] ON Produits.[Réf Produit] = [Facture - Détail].[Réf produit]) INNER
> > JOIN [Vente comptant - Détail] ON Produits.[Réf Produit] = [Vente comptant -
> > Détail].[Réf produit]
> > GROUP BY Produits.[Réf Produit];
> > Peut-être est ce parce que sans opération la somme est vide et non pas 0?
> > Merci de m'aider et bonne journée à vous.
> >
> >
> >
> >
> >
En fait, tu devrais avoir des sommes nulles
Essaie en remplaçant les champs Sum() par Nz(Sum(),0) pour retourner 0
lorsqu'il n'y a pas de valeur retournée.
"Marc CNS" a écrit :
> Un grand merci. Je te confirme qu'il faut remplacer toutes les instruction
> INNER JOIN. Néanmoins, le problème persiste au niveau de l'expression qui
> calcule l'état de stock. Je pense que quelque chose ne fonctionne pas au
> niveau du code ci après :
> AS [Somme De Quantités], [Somme De Quantités]-[Somme De Vente comptant -
> Détail_Quantité]-[Somme De Facture - Détail_Quantité] AS Expr1
> Voici ce que la requête est devenue:
> SELECT DISTINCTROW Produits.[Réf Produit], Sum([Vente comptant -
> Détail].Quantité) AS [Somme De Vente comptant - Détail_Quantité],
> Sum([Facture - Détail].Quantité) AS [Somme De Facture - Détail_Quantité],
> Sum([Détail Entrées Produits].Quantités) AS [Somme De Quantités], [Somme De
> Quantités]-[Somme De Vente comptant - Détail_Quantité]-[Somme De Facture -
> Détail_Quantité] AS Expr1
> FROM ((Produits LEFT JOIN [Détail Entrées Produits] ON Produits.[Réf
> Produit] = [Détail Entrées Produits].réfProduitEntrées) LEFT JOIN [Facture -
> Détail] ON Produits.[Réf Produit] = [Facture - Détail].[Réf produit]) LEFT
> JOIN [Vente comptant - Détail] ON Produits.[Réf Produit] = [Vente comptant -
> Détail].[Réf produit]
> GROUP BY Produits.[Réf Produit];
>
> A ce stade, on pourrait sans problème exporter les données vers exel et
> effectuer le calcul dans la feuille mais je pense qu'on peut sûrement faire
> mieux et obtenir le stock directement dans la requête.
>
> Encore merci à tous et à bientôt
>
>
>
>
> "Dragan" a écrit :
>
> > Bonjour Marc,
> > ta requête ne renvoie que les enregistrements présents dans les 4 tables. Si
> > tu souhaites avoir un état pour tous les produits; il faut que la requête
> > renvoie tous les enregistrements de la table produit et ce qu'ils soient
> > référencés ou non dans les 3 autres tables. Selon moi, il te faut remplacer
> > l'instruction INNER JOIN par un LEFT JOIN, je ne sais pas ici si tu dois
> > remplacer tous les instructions INNER JOIN ou juste la première; à essayer.
> >
> > ex:
> > ... FROM PRODUITS LEFT JOIN
> > ([D E P] INNER JOIN ([F - D] INNER JOIN [V C - D] ON ) ON ) ON
> >
> >
> > "Marc CNS" a écrit :
> >
> > > Bonjour à tous,
> > >
> > > J'utilise access 2003 et voici mon problème: A partir de 4 tables, je
> > > souhaiterais avoir un état de stock. J'ai 1 table vente comptant détail, 1
> > > table facture détail, 1 table détail entrées produits, 1 table produit. A
> > > partir de cela, Entrées produits - Facture détail - Vente comptant détail me
> > > donne un stock théorique.L'ennui c'est que lorsque dans une des tables il n'y
> > > a pas de mouvement pour un des produit, la ligne de ce produit n'apparaît pas
> > > dans ma requête. Ci dessous le code de la requête
> > > SELECT DISTINCTROW Produits.[Réf Produit], Sum([Vente comptant -
> > > Détail].Quantité) AS [Somme De Vente comptant - Détail_Quantité],
> > > Sum([Facture - Détail].Quantité) AS [Somme De Facture - Détail_Quantité],
> > > Sum([Détail Entrées Produits].Quantités) AS [Somme De Quantités]
> > > FROM ((Produits INNER JOIN [Détail Entrées Produits] ON Produits.[Réf
> > > Produit] = [Détail Entrées Produits].réfProduitEntrées) INNER JOIN [Facture -
> > > Détail] ON Produits.[Réf Produit] = [Facture - Détail].[Réf produit]) INNER
> > > JOIN [Vente comptant - Détail] ON Produits.[Réf Produit] = [Vente comptant -
> > > Détail].[Réf produit]
> > > GROUP BY Produits.[Réf Produit];
> > > Peut-être est ce parce que sans opération la somme est vide et non pas 0?
> > > Merci de m'aider et bonne journée à vous.
> > >
> > >
> > >
> > >
> > >
En fait, tu devrais avoir des sommes nulles
Essaie en remplaçant les champs Sum() par Nz(Sum(),0) pour retourner 0
lorsqu'il n'y a pas de valeur retournée.
"Marc CNS" a écrit :
> Un grand merci. Je te confirme qu'il faut remplacer toutes les instruction
> INNER JOIN. Néanmoins, le problème persiste au niveau de l'expression qui
> calcule l'état de stock. Je pense que quelque chose ne fonctionne pas au
> niveau du code ci après :
> AS [Somme De Quantités], [Somme De Quantités]-[Somme De Vente comptant -
> Détail_Quantité]-[Somme De Facture - Détail_Quantité] AS Expr1
> Voici ce que la requête est devenue:
> SELECT DISTINCTROW Produits.[Réf Produit], Sum([Vente comptant -
> Détail].Quantité) AS [Somme De Vente comptant - Détail_Quantité],
> Sum([Facture - Détail].Quantité) AS [Somme De Facture - Détail_Quantité],
> Sum([Détail Entrées Produits].Quantités) AS [Somme De Quantités], [Somme De
> Quantités]-[Somme De Vente comptant - Détail_Quantité]-[Somme De Facture -
> Détail_Quantité] AS Expr1
> FROM ((Produits LEFT JOIN [Détail Entrées Produits] ON Produits.[Réf
> Produit] = [Détail Entrées Produits].réfProduitEntrées) LEFT JOIN [Facture -
> Détail] ON Produits.[Réf Produit] = [Facture - Détail].[Réf produit]) LEFT
> JOIN [Vente comptant - Détail] ON Produits.[Réf Produit] = [Vente comptant -
> Détail].[Réf produit]
> GROUP BY Produits.[Réf Produit];
>
> A ce stade, on pourrait sans problème exporter les données vers exel et
> effectuer le calcul dans la feuille mais je pense qu'on peut sûrement faire
> mieux et obtenir le stock directement dans la requête.
>
> Encore merci à tous et à bientôt
>
>
>
>
> "Dragan" a écrit :
>
> > Bonjour Marc,
> > ta requête ne renvoie que les enregistrements présents dans les 4 tables. Si
> > tu souhaites avoir un état pour tous les produits; il faut que la requête
> > renvoie tous les enregistrements de la table produit et ce qu'ils soient
> > référencés ou non dans les 3 autres tables. Selon moi, il te faut remplacer
> > l'instruction INNER JOIN par un LEFT JOIN, je ne sais pas ici si tu dois
> > remplacer tous les instructions INNER JOIN ou juste la première; à essayer.
> >
> > ex:
> > ... FROM PRODUITS LEFT JOIN
> > ([D E P] INNER JOIN ([F - D] INNER JOIN [V C - D] ON ) ON ) ON
> >
> >
> > "Marc CNS" a écrit :
> >
> > > Bonjour à tous,
> > >
> > > J'utilise access 2003 et voici mon problème: A partir de 4 tables, je
> > > souhaiterais avoir un état de stock. J'ai 1 table vente comptant détail, 1
> > > table facture détail, 1 table détail entrées produits, 1 table produit. A
> > > partir de cela, Entrées produits - Facture détail - Vente comptant détail me
> > > donne un stock théorique.L'ennui c'est que lorsque dans une des tables il n'y
> > > a pas de mouvement pour un des produit, la ligne de ce produit n'apparaît pas
> > > dans ma requête. Ci dessous le code de la requête
> > > SELECT DISTINCTROW Produits.[Réf Produit], Sum([Vente comptant -
> > > Détail].Quantité) AS [Somme De Vente comptant - Détail_Quantité],
> > > Sum([Facture - Détail].Quantité) AS [Somme De Facture - Détail_Quantité],
> > > Sum([Détail Entrées Produits].Quantités) AS [Somme De Quantités]
> > > FROM ((Produits INNER JOIN [Détail Entrées Produits] ON Produits.[Réf
> > > Produit] = [Détail Entrées Produits].réfProduitEntrées) INNER JOIN [Facture -
> > > Détail] ON Produits.[Réf Produit] = [Facture - Détail].[Réf produit]) INNER
> > > JOIN [Vente comptant - Détail] ON Produits.[Réf Produit] = [Vente comptant -
> > > Détail].[Réf produit]
> > > GROUP BY Produits.[Réf Produit];
> > > Peut-être est ce parce que sans opération la somme est vide et non pas 0?
> > > Merci de m'aider et bonne journée à vous.
> > >
> > >
> > >
> > >
> > >
En fait, tu devrais avoir des sommes nulles
Essaie en remplaçant les champs Sum() par Nz(Sum(),0) pour retourner 0
lorsqu'il n'y a pas de valeur retournée.
"Marc CNS" a écrit :
> Un grand merci. Je te confirme qu'il faut remplacer toutes les instruction
> INNER JOIN. Néanmoins, le problème persiste au niveau de l'expression qui
> calcule l'état de stock. Je pense que quelque chose ne fonctionne pas au
> niveau du code ci après :
> AS [Somme De Quantités], [Somme De Quantités]-[Somme De Vente comptant -
> Détail_Quantité]-[Somme De Facture - Détail_Quantité] AS Expr1
> Voici ce que la requête est devenue:
> SELECT DISTINCTROW Produits.[Réf Produit], Sum([Vente comptant -
> Détail].Quantité) AS [Somme De Vente comptant - Détail_Quantité],
> Sum([Facture - Détail].Quantité) AS [Somme De Facture - Détail_Quantité],
> Sum([Détail Entrées Produits].Quantités) AS [Somme De Quantités], [Somme De
> Quantités]-[Somme De Vente comptant - Détail_Quantité]-[Somme De Facture -
> Détail_Quantité] AS Expr1
> FROM ((Produits LEFT JOIN [Détail Entrées Produits] ON Produits.[Réf
> Produit] = [Détail Entrées Produits].réfProduitEntrées) LEFT JOIN [Facture -
> Détail] ON Produits.[Réf Produit] = [Facture - Détail].[Réf produit]) LEFT
> JOIN [Vente comptant - Détail] ON Produits.[Réf Produit] = [Vente comptant -
> Détail].[Réf produit]
> GROUP BY Produits.[Réf Produit];
>
> A ce stade, on pourrait sans problème exporter les données vers exel et
> effectuer le calcul dans la feuille mais je pense qu'on peut sûrement faire
> mieux et obtenir le stock directement dans la requête.
>
> Encore merci à tous et à bientôt
>
>
>
>
> "Dragan" a écrit :
>
> > Bonjour Marc,
> > ta requête ne renvoie que les enregistrements présents dans les 4 tables. Si
> > tu souhaites avoir un état pour tous les produits; il faut que la requête
> > renvoie tous les enregistrements de la table produit et ce qu'ils soient
> > référencés ou non dans les 3 autres tables. Selon moi, il te faut remplacer
> > l'instruction INNER JOIN par un LEFT JOIN, je ne sais pas ici si tu dois
> > remplacer tous les instructions INNER JOIN ou juste la première; à essayer.
> >
> > ex:
> > ... FROM PRODUITS LEFT JOIN
> > ([D E P] INNER JOIN ([F - D] INNER JOIN [V C - D] ON ) ON ) ON
> >
> >
> > "Marc CNS" a écrit :
> >
> > > Bonjour à tous,
> > >
> > > J'utilise access 2003 et voici mon problème: A partir de 4 tables, je
> > > souhaiterais avoir un état de stock. J'ai 1 table vente comptant détail, 1
> > > table facture détail, 1 table détail entrées produits, 1 table produit. A
> > > partir de cela, Entrées produits - Facture détail - Vente comptant détail me
> > > donne un stock théorique.L'ennui c'est que lorsque dans une des tables il n'y
> > > a pas de mouvement pour un des produit, la ligne de ce produit n'apparaît pas
> > > dans ma requête. Ci dessous le code de la requête
> > > SELECT DISTINCTROW Produits.[Réf Produit], Sum([Vente comptant -
> > > Détail].Quantité) AS [Somme De Vente comptant - Détail_Quantité],
> > > Sum([Facture - Détail].Quantité) AS [Somme De Facture - Détail_Quantité],
> > > Sum([Détail Entrées Produits].Quantités) AS [Somme De Quantités]
> > > FROM ((Produits INNER JOIN [Détail Entrées Produits] ON Produits.[Réf
> > > Produit] = [Détail Entrées Produits].réfProduitEntrées) INNER JOIN [Facture -
> > > Détail] ON Produits.[Réf Produit] = [Facture - Détail].[Réf produit]) INNER
> > > JOIN [Vente comptant - Détail] ON Produits.[Réf Produit] = [Vente comptant -
> > > Détail].[Réf produit]
> > > GROUP BY Produits.[Réf Produit];
> > > Peut-être est ce parce que sans opération la somme est vide et non pas 0?
> > > Merci de m'aider et bonne journée à vous.
> > >
> > >
> > >
> > >
> > >