Requête SQL sous Access

RicHamilton Messages postés 49 Statut Membre -  
 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
A voir également:

6 réponses

zenon Messages postés 729 Statut Membre 180
 
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#));
2
digicharat Messages postés 34 Statut Membre
 
je crois que la facture possède plusieurs lignes

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)
0
balla
 
afficher la remise d'une facture
1
balla
 
j'aimerai une repose
0
zenon Messages postés 729 Statut Membre 180
 
C'est juste!
désolé...
0
digicharat Messages postés 34 Statut Membre
 
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'
0
RicHamilton Messages postés 49 Statut Membre
 
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
0
mohammed > RicHamilton Messages postés 49 Statut Membre
 
Salut,
je crois qu'il vous manque date d'achat, pour avoir la liste de tous les pièces entre 2 dates.
je crois!
Bonnechance.
Merci
0
RicHamilton Messages postés 49 Statut Membre > mohammed
 
Non mais la date d'achat correspond à la date de facturation "DateFac" de la table FACTURE.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mohammed
 
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
0
sorosoro
 
Bonjour
vous n'avez pas précisez les relations entre les tables ?
Veuilez établir une relation Père et fils
Faites une requête
SELECT * FROM VOTRE_TABLE WHERE LE_CHAMPS_DATE BETWEEN TXT1 AND TXT2

Veuillez me joindre au

solsurm@live.fr
Je suis developpeur ACCESS
0