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

VBA Access Discussion :

Réaliser une requête croisée basée sur une Select


Sujet :

VBA Access

  1. #1
    Membre du Club
    Inscrit en
    Juin 2006
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 106
    Points : 54
    Points
    54
    Par défaut Réaliser une requête croisée basée sur une Select
    Salut

    Comment peut on en Vba créer une requête croisée (source d'un état) basée sur le résultat d'une 2ème requête (permet de joindre les champs de plusieurs tables)?

    j'ai essayé de basé ma requête croisée sur un Recordset mais ça marche pas!

    y' a t-il un moyen?

    Merci d'avance.

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 653
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 653
    Points : 34 373
    Points
    34 373
    Par défaut
    salut,
    le plus simple pour generer les requete croisee est de le faire via des requetes directement.
    Il suffira de les executer/ouvrir par VBA par la suite

  3. #3
    Membre du Club
    Inscrit en
    Juin 2006
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 106
    Points : 54
    Points
    54
    Par défaut
    Merci
    je sais sauf que je veille à manipuler l'application en entier par code vba. sans marquer la présence d'aucune requête.

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 653
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 653
    Points : 34 373
    Points
    34 373
    Par défaut
    Ok,
    perso dans ce cas la je cree des requetes temporaires que je manipules le temps voulu et les detruit au fil de l'eau de la meme facon

    pourrait-on avoir ton code actuel pour voir a quel niveau on peut proposer des insertions ?

  5. #5
    Membre du Club
    Inscrit en
    Juin 2006
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 106
    Points : 54
    Points
    54
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        strsql = " WHERE T_InscritDetail!Annee_scolaire = " & raporteur & ""
           Set rsEtat = CurrentDb.OpenRecordset(cstEtat & strsql)
    strsqla = "TRANSFORM Sum(rsetat.Montant) AS SommeDeMontant " _
    & "SELECT rsetat.CodInscrit, rsetat.Frais, rsetat.Annee_scolaire, Sum(rsetat.Montant) AS [Total de Montant] " _
    & "FROM rsetat " _
    & "GROUP BY rsetat.CodInscrit, rsetat.Frais, rsetat.Annee_scolaire " _
    & "PIVOT rsetat.Periode "
    Rep.RecordSource = strsqla
    je sais pas si c'est assez clair!
    rsEtat représente un recordset basé sur une requête Select permet de joindre plusieurs champs provenant de plusieurs Tables
    strsqla représente la requête croisée

  6. #6
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 653
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 653
    Points : 34 373
    Points
    34 373
    Par défaut
    Ok,

    en fait ici au lieu de passer par ton recordset, il est tout a fait possible de creer une requete temporaire (nomme la rsetat pour gagner du temps)
    Cette requete contiendra ta concatenation cstEtat & strsql en tant que code SQL.

    Tu pourras y faire reference dans ta requete d'analyse croisee.

    Une fois ta procedure terminee, tu pourras la supprimer

  7. #7
    Membre du Club
    Inscrit en
    Juin 2006
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 106
    Points : 54
    Points
    54
    Par défaut
    Je comprends

    Merci infiniment

Discussions similaires

  1. [WD15] Remplir une colonne table basée sur une requête
    Par kinansoag dans le forum WinDev
    Réponses: 4
    Dernier message: 14/01/2015, 09h45
  2. [AC-2010] Problème à l'exécution d'une requête suppression basée sur une requête sélection
    Par Philippe1975 dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 14/06/2013, 22h21
  3. Réponses: 2
    Dernier message: 11/10/2012, 14h33
  4. Requête CpteDom basée sur une requête
    Par Yoshi592 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 21/07/2007, 12h04
  5. Réponses: 3
    Dernier message: 28/05/2007, 17h31

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