Les Allergies
Alimentaires
Posez votre question Signaler

Requête SQL sous Access

RicHamilton 48Messages postés 10 mars 2005Date d'inscription - Dernière réponse le 15 sept. 2010 à 00:54
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
Lire la suite 

Requête SQL sous Access »

11 réponses
Réponse
+2
moins plus
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#));
digicharat- 15 juil. 2005 à 16:44
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)
Ajouter un commentaire
Réponse
+1
moins plus
afficher la remise d'une facture
balla - 15 sept. 2010 à 00:54
j'aimerai une repose
Ajouter un commentaire
Réponse
+0
moins plus
C'est juste!
désolé...
Ajouter un commentaire
Réponse
+0
moins plus
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'
RicHamilton- 15 juil. 2005 à 17:26
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
mohammed - 15 juil. 2005 à 20:22
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
RicHamilton- 15 juil. 2005 à 20:39
Non mais la date d'achat correspond à la date de facturation "DateFac" de la table FACTURE.
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Ce document intitulé « Requête SQL sous Access » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?