Récupérer le contenu d'une reqûete en VBA

Le
jobardu92
Bonjour tout le monde!

Alors voilà imaginons que je dispose de la requête SOLEIL123, et que
les résultats obtenus par cette reqûete sont:
- VENUS
- MARS

Comment faire en VBA pour récupérer le contenu de cette requête?

Par avance merci!

Pierrick
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Fabien
Le #6380791
Bonjour tout le monde!

Alors voilà imaginons que je dispose de la requête SOLEIL123, et que
les résultats obtenus par cette reqûete sont:
- VENUS
- MARS

Comment faire en VBA pour récupérer le contenu de cette requête?

Par avance merci!

Pierrick

Salut,

pour parcourir un recordset
Dim Rst as Dao.recordset
Set Rst=currentdb.openrecordset("Soleil123")
While not Rst.eof
Nom_planete=Rst("Nom_planete")
Rst.MoveNext
Whend
Rst.close
Set Rst = nothing
Voilà ...

A adapter

jobardu92
Le #6380661
On 13 nov, 10:14, Fabien
a écrit :> Bonjour tout le monde!

Alors voilà imaginons que je dispose de la requête SOLEIL123, et que
les résultats obtenus par cette reqûete sont:
- VENUS
- MARS

Comment faire en VBA pour récupérer le contenu de cette requête?

Par avance merci!

Pierrick
Merci pour ta réponse!



J'ai travaillé par rapport à ma base et j'ai tapé ceci:

========================= ====================
Dim rcs As DAO.Recordset
Dim qdf As DAO.QueryDef


Set qdf = CurrentDb.QueryDefs("essai")
qdf.Parameters("zone_de_saisie") = zone_de_saisie.Value
qdf.Parameters("bannir_client1") = element_selectionne
qdf.Parameters("bannir_client2") = element_selectionne2
qdf.Parameters("bannir_client3") = element_selectionne3
qdf.Parameters("bannir_client4") = element_selectionne4
qdf.Parameters("bannir_client5") = element_selectionne5
qdf.Parameters("bannir_client6") = element_selectionne6
qdf.Parameters("bannir_client7") = element_selectionne7


Set rcs = qdf.OpenRecordset


client = rcs("Lib_client")


Set qdf = Nothing
========================= ========================= =

Le problème est qu'il me met "aucun enregistrement en cours" avec un
code erreur 3021.

Pourtant je suis certain que ma requête ESSAI me donne des
enregistrements, puisque ceux-ci apparaissent dans ma ListBox :)

Merci!


Salut,
pour parcourir un recordset
Dim Rst as Dao.recordset
Set Rst=currentdb.openrecordset("Soleil123")
While not Rst.eof
Nom_planete=Rst("Nom_planete")
Rst.MoveNext
Whend
Rst.close
Set Rst = nothing
Voilà ...

A adapter



Fabien
Le #6380581
On 13 nov, 10:14, Fabien
a écrit :> Bonjour tout le monde!

Alors voilà imaginons que je dispose de la requête SOLEIL123, et que
les résultats obtenus par cette reqûete sont:
- VENUS
- MARS
Comment faire en VBA pour récupérer le contenu de cette requête?
Par avance merci!
Pierrick
Merci pour ta réponse!



J'ai travaillé par rapport à ma base et j'ai tapé ceci:

============================================ > Dim rcs As DAO.Recordset
Dim qdf As DAO.QueryDef


Set qdf = CurrentDb.QueryDefs("essai")
qdf.Parameters("zone_de_saisie") = zone_de_saisie.Value
qdf.Parameters("bannir_client1") = element_selectionne
qdf.Parameters("bannir_client2") = element_selectionne2
qdf.Parameters("bannir_client3") = element_selectionne3
qdf.Parameters("bannir_client4") = element_selectionne4
qdf.Parameters("bannir_client5") = element_selectionne5
qdf.Parameters("bannir_client6") = element_selectionne6
qdf.Parameters("bannir_client7") = element_selectionne7


Set rcs = qdf.OpenRecordset


client = rcs("Lib_client")


Set qdf = Nothing
================================================== >
Le problème est qu'il me met "aucun enregistrement en cours" avec un
code erreur 3021.

Pourtant je suis certain que ma requête ESSAI me donne des
enregistrements, puisque ceux-ci apparaissent dans ma ListBox :)

Merci!

Salut,
pour parcourir un recordset
Dim Rst as Dao.recordset
Set Rst=currentdb.openrecordset("Soleil123")
While not Rst.eof
Nom_planete=Rst("Nom_planete")
Rst.MoveNext
Whend
Rst.close
Set Rst = nothing
Voilà ...

A adapter



Interroges dans la fenetre de debug : debug.print qdf.sql pour voir la

forme de ta requete. Quitte, avec un copier coller, a la faire tourner
directement dans l'outil requête.



jobardu92
Le #6380561
J'ai placé ce code derrière un bouton, j'ai enlevé ceci (qui me
provoquait l'erreur):

client = rcs("Lib_client")

et je l'ai remplacé par ton code:

debug.print qdf.sql

Résultat: Quand je clique sur le bouton, rien ne se passe... Pas même
un message d'erreur.

Est-ce normal?

Merci c'est sympa de se donner du mal pour moi!


======================= ======================
Dim rcs As DAO.Recordset
Dim qdf As DAO.QueryDef

Set qdf = CurrentDb.QueryDefs("essai")
qdf.Parameters("zone_de_saisie") = zone_de_saisie.Value
qdf.Parameters("bannir_client1") = element_selectionne
qdf.Parameters("bannir_client2") = element_selectionne2
qdf.Parameters("bannir_client3") = element_selectionne3
qdf.Parameters("bannir_client4") = element_selectionne4
qdf.Parameters("bannir_client5") = element_selectionne5
qdf.Parameters("bannir_client6") = element_selectionne6
qdf.Parameters("bannir_client7") = element_selectionne7

Set rcs = qdf.OpenRecordset

client = rcs("Lib_client")

Set qdf = Nothing
======================= ========================= ===

Le problème est qu'il me met "aucun enregistrement en cours" avec un
code erreur 3021.

Pourtant je suis certain que ma requête ESSAI me donne des
enregistrements, puisque ceux-ci apparaissent dans ma ListBox :)

Merci!

Salut,
pour parcourir un recordset
Dim Rst as Dao.recordset
Set Rst=currentdb.openrecordset("Soleil123")
While not Rst.eof
Nom_planete=Rst("Nom_planete")
Rst.MoveNext
Whend
Rst.close
Set Rst = nothing
Voilà ...

A adapter



Interroges dans la fenetre de debug : debug.print qdf.sql pour voir la
forme de ta requete. Quitte, avec un copier coller, a la faire tourner
directement dans l'outil requête.




Fabien
Le #6379941
J'ai placé ce code derrière un bouton, j'ai enlevé ceci (qui me
provoquait l'erreur):

client = rcs("Lib_client")

et je l'ai remplacé par ton code:

debug.print qdf.sql

Résultat: Quand je clique sur le bouton, rien ne se passe... Pas même
un message d'erreur.

Est-ce normal?

Merci c'est sympa de se donner du mal pour moi!

============================================ >>> Dim rcs As DAO.Recordset
Dim qdf As DAO.QueryDef
Set qdf = CurrentDb.QueryDefs("essai")
qdf.Parameters("zone_de_saisie") = zone_de_saisie.Value
qdf.Parameters("bannir_client1") = element_selectionne
qdf.Parameters("bannir_client2") = element_selectionne2
qdf.Parameters("bannir_client3") = element_selectionne3
qdf.Parameters("bannir_client4") = element_selectionne4
qdf.Parameters("bannir_client5") = element_selectionne5
qdf.Parameters("bannir_client6") = element_selectionne6
qdf.Parameters("bannir_client7") = element_selectionne7
Set rcs = qdf.OpenRecordset
client = rcs("Lib_client")
Set qdf = Nothing
================================================== >>> Le problème est qu'il me met "aucun enregistrement en cours" avec un
code erreur 3021.
Pourtant je suis certain que ma requête ESSAI me donne des
enregistrements, puisque ceux-ci apparaissent dans ma ListBox :)
Merci!
Salut,
pour parcourir un recordset
Dim Rst as Dao.recordset
Set Rst=currentdb.openrecordset("Soleil123")
While not Rst.eof
Nom_planete=Rst("Nom_planete")
Rst.MoveNext
Whend
Rst.close
Set Rst = nothing
Voilà ...
A adapter
Interroges dans la fenetre de debug : debug.print qdf.sql pour voir la


forme de ta requete. Quitte, avec un copier coller, a la faire tourner
directement dans l'outil requête.



C'est normal, Il faut laisser la commande qui plante.

Demander le debugage et regarder dans la fenetre debug.
L'autre sol c'est avant la ligne qui plante tu met msgbox qdf.sql et tu
verra dans une boite de dialogue la syntaxe de ta requete.

PS: evite de faire plusieurs post sur le même sujet. C'est pas facile a
suivre !




Publicité
Poster une réponse
Anonyme