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

Récupération du contenu d'une reqûete (partie 2)

6 réponses
Avatar
jobardu92
Bonjour!

Alors voil=E0, j'ai progress=E9 dans mon code VBA pour me permettre de
r=E9cup=E9rer le r=E9sultat d'une requ=EAte qui s'appelle "essai", et qui
dispose de 8 param=E8tres...
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D
Dim rcs As DAO.Recordset
Dim qdf As DAO.QueryDef

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

qdf.OpenRecordset
Set rcs =3D qdf.OpenRecordset
message =3D rcs("Lib_client")

Set qdf =3D Nothing
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D

Quand j'ex=E9cute, il me met "aucun enregistrement en cours" =E0 la ligne:
=3D=3D=3D=3D=3D=3D=3D
message =3D rcs("Lib_client")
=3D=3D=3D=3D=3D=3D=3D
Mes param=E8tres recoivent bien tous les champs de mon formulaire (j'ai
v=E9rifi=E9).

Aurais-je invers=E9 des =E9l=E9ments dans mon code? Qu'est ce qui cloche?

Je voudrais en fait qu'une variable puisse stocker le ou les r=E9sultats
de ma requ=EAte d'ou le code VBA:

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D
message =3D rcs("Lib_client")
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D

Mais ca ne fonctionne pas...

Merci!!!

6 réponses

Avatar
Thierry (ze Titi)
Hello jobardu92 !

As-tu vérifié que la requête avec les paramètres correctement
renseignés ramenait bien quelque chose ?
Par ailleurs, si elle ramène plusieurs enregistrements, il serait bon
de les parcourir. Quoiqu'il en soit:

qdf.OpenRecordset
Set rcs = qdf.OpenRecordset
rcs.MoveLast
rcs.MoveFirst
message = rcs("Lib_client")


En ce jour mémorable du mercredi 14/11/2007, tu as émis l'idée
suivante:
Bonjour!

Alors voilà, j'ai progressé dans mon code VBA pour me permettre de
récupérer le résultat d'une requête qui s'appelle "essai", et qui
dispose de 8 paramètres...
====================================================== > 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

qdf.OpenRecordset
Set rcs = qdf.OpenRecordset
message = rcs("Lib_client")

Set qdf = Nothing
========================================================= >
Quand j'exécute, il me met "aucun enregistrement en cours" à la ligne:
====== > message = rcs("Lib_client")
====== > Mes paramètres recoivent bien tous les champs de mon formulaire (j'ai
vérifié).

Aurais-je inversé des éléments dans mon code? Qu'est ce qui cloche?

Je voudrais en fait qu'une variable puisse stocker le ou les résultats
de ma requête d'ou le code VBA:

============================== > message = rcs("Lib_client")
============================= >
Mais ca ne fonctionne pas...

Merci!!!


--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info

Avatar
jobardu92
On 14 nov, 14:01, Thierry (ze Titi)
wrote:
Hello jobardu92 !

As-tu vérifié que la requête avec les paramètres correctement
renseignés ramenait bien quelque chose ?
Par ailleurs, si elle ramène plusieurs enregistrements, il serait bon
de les parcourir. Quoiqu'il en soit:

qdf.OpenRecordset
Set rcs = qdf.OpenRecordset
rcs.MoveLast
rcs.MoveFirst
message = rcs("Lib_client")

En ce jour mémorable du mercredi 14/11/2007, tu as émis l'idée
suivante:



Bonjour!

Alors voilà, j'ai progressé dans mon code VBA pour me permettre de
récupérer le résultat d'une requête qui s'appelle "essai", et q ui
dispose de 8 paramètres...
======================= ========================= =======
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

qdf.OpenRecordset
Set rcs = qdf.OpenRecordset
message = rcs("Lib_client")

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

Quand j'exécute, il me met "aucun enregistrement en cours" à la lig ne:
=======
message = rcs("Lib_client")
=======
Mes paramètres recoivent bien tous les champs de mon formulaire (j'ai
vérifié).

Aurais-je inversé des éléments dans mon code? Qu'est ce qui cloch e?

Je voudrais en fait qu'une variable puisse stocker le ou les résultats
de ma requête d'ou le code VBA:

======================= ========
message = rcs("Lib_client")
======================= =======

Mais ca ne fonctionne pas...

Merci!!!


--
Cordialement,
Thierry

Tout pour réussir avec Access :http://www.mpfa.info


Salut Thierry!

Effectivement, lorsque j'exécute ce code et que l'erreur se produit,
en mode débugage, quand je survole mes paramètres, ils sont renseignés
par les zones que j'ai saisi dans le formulaire.

Dans le cas où les client à bannir ne sont que 2 au lieu de 8, les 6
autres ont comme valeur "NULL".

Il me manque quelque chose mais quoi? Mystère...

Merci!!!

Pierrick


Avatar
Thierry (ze Titi)
As-tu vérifié que la requête avec les paramètres correctement
renseignés ramenait bien quelque chose ?
Par ailleurs, si elle ramène plusieurs enregistrements, il serait bon
de les parcourir. Quoiqu'il en soit:

qdf.OpenRecordset
Set rcs = qdf.OpenRecordset
rcs.MoveLast
rcs.MoveFirst
message = rcs("Lib_client")

En ce jour mémorable du mercredi 14/11/2007, tu as émis l'idée
suivante:
Il me manque quelque chose mais quoi? Mystère...



Set qdf = CurrentDb.QueryDefs("essai")
qdf.Parameters("zone_de_saisie") = zone_de_saisie.Value
qdf.Parameters("bannir_client1") = Nz(element_selectionne,"")
qdf.Parameters("bannir_client2") = Nz(element_selectionne2,"")
qdf.Parameters("bannir_client3") = Nz(element_selectionne3,"")
qdf.Parameters("bannir_client4") = Nz(element_selectionne4,"")
qdf.Parameters("bannir_client5") = Nz(element_selectionne5,"")
qdf.Parameters("bannir_client6") = Nz(element_selectionne6,"")
qdf.Parameters("bannir_client7") = Nz(element_selectionne7,"")
qdf.OpenRecordset
Set rcs = qdf.OpenRecordset
rcs.MoveFirst
message = rcs("Lib_client")

A noter: si les paramètres sont des champs numériques, retire les "".

--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info


Avatar
jobardu92
On 14 nov, 14:37, Thierry (ze Titi)
wrote:
As-tu vérifié que la requête avec les paramètres correctement
renseignés ramenait bien quelque chose ?
Par ailleurs, si elle ramène plusieurs enregistrements, il serait bon
de les parcourir. Quoiqu'il en soit:

qdf.OpenRecordset
Set rcs = qdf.OpenRecordset
rcs.MoveLast
rcs.MoveFirst
message = rcs("Lib_client")

En ce jour mémorable du mercredi 14/11/2007, tu as émis l'idée
suivante:
Il me manque quelque chose mais quoi? Mystère...



Set qdf = CurrentDb.QueryDefs("essai")
qdf.Parameters("zone_de_saisie") = zone_de_saisie.Value
qdf.Parameters("bannir_client1") = Nz(element_selectionne,"")
qdf.Parameters("bannir_client2") = Nz(element_selectionne2,"")
qdf.Parameters("bannir_client3") = Nz(element_selectionne3,"")
qdf.Parameters("bannir_client4") = Nz(element_selectionne4,"")
qdf.Parameters("bannir_client5") = Nz(element_selectionne5,"")
qdf.Parameters("bannir_client6") = Nz(element_selectionne6,"")
qdf.Parameters("bannir_client7") = Nz(element_selectionne7,"")
qdf.OpenRecordset
Set rcs = qdf.OpenRecordset
rcs.MoveFirst
message = rcs("Lib_client")

A noter: si les paramètres sont des champs numériques, retire les "".

--
Cordialement,
Thierry

Tout pour réussir avec Access :http://www.mpfa.info


AH...J'ai déjà trouvé un COUAC ^^.

déjà quand je mets ceci:
========================= ===============
qdf.Parameters("bannir_client1") = bannir_client1.Value
========================= ===============
il me met la valeur du champs comme = "PRIMAGAZ" à la place de NULL
^^!

Par contre ça bloque toujours... dès que j'appelle la variable RCS sur
la fin qui lui pose problème.
il m'indique l'erreur ici a chaque fois comme "aucun enregistrement en
cours" :
========================= ==============
rcs.MoveFirst
========================= ==============

il y a peut etre une boucle a indiquer comme un "wile not
rcs.eof....."

Merci!



Avatar
Fabien
On 14 nov, 14:37, Thierry (ze Titi)
wrote:
As-tu vérifié que la requête avec les paramètres correctement
renseignés ramenait bien quelque chose ?
Par ailleurs, si elle ramène plusieurs enregistrements, il serait bon
de les parcourir. Quoiqu'il en soit:
qdf.OpenRecordset
Set rcs = qdf.OpenRecordset
rcs.MoveLast
rcs.MoveFirst
message = rcs("Lib_client")
En ce jour mémorable du mercredi 14/11/2007, tu as émis l'idée
suivante:
Il me manque quelque chose mais quoi? Mystère...

Set qdf = CurrentDb.QueryDefs("essai")

qdf.Parameters("zone_de_saisie") = zone_de_saisie.Value
qdf.Parameters("bannir_client1") = Nz(element_selectionne,"")
qdf.Parameters("bannir_client2") = Nz(element_selectionne2,"")
qdf.Parameters("bannir_client3") = Nz(element_selectionne3,"")
qdf.Parameters("bannir_client4") = Nz(element_selectionne4,"")
qdf.Parameters("bannir_client5") = Nz(element_selectionne5,"")
qdf.Parameters("bannir_client6") = Nz(element_selectionne6,"")
qdf.Parameters("bannir_client7") = Nz(element_selectionne7,"")
qdf.OpenRecordset
Set rcs = qdf.OpenRecordset
rcs.MoveFirst
message = rcs("Lib_client")

A noter: si les paramètres sont des champs numériques, retire les "".

--
Cordialement,
Thierry

Tout pour réussir avec Access :http://www.mpfa.info


AH...J'ai déjà trouvé un COUAC ^^.

déjà quand je mets ceci:
======================================= > qdf.Parameters("bannir_client1") = bannir_client1.Value
======================================= > il me met la valeur du champs comme = "PRIMAGAZ" à la place de NULL
^^!

Par contre ça bloque toujours... dès que j'appelle la variable RCS sur
la fin qui lui pose problème.
il m'indique l'erreur ici a chaque fois comme "aucun enregistrement en
cours" :
====================================== > rcs.MoveFirst
====================================== >
il y a peut etre une boucle a indiquer comme un "wile not
rcs.eof....."

Merci!

Salut,

dans ton précédent post je te proposais de regarder le contenu de ta
requete en mode debug lors du plantage.
debug.print qdf.sql
Ca donne quoi ?




Avatar
Fabien
On 14 nov, 14:37, Thierry (ze Titi)
wrote:
As-tu vérifié que la requête avec les paramètres correctement
renseignés ramenait bien quelque chose ?
Par ailleurs, si elle ramène plusieurs enregistrements, il serait bon
de les parcourir. Quoiqu'il en soit:
qdf.OpenRecordset
Set rcs = qdf.OpenRecordset
rcs.MoveLast
rcs.MoveFirst
message = rcs("Lib_client")
En ce jour mémorable du mercredi 14/11/2007, tu as émis l'idée
suivante:
Il me manque quelque chose mais quoi? Mystère...

Set qdf = CurrentDb.QueryDefs("essai")

qdf.Parameters("zone_de_saisie") = zone_de_saisie.Value
qdf.Parameters("bannir_client1") = Nz(element_selectionne,"")
qdf.Parameters("bannir_client2") = Nz(element_selectionne2,"")
qdf.Parameters("bannir_client3") = Nz(element_selectionne3,"")
qdf.Parameters("bannir_client4") = Nz(element_selectionne4,"")
qdf.Parameters("bannir_client5") = Nz(element_selectionne5,"")
qdf.Parameters("bannir_client6") = Nz(element_selectionne6,"")
qdf.Parameters("bannir_client7") = Nz(element_selectionne7,"")
qdf.OpenRecordset
Set rcs = qdf.OpenRecordset
rcs.MoveFirst
message = rcs("Lib_client")

A noter: si les paramètres sont des champs numériques, retire les "".

--
Cordialement,
Thierry

Tout pour réussir avec Access :http://www.mpfa.info


AH...J'ai déjà trouvé un COUAC ^^.

déjà quand je mets ceci:
======================================= > qdf.Parameters("bannir_client1") = bannir_client1.Value
======================================= > il me met la valeur du champs comme = "PRIMAGAZ" à la place de NULL
^^!

Par contre ça bloque toujours... dès que j'appelle la variable RCS sur
la fin qui lui pose problème.
il m'indique l'erreur ici a chaque fois comme "aucun enregistrement en
cours" :
====================================== > rcs.MoveFirst
====================================== >
il y a peut etre une boucle a indiquer comme un "wile not
rcs.eof....."

Merci!

Suite de la réponse sur le fil précédent ....


Ps : evite deux post sur le même sujet, surtout quant tu as des réponses
sur le premier