OVH Cloud OVH Cloud

Erreur "Element non trouvé dans cette collection"

14 réponses
Avatar
Gafish
Bonjour =E0 tous !!

Access 97
Je suis sur l'=E9v=E8nement Open de mon =E9tat. j'ai le code=20
suivant :
Dim dbsCurrent As Database
Set dbsCurrent =3D CurrentDb()
dbsCurrent.QueryDefs("Compte nombre de mouvements=20
mensuels").Parameters("mois") =3D 11

Et sur cette derni=E8re ligne j'ai l'erreur "Element non=20
trouv=E9 dans cette collection".
"Compte nombre de mouvements mensuels" est une requ=EAte qui=20
existe sous Access, et si je la lance en feuille de=20
donn=E9es j'ai bien toutes mes informations. Le=20
champs "Mois" en question est bien pr=E9sent.

Pourquoi donc ai-je cette erreur ??

Merci d'avance

Arnaud

10 réponses

1 2
Avatar
Raymond [mvp]
Bonjour.

l'objet n'est pas défini correctement, essaie ceci:

Dim dbsCurrent As DAO.Database
Dim Qdf As DAO.QueryDef
Set dbsCurrent = CurrentDb()
Set Qdf = dbsCurrent.QueryDefs("Compte nombre de mouvements mensuels")
Qdf.Parameters("mois") = 11
Qdf.Execute


--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"Gafish" a écrit dans le message de
news:0c9501c3bf1f$8a909b50$
Bonjour à tous !!

Access 97
Je suis sur l'évènement Open de mon état. j'ai le code
suivant :
Dim dbsCurrent As Database
Set dbsCurrent = CurrentDb()
dbsCurrent.QueryDefs("Compte nombre de mouvements
mensuels").Parameters("mois") = 11

Et sur cette dernière ligne j'ai l'erreur "Element non
trouvé dans cette collection".
"Compte nombre de mouvements mensuels" est une requête qui
existe sous Access, et si je la lance en feuille de
données j'ai bien toutes mes informations. Le
champs "Mois" en question est bien présent.

Pourquoi donc ai-je cette erreur ??

Merci d'avance

Arnaud
Avatar
Michel Walsh
Salut,


Est-ce qu'on a essayé

...
Set dbsCurrent = CurrentDb()
Dim qdf As QueryDef
Set qdfÛsCurrent.QueryDefs("Compte nombre de mouvements mensuels")
qdf.Parameters("mois").Value = 11
qdf.Execute

par exemple, serait mieux, ou encore, à la limite (non testé):


...
Set dbsCurrent = CurrentDb()
With dbsCurrent.QueryDefs("Compte nombre de mouvements mensuels")
.Parameters("mois").Value = 11
.Execute
End With



Espérant être utile,
Vanderghast, Access MVP




"Gafish" wrote in message
news:0c9501c3bf1f$8a909b50$
Bonjour à tous !!

Access 97
Je suis sur l'évènement Open de mon état. j'ai le code
suivant :
Dim dbsCurrent As Database
Set dbsCurrent = CurrentDb()
dbsCurrent.QueryDefs("Compte nombre de mouvements
mensuels").Parameters("mois") = 11

Et sur cette dernière ligne j'ai l'erreur "Element non
trouvé dans cette collection".
"Compte nombre de mouvements mensuels" est une requête qui
existe sous Access, et si je la lance en feuille de
données j'ai bien toutes mes informations. Le
champs "Mois" en question est bien présent.

Pourquoi donc ai-je cette erreur ??

Merci d'avance

Arnaud
Avatar
Gafish
Merci beaucoup pour la réponse !
J'ai toujours par contre le message d'erreur, qui m'est
indiqué au debug sur la ligne
Qdf.Parameters("mois") = 11
Pourtant j'ai bel et bien le mois dans ma requête.

Arnaud

-----Message d'origine-----
Bonjour.

l'objet n'est pas défini correctement, essaie ceci:

Dim dbsCurrent As DAO.Database
Dim Qdf As DAO.QueryDef
Set dbsCurrent = CurrentDb()
Set Qdf = dbsCurrent.QueryDefs("Compte nombre de
mouvements mensuels")

Qdf.Parameters("mois") = 11
Qdf.Execute


--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"Gafish" a écrit
dans le message de

news:0c9501c3bf1f$8a909b50$
Bonjour à tous !!

Access 97
Je suis sur l'évènement Open de mon état. j'ai le code
suivant :
Dim dbsCurrent As Database
Set dbsCurrent = CurrentDb()
dbsCurrent.QueryDefs("Compte nombre de mouvements
mensuels").Parameters("mois") = 11

Et sur cette dernière ligne j'ai l'erreur "Element non
trouvé dans cette collection".
"Compte nombre de mouvements mensuels" est une requête qui
existe sous Access, et si je la lance en feuille de
données j'ai bien toutes mes informations. Le
champs "Mois" en question est bien présent.

Pourquoi donc ai-je cette erreur ??

Merci d'avance

Arnaud


.



Avatar
Gafish
Merci beaucoup pour la réponse!
Non, idem, message d'erreur sur la ligne avec
l'affectation du paramètre.

Arnaud

-----Message d'origine-----
Salut,


Est-ce qu'on a essayé

....
Set dbsCurrent = CurrentDb()
Dim qdf As QueryDef
Set qdfÛsCurrent.QueryDefs("Compte nombre de
mouvements mensuels")

qdf.Parameters("mois").Value = 11
qdf.Execute

par exemple, serait mieux, ou encore, à la limite (non
testé):



....
Set dbsCurrent = CurrentDb()
With dbsCurrent.QueryDefs("Compte nombre de
mouvements mensuels")

.Parameters("mois").Value = 11
.Execute
End With



Espérant être utile,
Vanderghast, Access MVP




"Gafish" wrote in
message

news:0c9501c3bf1f$8a909b50$
Bonjour à tous !!

Access 97
Je suis sur l'évènement Open de mon état. j'ai le code
suivant :
Dim dbsCurrent As Database
Set dbsCurrent = CurrentDb()
dbsCurrent.QueryDefs("Compte nombre de mouvements
mensuels").Parameters("mois") = 11

Et sur cette dernière ligne j'ai l'erreur "Element non
trouvé dans cette collection".
"Compte nombre de mouvements mensuels" est une requête qui
existe sous Access, et si je la lance en feuille de
données j'ai bien toutes mes informations. Le
champs "Mois" en question est bien présent.

Pourquoi donc ai-je cette erreur ??

Merci d'avance

Arnaud


.



Avatar
Raymond [mvp]
C'est une erreur de compil ou d'exécution ? si c'est d'exécution et que ta
requête n'est pas trop longue affiche-la..

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"Gafish" a écrit dans le message de
news:0a6301c3bf25$41cbb430$
Merci beaucoup pour la réponse !
J'ai toujours par contre le message d'erreur, qui m'est
indiqué au debug sur la ligne
Qdf.Parameters("mois") = 11
Pourtant j'ai bel et bien le mois dans ma requête.

Arnaud
Avatar
D'execution :
SELECT [data warehouse].[date de création], Count([data
warehouse].[code origine]) AS [CompteDecode origine],
[data warehouse].[code origine], [data warehouse].mois,
[data warehouse].[indicateur d'annulation], Format([data
warehouse]![date de création],"dddd") AS jour, "" AS
anomalie
FROM [data warehouse]
GROUP BY [data warehouse].[date de création], [data
warehouse].[code origine], [data warehouse].mois, [data
warehouse].[indicateur d'annulation], Format([data
warehouse]![date de création],"dddd"), ""
HAVING ((([data warehouse].[code origine])="BE" Or ([data
warehouse].[code origine])="BF" Or ([data warehouse].[code
origine])="PRGST" Or ([data warehouse].[code origine])
="SICAV" Or ([data warehouse].[code origine])="MONEP" Or
([data warehouse].[code origine])="Def021") AND (([data
warehouse].mois)=[Formulaires]![data warehouse - Etats
mensuels]![moisetats]))
ORDER BY [data warehouse].[date de création];

Arnaud

-----Message d'origine-----
C'est une erreur de compil ou d'exécution ? si c'est
d'exécution et que ta

requête n'est pas trop longue affiche-la..

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"Gafish" a écrit
dans le message de

news:0a6301c3bf25$41cbb430$
Merci beaucoup pour la réponse !
J'ai toujours par contre le message d'erreur, qui m'est
indiqué au debug sur la ligne
Qdf.Parameters("mois") = 11
Pourtant j'ai bel et bien le mois dans ma requête.

Arnaud



.



Avatar
Raymond [mvp]
le paramètre n'est pas mois, mais [Formulaires]![data warehouse - Etats
mensuels]![moisetats]

tu n'as pas besoin de charger un paramètre car il présent dans le
formulaire. tu n'as pas besoin de passer par cette solution. tu lances ton
état et puis c'est tout, tu n'as pas besoin de code sur l'ouverture, la
requête ira chercher la valeur deans le formulaire.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


a écrit dans le message de
news:05c801c3bf28$d47bdc30$
D'execution :
SELECT [data warehouse].[date de création], Count([data
warehouse].[code origine]) AS [CompteDecode origine],
[data warehouse].[code origine], [data warehouse].mois,
[data warehouse].[indicateur d'annulation], Format([data
warehouse]![date de création],"dddd") AS jour, "" AS
anomalie
FROM [data warehouse]
GROUP BY [data warehouse].[date de création], [data
warehouse].[code origine], [data warehouse].mois, [data
warehouse].[indicateur d'annulation], Format([data
warehouse]![date de création],"dddd"), ""
HAVING ((([data warehouse].[code origine])="BE" Or ([data
warehouse].[code origine])="BF" Or ([data warehouse].[code
origine])="PRGST" Or ([data warehouse].[code origine])
="SICAV" Or ([data warehouse].[code origine])="MONEP" Or
([data warehouse].[code origine])="Def021") AND (([data
warehouse].mois)=[Formulaires]![data warehouse - Etats
mensuels]![moisetats]))
ORDER BY [data warehouse].[date de création];

Arnaud
Avatar
Gafish
Ben c'est pas si simple en fait.
Si je veux mettre du code à l'ouverture de mon état, c'est parce que suite à
l'ouverture de cette requête je veux ouvrir un recordset correspondant pour
parcourir mes valeurs par le code.
Et si je ne mets pas parameters, j'ai le message d'erreur "Trop peu de
paramètres"
J'ai essayé d'enlever le paramètre via le form qui se trouve dans la requête
j'ai toujours le même message d'erreur.
Et de même si au lieu de mettre 11 en dur je mets [Forms]!......

"Raymond [mvp]" a écrit dans le message news:
#
le paramètre n'est pas mois, mais [Formulaires]![data warehouse - Etats
mensuels]![moisetats]

tu n'as pas besoin de charger un paramètre car il présent dans le
formulaire. tu n'as pas besoin de passer par cette solution. tu lances ton
état et puis c'est tout, tu n'as pas besoin de code sur l'ouverture, la
requête ira chercher la valeur deans le formulaire.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


a écrit dans le message de
news:05c801c3bf28$d47bdc30$
D'execution :
SELECT [data warehouse].[date de création], Count([data
warehouse].[code origine]) AS [CompteDecode origine],
[data warehouse].[code origine], [data warehouse].mois,
[data warehouse].[indicateur d'annulation], Format([data
warehouse]![date de création],"dddd") AS jour, "" AS
anomalie
FROM [data warehouse]
GROUP BY [data warehouse].[date de création], [data
warehouse].[code origine], [data warehouse].mois, [data
warehouse].[indicateur d'annulation], Format([data
warehouse]![date de création],"dddd"), ""
HAVING ((([data warehouse].[code origine])="BE" Or ([data
warehouse].[code origine])="BF" Or ([data warehouse].[code
origine])="PRGST" Or ([data warehouse].[code origine])
="SICAV" Or ([data warehouse].[code origine])="MONEP" Or
([data warehouse].[code origine])="Def021") AND (([data
warehouse].mois)=[Formulaires]![data warehouse - Etats
mensuels]![moisetats]))
ORDER BY [data warehouse].[date de création];

Arnaud




Avatar
Raymond [mvp]
si dans ton code tu ouvres ta requête en tant que recordset directement
(openrecordset) tu ne dois pas avoir de message ni d'erreur.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"Gafish" a écrit dans le message de
news:%23q%
Ben c'est pas si simple en fait.
Si je veux mettre du code à l'ouverture de mon état, c'est parce que suite
à

l'ouverture de cette requête je veux ouvrir un recordset correspondant
pour

parcourir mes valeurs par le code.
Et si je ne mets pas parameters, j'ai le message d'erreur "Trop peu de
paramètres"
J'ai essayé d'enlever le paramètre via le form qui se trouve dans la
requête

j'ai toujours le même message d'erreur.
Et de même si au lieu de mettre 11 en dur je mets [Forms]!......



Avatar
Gafish
Ben le problème en ouvrant directement par recordset, c'est ce que je
faisais au tout début, c'est qu'il me met trop peu de paramètres. Je suis
donc obligé de faire quand meme un parameters, donc de retomber sur le même
problème.


"Raymond [mvp]" a écrit dans le message news:
#
si dans ton code tu ouvres ta requête en tant que recordset directement
(openrecordset) tu ne dois pas avoir de message ni d'erreur.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"Gafish" a écrit dans le message de
news:%23q%
Ben c'est pas si simple en fait.
Si je veux mettre du code à l'ouverture de mon état, c'est parce que
suite


à
l'ouverture de cette requête je veux ouvrir un recordset correspondant
pour

parcourir mes valeurs par le code.
Et si je ne mets pas parameters, j'ai le message d'erreur "Trop peu de
paramètres"
J'ai essayé d'enlever le paramètre via le form qui se trouve dans la
requête

j'ai toujours le même message d'erreur.
Et de même si au lieu de mettre 11 en dur je mets [Forms]!......







1 2