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 :

Critère dans une sous-requête - zone de liste déroulante (ColonneLiée)


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2013
    Messages : 46
    Points : 40
    Points
    40
    Par défaut Critère dans une sous-requête - zone de liste déroulante (ColonneLiée)
    Bonjour,

    Après avoir multiplié vingt milles essais, je demande donc votre aide. Je suis une débutante en Access, VBA, SQL.

    Mon problème est le suivant. Ma requête fonctionne très bien quand je l'exécute directement. Access me demande le noProjet et j'entre le numéro et tous les calculs s'affichent correctement. J'ai fait un État à partir de cette requête et quand je l'exécute manuellement, le système me demande également le no de projet et ça fonctionne. Lorsque je l'exécute à partir de mon bouton dans mon formulaire. Ça ne fonctionne pas.

    Voici le détail un peu de ma requête

    J'ai fait une requête (Détail_Coût_Projet) qui comprend trois sous-requêtes.
    - Req_Total_Facture_Par_Projet
    - Req_Total_Toutes_Soumissions
    - Req_TtlCoûtProjet_par_Catégorie (Celle-ci contient également une sous-requête Req_NbHres_Par_Catégorie-Employé)

    Ces trois sous-requêtes contiennent chacune un critère sur ma liste déroulante sur mon formulaire ([Formulaires]![Soumission]![LstProjet].[ColonneLiée]). Donc, par projet.

    Voici le code SQL de ma requête Principale (Détail_Coût_Projet). ET en fichier joint, cette requête en mode Création dans access.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT Catégorie.Description, Val(Nz([MatériauxPrix],0)) AS MP, Val(Nz([TotalFactures],0)) AS TTLFactures, [MP]-[TTLFactures] AS DiffMat, Val(Nz([HresPrix],0)) AS HeuresPrix, Val(Nz([CoûtTemps],0)) AS CTemps,
     [HeuresPrix]-[CTemps] AS DiffHres, Val(Nz([PrixTotal],0)) AS TotalPrix, [TTLFactures]+[CoûtTemps] AS TotalCoût, [TotalPrix]-[TotalCoût] AS Diff, Req_TtlCoûtProjet_par_Catégorie.IDProjet,
     Req_Total_Toutes_Soumissions.IDProjet, Req_Total_Facture_Par_Projet.IDProjet
    FROM (Req_Total_Toutes_Soumissions RIGHT JOIN (Catégorie LEFT JOIN 
    Req_TtlCoûtProjet_par_Catégorie ON Catégorie.IDCatégorie = Req_TtlCoûtProjet_par_Catégorie.IDCatégorie) ON Req_Total_Toutes_Soumissions.IDCatégorie = Catégorie.IDCatégorie) 
    LEFT JOIN Req_Total_Facture_Par_Projet ON Catégorie.IDCatégorie = 
    Req_Total_Facture_Par_Projet.IDCatégorie;
    Premièrement, je me suis dit que probablement que je ne pouvais pas affecter en critère un champ dans mon formulaire dans une sous-Requête ? Est-ce que je peux faire ça ?

    Je pourrais mettre beaucoup plus de détail mais là, je ne veux pas étourdir personne.

    Merci. Svp, aidez-moi. J'aimerais rendre ce formulaire accessible, je ne veux pas le faire manuellement à chaque fois.

  2. #2
    Membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2013
    Messages : 46
    Points : 40
    Points
    40
    Par défaut J'ai oublié mon fichier joint
    Le voici.
    Images attachées Images attachées  

  3. #3
    Membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2013
    Messages : 46
    Points : 40
    Points
    40
    Par défaut
    Allons-y moins compliqué que ça.

    J'ai fait une requête bien simple avec un critère sur le IDProjet sur ma liste déroulante dans mon formulaire LSTProjet.Colonne liée. Ça ne fonctionne pas. Pas de sous-requête...RIEN Super simple.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT DISTINCTROW Projets.NomProjet, Catégorie.Description, Sum([Feuille temps].NbHres) AS [Somme De NbHres], Projets.IDProjet
    FROM Projets INNER JOIN (Catégorie INNER JOIN [Feuille temps] ON Catégorie.[IDCatégorie] = [Feuille temps].[Catégorie]) ON Projets.[IDProjet] = [Feuille temps].[IDProjet]
    GROUP BY Projets.NomProjet, Catégorie.Description, Projets.IDProjet
    HAVING (((Projets.IDProjet)=[Formulaires]![Soumission]![LstProjet].[ColonneLiée]));
    Là, j'ai l'impression que la solution est bien simple et que je suis seulement dans l'ignorance. En même temps, ça ne se peut pas qu'on ne puisse pas faire ça.

  4. #4
    Membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2013
    Messages : 46
    Points : 40
    Points
    40
    Par défaut
    Bon! J'ai résolu mon problème.

    Décidément, il ne prend pas les critères sur une liste déroulante. Je me suis ajouté un champ texte qui prend la valeur du numéro de projet selon mon choix dans la liste déroulante et j'ai changé mes critères sur ce champ et ça fonctionne.

    Enfin !!

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

Discussions similaires

  1. Utiliser une liste de valeurs dans une sous-requête
    Par sagopa dans le forum Requêtes
    Réponses: 12
    Dernier message: 30/04/2012, 11h08
  2. inserer un critere dans une sous requête
    Par Myogtha dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 12/02/2008, 16h53
  3. Passer un paramètre dans une sous-requête
    Par Lucier dans le forum Langage SQL
    Réponses: 1
    Dernier message: 09/10/2007, 10h07
  4. Contourner le non-support de limit dans une sous-requête
    Par Christophe Charron dans le forum Requêtes
    Réponses: 7
    Dernier message: 04/09/2007, 10h45
  5. Ramener plusieurs champs dans une sous requête...
    Par David.V dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 12/01/2005, 07h54

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