Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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

5 réponses
Avatar
jobardu92
Bonjour tout le monde!

Alors voil=E0 imaginons que je dispose de la requ=EAte SOLEIL123, et que
les r=E9sultats obtenus par cette req=FBete sont:
- VENUS
- MARS

Comment faire en VBA pour r=E9cup=E9rer le contenu de cette requ=EAte?

Par avance merci!

Pierrick

5 réponses

Avatar
Fabien
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

Avatar
jobardu92
On 13 nov, 10:14, Fabien wrote:
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



Avatar
Fabien
On 13 nov, 10:14, Fabien wrote:
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.



Avatar
jobardu92
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.




Avatar
Fabien
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 !