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 :

Boucle "For Each in " et table


Sujet :

Access

  1. #1
    Membre actif
    Inscrit en
    Juin 2006
    Messages
    273
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 273
    Points : 258
    Points
    258
    Par défaut Boucle "For Each in " et table
    Bonjour,

    Je souhaite raccourcir un code qui va chercher des valeurs dans plusieurs tables a la suite en faisant une boucle sur le nom de table mais je ne sais pas comment m'y prendre

    J'ai pour l'instant une table T_Posts dont le champ TableMO possede la liste des tables dans lesquelles je veux faire ma requete. Ma requete est de la forme "SELECT nomsdeschamps FROM nomtable WHERE..." et il n'y a que le nom de la table qui change donc je voudrais faire quelque chose comme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    For each TableMO In T_Posts
    set rst = CurrentDB.Openrecordset("SELECT ... FROM " & TableMO & " WHERE...;")
    ...
    Next TableMO
    Est-ce qu'il faut forcement creer un array, parcourir la table T_Posts et remplir le tableau et faire le For Each dans le tableau ou bien il y a plus simple?

  2. #2
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonjour,

    Ma requete est de la forme "SELECT nomsdeschamps FROM nomtable WHERE..." et il n'y a que le nom de la table
    Le plus simple me semble être d'ouvrir un rst sur la table des tables et de le parcourir.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Set rstNomTAble = db.OpenRecordset("T_Posts",dbOpenDynaset)
    While not rstNomTable.EOF
       set rst = db.OpenRecordset("SELECT * FROM " & rstNomTAble("TAbleMO") & " WHERE ...")
        ....
        rst.Close
        rstNomTable.MoveNext
    WEND
    rstNomTAble.Close
    ...
    BOn courage,

    PGZ

  3. #3
    Membre actif
    Inscrit en
    Juin 2006
    Messages
    273
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 273
    Points : 258
    Points
    258
    Par défaut
    Hehe c'est ce que je me disais finalement vu que j'ai une table mais je pensais qu'ouvrir un recordset pour ca etait un peu "lourd"... tant pis j'utiliserai pas de nouvelle boucle que je connais pas

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    Il me semble que sa méthode peut aussi marcher avec un .Value de plus
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    For each TableMO In T_Posts
    set rst = CurrentDB.Openrecordset("SELECT ... FROM " & TableMO.Value & " WHERE...;")
    ...
    Next TableMO

  5. #5
    Membre actif
    Inscrit en
    Juin 2006
    Messages
    273
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 273
    Points : 258
    Points
    258
    Par défaut
    Je ne suis pas sure, en tout cas sans le value il me mettait une erreur au niveau du "For Each TableMO In T_Posts" sans aller plus loin

  6. #6
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    Citation Envoyé par catoucat
    Je ne suis pas sure, en tout cas sans le value il me mettait une erreur au niveau du "For Each TableMO In T_Posts" sans aller plus loin
    Comment as tu déclaré TableMO?

Discussions similaires

  1. Boucle dite "for each"
    Par sebcbien11290 dans le forum Langage
    Réponses: 5
    Dernier message: 19/07/2011, 17h16
  2. [XSLT] Problème de boucle avec for-each
    Par knack8 dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 29/04/2009, 01h42
  3. for each element d'une table
    Par jm_force dans le forum Access
    Réponses: 5
    Dernier message: 17/08/2006, 10h30
  4. For each enregistrement d'une table, instructions
    Par Philippe GARNIER dans le forum Access
    Réponses: 4
    Dernier message: 26/07/2006, 09h08
  5. boucle <xsl:for-each>
    Par Mike35 dans le forum XSL/XSLT/XPATH
    Réponses: 17
    Dernier message: 13/02/2006, 11h58

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