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 :

Récupération de données dans plusieurs tables [AC-2002]


Sujet :

Requêtes et SQL.

  1. #1
    Membre éprouvé Avatar de azertix
    Homme Profil pro
    Technicien d'assistance informatique
    Inscrit en
    Juin 2007
    Messages
    958
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien d'assistance informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 958
    Points : 937
    Points
    937
    Par défaut Récupération de données dans plusieurs tables
    Bonjour à tous.
    J'essaye de créer une requête qui doit afficher le résultat suivant :
    NomAgence | NumAgence | NbRetours
    C'est à dire la liste des agences avec pour chaque agence le nombre de notes réalisées.

    Voici la structure de mes tables (je n'ai laissé que le nécessaire) :


    J'ai fait la requête suivante mais ça me retourne toujours 0 enregistrements alors qu'il y a bien les enregistrements correspondants dans la base de données.
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT A.NomAgence AS Agence, A.NumAgence AS Numéro, Count(N.NumContrat) AS NbContrats
    FROM AGENCE AS A INNER JOIN (CONTRAT AS C INNER JOIN (NOTES AS N INNER JOIN (MOTIF AS M INNER JOIN Avoir AS Av ON M.NumMotif = Av.NumMotif) ON N.NumNote = Av.NumNote) ON C.NumContrat = N.NumContrat) ON A.NumAgence = C.NumAgence
    WHERE Month(N.DateNote)=Mois AND Year(N.DateNote)=Année
    GROUP BY A.NumAgence, A.NomAgence;
    Si quelqu'un a une idée à me proposer, elle sera la bienvenue

    Merci d'avance à ceux qui me liront.
    Si ma réponse vous a été utile pensez à voter Pour

    Avant de poster sur le forum Access :
    FAQ > SOURCES > COURS > FORUM > GOOGLE
    Pas de question par MP ou je mords


  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 944
    Points : 1 282
    Points
    1 282
    Par défaut
    Bonjour

    Quel est l'intéret des tables MOTIF et AVOIR , puisque aucun de leur champ n'est utilisé dans la requête ?

    Dans la clause WHERE, comment sont gérés Mois et Année ?
    Frédéric
    Développeur d'Applications Access

  3. #3
    Membre éprouvé Avatar de azertix
    Homme Profil pro
    Technicien d'assistance informatique
    Inscrit en
    Juin 2007
    Messages
    958
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien d'assistance informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 958
    Points : 937
    Points
    937
    Par défaut
    J'avais du penser qu'elles me seraient utiles au moment où j'ai ajouté mes tables.
    Mais effectivement elle ne le sont pas (ou pas encore ).
    Cela dit, le problème ne vient pas de là

    Mois et Année me sont demandés par Access.
    Si ma réponse vous a été utile pensez à voter Pour

    Avant de poster sur le forum Access :
    FAQ > SOURCES > COURS > FORUM > GOOGLE
    Pas de question par MP ou je mords


  4. #4
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 944
    Points : 1 282
    Points
    1 282
    Par défaut
    Re

    Ben là je ne vois pas

    A part de faire attention à ce que month() renvoie un nombre de 1 à 12 (pas 01) et Year() un nombre sur 4 posistions (200x). Mais je pense que tu le savais déjà !
    Frédéric
    Développeur d'Applications Access

  5. #5
    Membre éprouvé Avatar de azertix
    Homme Profil pro
    Technicien d'assistance informatique
    Inscrit en
    Juin 2007
    Messages
    958
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien d'assistance informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 958
    Points : 937
    Points
    937
    Par défaut
    Ben non, je ne savais pas. J'ai découvert les fonctions Month() et Year() ce matin et donc je tapais 0x pour le mois
    Cela dit mon erreur aura été profitable puisque l'utilisateur aurait pu commettre la même erreur que moi.
    J'ai donc géré cette possibilité :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT A.NomAgence AS Agence, A.NumAgence AS Numéro, Count(N.NumContrat) AS NbContrats
    FROM AGENCE AS A INNER JOIN (CONTRAT AS C INNER JOIN (NOTES AS N INNER JOIN (MOTIF AS M INNER JOIN Avoir AS Av ON M.NumMotif=Av.NumMotif) ON N.NumNote=Av.NumNote) ON C.NumContrat=N.NumContrat) ON A.NumAgence=C.NumAgence
    WHERE Month(N.DateNote)=CInt(Mois) AND Year(N.DateNote)=Année
    GROUP BY A.NumAgence, A.NomAgence;

    Merci de ton aide et bonne après-midi
    Si ma réponse vous a été utile pensez à voter Pour

    Avant de poster sur le forum Access :
    FAQ > SOURCES > COURS > FORUM > GOOGLE
    Pas de question par MP ou je mords


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

Discussions similaires

  1. supprimer des données dans plusieurs tables
    Par mnssylvain dans le forum Access
    Réponses: 4
    Dernier message: 28/01/2007, 19h06
  2. Réponses: 19
    Dernier message: 28/07/2006, 10h57
  3. Problème de récupérations de données dans une table mysql
    Par Helpine dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 09/03/2006, 19h07
  4. Réponses: 7
    Dernier message: 12/10/2004, 16h43
  5. Réponses: 6
    Dernier message: 15/04/2004, 11h04

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