IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes et SQL. Discussion :

selectionner plusieures dates pour plusieures personnes


Sujet :

Requêtes et SQL.

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 9
    Points : 6
    Points
    6
    Par défaut selectionner plusieures dates pour plusieures personnes
    bonjour à tous,

    Suite à mes débuts fracassant sur Access j'aurai aimé avoir des conseils sur une manipulation sur ma base de données.
    Ma base de données est formée sur des numeros de serie de pièces. Chaque numero de serie peut avoir plusieurs fournisseurs avec plusieurs numeros de commandes avec des dates de commandes.
    Je selectionne un numero de commande et il m'affiche les fournisseurs concernés et les infos sur eux dans mon formulaire.
    L'objectif pour moi serait de personnaliser mes fournisseurs et les évaluer . pour cela j'aimerai en selectionnant mon fournisseur proposé ouvrir un formulaire et avoir diverses informations cela c'est bon par contre j'aimerai pouvoir pour chacun extraire les 4 dernieres commandes et en faire une moyenne. Le probleme rencontré est que je n'arrive pas à extraire pour chacun les 4 dernieres commandes et que cela face le calcul de leur moyenne. Bien entendu à l'actualisation cela devrait prendre les nouvelles commandes et recalculer.
    Si quelqu un à compris et qu il peut m'aider merci.

  2. #2
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Salut,

    Pour extraire les 4 dernières commandes utilise une requête :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT TOP 4 Commande.Date, Commande.Montant
    FROM Commande
    ORDER BY Commande.Date Desc

    Ensuite il te restera à calculer la moyenne des champs affichés dans un sous formulaire. Pour cela inspire toi de cette Q/R de la faq.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 9
    Points : 6
    Points
    6
    Par défaut ça ne marche pas
    Bjr
    merci pour ton aide mais cela ne marche pas comme je veux car il m'affiche le TOP4 uniquement d'un fournisseur.
    Ma requete est en fait composée de deux tables liées par la reference qui correspond au code du fournisseur.
    Je marque ci dessous le code SQL que j'ai

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT TOP 4 [161 - Calcul cout moyen repair].PN, [161 - Calcul cout moyen repair].REFERENCE, [161 - Calcul cout moyen repair].[MoyenneDeTARIF (en euro) REPAIR], [16 - Coût moyen REPAIR].[TARIF (en euro) REPAIR], [16 - Coût moyen REPAIR].[No commande], [16 - Coût moyen REPAIR].[Date cde]
    FROM [161 - Calcul cout moyen repair] INNER JOIN [16 - Coût moyen REPAIR] ON [161 - Calcul cout moyen repair].REFERENCE = [16 - Coût moyen REPAIR].REFERENCE;
    Je te rappelle que le but est pour moi d'obtenir lorsque je selectionne un fournisseur donc un code reference d'avoir les 4 dernières commandes de celui ci.Seulement dans certains cas j'ai trois fournisseurs chez un j'ai 4 commandes chez un autres j en ai 8 et chez le dernier j'en ai 1 en fait il faut qu'il m'exclue celui ou j'en ai qu une et que pour les autres il me prenne les 4 dernieres commandes . Je ne sais pas si j'ai été plus clair mais meric de ton aide

  4. #4
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Citation Envoyé par davidengalere
    Bjr
    merci pour ton aide mais cela ne marche pas comme je veux car il m'affiche le TOP4 uniquement d'un fournisseur.
    Ben oui.. ne serait ce pas en contradiction avec ce que tu dis là :

    Je te rappelle que le but est pour moi d'obtenir lorsque je selectionne un fournisseur donc un code reference d'avoir les 4 dernières commandes de celui ci.
    il faut qu'il m'exclue celui ou j'en ai qu une et que pour les autres il me prenne les 4 dernieres commandes . Je ne sais pas si j'ai été plus clair mais meric de ton aide
    Tu ouvres un recordset sur la requête, tu testes le nombre d'enregistrements. Si >3 alors tu affiches le résultat de la requête. Sinon tu n'affiches rien.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    dans mon formulaire j'ai un tableau qui m'affiche les 3 fournisseurs ayant fait une reparation.
    Je clique sur un etça peut ouvrir un formulaire me donnant les infos dessus
    idem si je clique sur celui de dessus etc..
    La le probleme avec l'ecriture TOP 4 et qu il me donne les 4 dernierees commandes mais uniquement de mon premier fournisseur qd je selectionne le deuxieme il maffiche une fiche vide or lui aussi a des commandes
    . C'est diffcile a expliquer mais si tu peux continuer a m expliquer je suis à ton écoute
    Merci

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    je ne sais pas ce que c'est recordset desole je suis pas tres bon en access essaies de detailler si ça te derange pas merci encore

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 9
    Points : 6
    Points
    6
    Par défaut c'est bon
    à force de tourner en rond j'ai réussi à faire ce que je désirais je te remercie de ton aide en tt cas

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL-5.0] requete sur plusieurs date pour comparaison
    Par guigui69 dans le forum Requêtes
    Réponses: 5
    Dernier message: 06/01/2014, 11h10
  2. Entrée de plusieurs dates pour un même champ
    Par Veg91 dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 30/10/2013, 12h48
  3. ajouter plusieurs lignes pour une personne
    Par frommage dans le forum VBA Access
    Réponses: 8
    Dernier message: 21/11/2012, 05h18
  4. Recuperer plusieurs horaires pour une personne
    Par Jeunenoob dans le forum Oracle
    Réponses: 13
    Dernier message: 24/01/2011, 16h20
  5. [MySQL] UNE date pour plusieurs dates et UN évènement pour plusieurs évènements...
    Par Aliosha dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 19/03/2007, 22h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo