Récupérer le résultat d'une requête sql sous vba
Juliaz
-
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
Bonjour ,
Je tourne en rond depuis une bonne heure.
Je souhaite récupérer le résultat d'une requête Access et le mettre dans une variable qui me servira plus tard.
J'ai utilisé le code suivant:
Ce code marche bien mais je ne récupère que le premier élément de la requête.
Comment pourrais-je faire pour récupérer tous les résultats de la requête?
Merci d'avance,
Je tourne en rond depuis une bonne heure.
Je souhaite récupérer le résultat d'une requête Access et le mettre dans une variable qui me servira plus tard.
J'ai utilisé le code suivant:
Function recherche() Dim rst As DAO.Recordset Dim sSQL As String ' Ouverture de la base de données Dim v As Variant sSQL = "Select * From table2 where [np]='vo jacques'" 'open Set rst = CurrentDb.OpenRecordset(sSQL, dbOpenForwardOnly, dbReadOnly) 'traitement v = rst![np] MsgBox v 'close rst.Close End Function
Ce code marche bien mais je ne récupère que le premier élément de la requête.
Comment pourrais-je faire pour récupérer tous les résultats de la requête?
Merci d'avance,
A voir également:
- Requete sql vba
- Logiciel sql - Télécharger - Bases de données
- Excel compter cellule couleur sans vba - Guide
- Sql (+) - Forum Programmation
- Find vba - Astuces et Solutions
- Incompatibilité de type vba ✓ - Forum VB / VBA
3 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonsoir, par exemple:
'traitement Do Until rst.EOF v = rst![np] MsgBox v rst.MoveNext Loop
Bonjour,
Trouve ici:
https://www.generation-nt.com/reponses/transferer-un-recordset-dans-un-tableau-en-vba-entraide-418091.html
MichDenis
Le 09/03/2005 à 16:54 #2053631
Bonjour Thierry,
Dim Tblo as variant
Tblo = Rst.getrows
Et pour limiter le nombre de lignes copieées dans le tableau
Copie seulement les 25 premiers enregistrements
tblo = rst.getrows(25)
Salutations!
A vous d'adapter votre code
Par contre si vous ne changez rien a votre fonction, votre tableau ne vous servira pas "plus tard"
Trouve ici:
https://www.generation-nt.com/reponses/transferer-un-recordset-dans-un-tableau-en-vba-entraide-418091.html
MichDenis
Le 09/03/2005 à 16:54 #2053631
Bonjour Thierry,
Dim Tblo as variant
Tblo = Rst.getrows
Et pour limiter le nombre de lignes copieées dans le tableau
Copie seulement les 25 premiers enregistrements
tblo = rst.getrows(25)
Salutations!
A vous d'adapter votre code
Par contre si vous ne changez rien a votre fonction, votre tableau ne vous servira pas "plus tard"