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

Access Discussion :

Requête Access


Sujet :

Access

  1. #1
    Membre confirmé Avatar de T'chab
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 94
    Par défaut Requête Access
    rebonjour, je suis toujours sur mon probleme de requete dans le dvlpt de mon application pour une société de transport

    j'ai résolu grâce à maxence, le problème de récupérer une valeur maximale mais inférieur à une date entrée par l'utilisateur:

    mon code sous sql est le suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    SELECT [DISTRIBUTION CARBURANT].Id_véhicule,
        Max([DISTRIBUTION CARBURANT].[Date de distribution]) AS [MaxDeDate de distribution],
        Max([DISTRIBUTION CARBURANT].[Kilométrage véhicule]) AS [MaxDeKilométrage véhicule]
    FROM [DISTRIBUTION CARBURANT], [consommation véhicule]
    WHERE ((([DISTRIBUTION CARBURANT].[Date de distribution])=
           select  max([DISTRIBUTION CARBURANT].[Date de distribution])
           FROM  [DISTRIBUTION CARBURANT] 
           WHERE  [DISTRIBUTION CARBURANT].Id_véhicule=[consommation véhicule].Id_véhicule 
               AND [DISTRIBUTION CARBURANT].[Date de distribution]<#04/01/2006#)))
    GROUP BY [DISTRIBUTION CARBURANT].Id_véhicule;
    Il fonctionne, néanmoins il a fallu que j'intègre ce code, à une requete complete
    voici le code sql de ma requete:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    SELECT [consommation véhicule].Id_véhicule, 
        [consommation véhicule ].Immatriculation, 
        [consommation véhicule].Parc, 
        Count([consommation véhicule].[Kilométrage véhicule]) AS [Nombre réappro],
     
       (   SELECT max([DISTRIBUTION CARBURANT].[kilométrage véhicule])  
           FROM  [DISTRIBUTION CARBURANT]  
           WHERE ([DISTRIBUTION CARBURANT].[date de distribution])=
                   (SELECT max([DISTRIBUTION CARBURANT ].[date de distribution]) 
                   FROM  [DISTRIBUTION CARBURANT]  
                   WHERE  [DISTRIBUTION CARBURANT].[id_véhicule=consommation véhicule].[id_véhicule] 
                       and [DISTRIBUTION CARBURANT].[date de distribution]<#04/01/2006#))  AS [Kilométrage M-1],
    Min([consommation véhicule].[Kilométrage véhicule]) AS [Premier kilométrage],
    Max([consommation véhicule].[Kilométrage véhicule]) AS [Dernier kilométrage], 
    Sum([consommation véhicule].[Quantitée corrigée]) AS [Litrage consommé], 
    [Dernier kilométrage]-[Kilométrage M-1] AS [Kilométrage parcouru], 
    [Litrage consommé]/[Kilométrage parcouru]*100 AS CONSOMMATION
    FROM [consommation véhicule] INNER JOIN [DISTRIBUTION CARBURANT] ON 
        [consommation véhicule].Id_distribution = [DISTRIBUTION CARBURANT].Id_distribution
    GROUP BY [consommation véhicule].Id_véhicule, [consommation véhicule].Immatriculation, [consommation véhicule].Parc;
    Mon problème est le suivant, la colonne de ma requete nommée [kilométrage m-1] m'affiche des résultats erronés parfois bon, parfois mauvais!!!!
    que faire?

  2. #2
    Expert confirmé

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Par défaut
    Fais une première requête avec les éléments en Gras, auquel tu ajoutes, en champ de sortie, l'IdVehicule.

    Ensuite, tu te ressers de cette requête dans la seconde en faisant une liaison sur l'IdVehicule.

  3. #3
    Membre confirmé Avatar de T'chab
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 94
    Par défaut
    ok je v essayer de faire ce meme si j'ai pas tout compris, je vais gratter un peu la dessus
    mais

    pour toi est ce normal de trouver des valeur parfois éronées sur mon [kilometrage m-1] dans ma seconde requete?

  4. #4
    Membre confirmé Avatar de T'chab
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 94
    Par défaut
    ET VOILA LE RESULAT! A Présent, je suis une star du calcul d'une consommation moyenne de véhicule sur access (ou la, mes chevilles enflent!!)


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    SELECT [DISTRIBUTION CARBURANT].Id_véhicule, 
    [CATALOGUE VEHICULE].Immatriculation, [CATALOGUE VEHICULE].Parc, 
    Max([DISTRIBUTION CARBURANT].[Kilométrage véhicule]) AS [Kilométrage M-1], 
    Max([consommation véhicule].[Kilométrage véhicule]) AS [Dernier kilométrage], 
    Sum([consommation véhicule].[Quantitée corrigée]) AS [Litrage consommé], 
    [Dernier kilométrage]-[Kilométrage M-1] AS [Kilométrage parcouru],
    [Litrage consommé]/[Kilométrage parcouru]*100 AS [CONSO MOYENNE]
     
    FROM [CATALOGUE VEHICULE] INNER JOIN ([consommation véhicule] INNER JOIN [DISTRIBUTION CARBURANT] ON [consommation véhicule].Id_véhicule = [DISTRIBUTION CARBURANT].Id_véhicule) ON ([consommation véhicule].Id_véhicule = [CATALOGUE VEHICULE].Id_véhicule) AND ([CATALOGUE VEHICULE].Id_véhicule = [DISTRIBUTION CARBURANT].Id_véhicule)
     
    WHERE ((([DISTRIBUTION CARBURANT].[Date de distribution])=(select  max([DISTRIBUTION CARBURANT].[Date de distribution])  FROM  [DISTRIBUTION CARBURANT] WHERE  [DISTRIBUTION CARBURANT].Id_véhicule=[consommation véhicule].Id_véhicule AND [DISTRIBUTION CARBURANT].[Date de distribution]<[Formulaires]![MENU]![Texte81])))
     
    GROUP BY [DISTRIBUTION CARBURANT].Id_véhicule, [CATALOGUE VEHICULE].Immatriculation, [CATALOGUE VEHICULE].Parc;
    merci à M H de son aide!!!! et à tous les autres!!!!!!

  5. #5
    Expert confirmé

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Par défaut
    Citation Envoyé par T'chab
    pour toi est ce normal de trouver des valeur parfois éronées sur mon [kilometrage m-1] dans ma seconde requete?
    Je trouve même étonnant qu'il te renvoie des valeurs correctes ...

  6. #6
    Membre confirmé Avatar de T'chab
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 94
    Par défaut
    de toute facon, c'etait peine perdu mais c'est vrai que je ne cromprennais pas pourquoi j'avais des valeurs justes et fausses à la fois... (trop de requetes tuent les requetes)

    il a fallu que je reparte sur une requete vide, que je reprenne ton code et que j'ajoute petit à petit mes "ingrédients" .

    Grâce aux jointures simple, c 'est passé comme une lettre à la poste.

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

Discussions similaires

  1. Pb migration Access / SQL server
    Par yoyo dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 25/04/2005, 10h39
  2. [CR][Access] intégrer un viewer dans un formulaire access
    Par nicolak dans le forum SAP Crystal Reports
    Réponses: 7
    Dernier message: 13/01/2003, 15h52
  3. perl et access
    Par dechoc dans le forum Modules
    Réponses: 3
    Dernier message: 10/08/2002, 20h02
  4. associer une base de données(access) a un dbgrid
    Par ange1708 dans le forum MFC
    Réponses: 3
    Dernier message: 11/06/2002, 12h18
  5. Réponses: 3
    Dernier message: 22/05/2002, 09h37

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