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

6 réponses

  1. 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
    1. 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
  2. balla
     
    afficher la remise d'une facture
    1
    1. balla
       
      j'aimerai une repose
      0
  3. zenon Messages postés 729 Statut Membre 180
     
    C'est juste!
    désolé...
    0
  4. 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
    1. 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
      1. 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
      2. 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. 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
  7. 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