Requête SQL sous Access
RicHamilton
Messages postés
49
Statut
Membre
-
balla -
balla -
Salut à vous,
J'écris actuellement un programme sous Access qui gère les stocks de pièces détachées, mais j'ai un problème :
En fait j'ai 4 tables
FACTURE (NumFac, DateFac)
CATEGORIE (CodeCat, LibCat)
PIECES (RefPiece, LibPiece, #CodeCat, PU, QteStock)
DETAILS_FACTURE (#NumFac, #RefPiece, PU, Qte, Remise)
Je voudrais avoir une liste de toutes les pièces ainsi que leurs ventes pendant une période donnée.
Je vous remercie d'avance
J'écris actuellement un programme sous Access qui gère les stocks de pièces détachées, mais j'ai un problème :
En fait j'ai 4 tables
FACTURE (NumFac, DateFac)
CATEGORIE (CodeCat, LibCat)
PIECES (RefPiece, LibPiece, #CodeCat, PU, QteStock)
DETAILS_FACTURE (#NumFac, #RefPiece, PU, Qte, Remise)
Je voudrais avoir une liste de toutes les pièces ainsi que leurs ventes pendant une période donnée.
Je vous remercie d'avance
A voir également:
- Requête SQL sous Access
- Acer quick access ✓ - Forum PC portable
- Access runtime ✓ - Forum Access
- Exemple base de données access à télécharger gratuit - Forum Access
- Logiciel sql - Télécharger - Bases de données
- Access appdata - Guide
6 réponses
Je pense que tu as un problème de structure: je ne vois pas de raison de séparer les renseignements propres à la facture en deux tables.
Le code SQL suivant devait fonctionner en insérant la date dans la table Factures et en vérifiant bien sûr les noms des champs...
SELECT Catégorie.Cat, Pièces.NomPièce, Facture.Quantité, Facture.DateFact
FROM (Catégorie INNER JOIN Pièces ON Catégorie.RefCat = Pièces.RefCat) INNER JOIN Facture ON Pièces.RefPièce = Facture.RefPièce WHERE (((Facture.DateFact) Between #Date début# And #date de fin#));
Le code SQL suivant devait fonctionner en insérant la date dans la table Factures et en vérifiant bien sûr les noms des champs...
SELECT Catégorie.Cat, Pièces.NomPièce, Facture.Quantité, Facture.DateFact
FROM (Catégorie INNER JOIN Pièces ON Catégorie.RefCat = Pièces.RefCat) INNER JOIN Facture ON Pièces.RefPièce = Facture.RefPièce WHERE (((Facture.DateFact) Between #Date début# And #date de fin#));
je me permet d'adapter le code et de le simplifier
SELECT libCat, libPièce, sum(Qte) as quantite_vendu
FROM ((Categorie INNER JOIN Pieces ON Categorie.codeCat = Pieces.codeCat) INNER JOIN details_Facture ON Pieces.RefPiece = details_Facture.RefPiece )Inner join facture on facture.numfac = details_facture.numfac
WHERE Facture.DateFac Between #Date début# And #date de fin#;
les # c'est seulement si t'ecrit tes date en texte (genre 3 janvier 2004) si c dans le genre 22/05/81 ils faut les écrire entre ' (simple quote) genre 'date_debut'
SELECT libCat, libPièce, sum(Qte) as quantite_vendu
FROM ((Categorie INNER JOIN Pieces ON Categorie.codeCat = Pieces.codeCat) INNER JOIN details_Facture ON Pieces.RefPiece = details_Facture.RefPiece )Inner join facture on facture.numfac = details_facture.numfac
WHERE Facture.DateFac Between #Date début# And #date de fin#;
les # c'est seulement si t'ecrit tes date en texte (genre 3 janvier 2004) si c dans le genre 22/05/81 ils faut les écrire entre ' (simple quote) genre 'date_debut'
Slt
Je te remercie d'avance pr ta reponse, mais il y a un detail ke tu oublies:
ta requete ne fonctionne ke pour les pieces ki ont ete vendues.
Je voudrais une liste de TOUTES les pièces (vendues ou pas) pendant une periode donnée genre:
Entre #1/1/2005# Et #15/7/2005#
P1, 45000
P2, 0
P3, 0
P4, 4532
.
.
.
Tu vois
Je te remercie d'avance pr ta reponse, mais il y a un detail ke tu oublies:
ta requete ne fonctionne ke pour les pieces ki ont ete vendues.
Je voudrais une liste de TOUTES les pièces (vendues ou pas) pendant une periode donnée genre:
Entre #1/1/2005# Et #15/7/2005#
P1, 45000
P2, 0
P3, 0
P4, 4532
.
.
.
Tu vois
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Salut,
je crois qu'il vous faut une requête entre facture et détail facture entre 2 dates et par suite une rrequête simple entre la table pièce
ensuite cliquez sur le lien (la ligne) qui se trouve entre la table et la req ensuite choisire 1 ou 2 je ne me rappel pas.
j'espère que sa va marcher.
Bonne chance.
Merci
je crois qu'il vous faut une requête entre facture et détail facture entre 2 dates et par suite une rrequête simple entre la table pièce
ensuite cliquez sur le lien (la ligne) qui se trouve entre la table et la req ensuite choisire 1 ou 2 je ne me rappel pas.
j'espère que sa va marcher.
Bonne chance.
Merci
chacune de ces lignes est contenu dans le detail et fait référence à un produit d'une facture ( donc il peut y avoir plusieurs plusieurs produit dans la facture )
c un peu comme un ticket de caisse koi avec les produits et le ticket
c pour ça que y'a deux tables, en somme pour éviter la redondance des données relative à la facture en elle meme(principe de base en BD)