Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/12/2011, 18h52   #1
Membre chevronné
 
Inscription : janvier 2006
Messages : 916
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 916
Points : 733
Points : 733
Par défaut Connaître les champs d'une requête sans l'exécuter

Bonjour

J'ai une requête dont l'exécution est assez longue. J'aimerais connaître en VBA les noms des champs sans avoir à ouvrir la requête, est-ce possible ?

Par exemple, j'utilise actuellement
Code :
1
2
3
4
5
6
 
strsql = "ma requete select longue à exécuter"
set rcset = CurrentDb.OpenRecordset(strsql)
for each fld in rcset.Fields
debug.print fld.name
next
Cette méthode est très lente car le openRecordset nécessite d'exécuter entièrement la requête avant d'en renvoyer les noms de champs.

Y a-t-il une autre méthode plus rapide ?

Merci d'avance
guidav est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2011, 19h32   #2
Rédacteur
 
Avatar de LedZeppII
 
Homme
Maintenance données produits
Inscription : décembre 2005
Messages : 3 939
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Maintenance données produits
Secteur : Distribution

Informations forums :
Inscription : décembre 2005
Messages : 3 939
Points : 6 278
Points : 6 278
Bonjour,

peut-être comme ça

Code :
1
2
3
4
5
6
7
8
9
Dim sQry As String
Dim db As DAO.Database, qd As DAO.QueryDef, fld As DAO.Field
 
sQry = "ma requete select longue à exécuter"
Set db = CurrentDb
Set qd = db.QueryDefs(sQry)
For Each fld In qd.Fields
    Debug.Print fld.Name
Next
A+
LedZeppII est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 12/12/2011, 13h58   #3
Membre chevronné
 
Inscription : janvier 2006
Messages : 916
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 916
Points : 733
Points : 733
Merci, ça fonctionne très bien.
guidav est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h23.


 
 
 
 
Partenaires

Hébergement Web