OVH Cloud OVH Cloud

Erreur 2427 - Intermitente

5 réponses
Avatar
Mrs Pomemboo
Bonjour à tous,

Encore en Acc97, sur Win98se ou WinXP. :-(

J'ai un état dans lequel au formatage de la section Détail j'effectue
une vérification de valeur pour masquer ou afficher un sous-formulaire.
En mode création, tout est tigidou (impec quoi), mais lorsque j'appèle
l'ouverture de mon état à partir de l'objet docmd.openForm, je me
retrouve avec l'erreur 2427 - Expression sans paramètre... et ce, de
façon intermitente.
Dans ma section détail j'ai un contrôle fldDeversement(non visible) qui
se trouve à être le nom du contrôle et par le fait même, le nom du
champs dans ma requête. Au formatage de la section, j'effectue la
vérification suivante(à sa plus simple expression, ayant tenté plusieurs
types de validation avec des if, etc... pour régler mon erreur) :
Me.MonControleSousEtat.Report.visible = me.fldDeversement

Pour afficher mon rapport, j'utilise la ligne suivante :
DoCmd.OpenReport strNomRapport, acViewPreview, , strCritere

Ce qui fonctionne...c'est lorsque mon strCritere
= "[DDate]>=#" & Format(gdteDateDebut, "yyyy-mm-dd") & "# AND
[DDate]<=#" & Format(gdteDateFin, "yyyy-mm-dd") & "#"

Ce qui ne fonctionne pas...c'est lorsque mon strCritere
= "[DDate]>=#" & Format(gdteDateDebut, "yyyy-mm-dd") & "# AND
[DDate]<=#" & Format(gdteDateFin, "yyyy-mm-dd") & "# AND " &
strNomChamps & "=" & Me.Controls(strNomControle).Value

Là, j'ai eu beau chercher sur le net, je ne sait vraiment plus où
regarder ! Auriez-vous des indications à me fournir sur ladite situation
"%%%&%&"....

P.S. Toutes mes syntaxes fonctionnent bien lorsque je ne demande pas de
masquer ledit sousEtat(sql, type, etc.)

Merci à l'avance pour vos réponses et bonne fin de journée !

--
Mrs Pomemboo (Québec, Canada)
Charte : ...http://users.skynet.be/mpfa/ ...

5 réponses

Avatar
Mrs Pomemboo
Oupsss... désolée... j'étais vraiment dans les patates.... Je tiens à
préciser que je parle toujours ici d'état et non de formulaire....

La version corrigée dirait donc....

|| Bonjour à tous,
||
|| Encore en Acc97, sur Win98se ou WinXP. :-(
||
|| J'ai un état dans lequel au formatage de la section Détail j'effectue
|| une vérification de valeur pour masquer ou afficher un
--|| sous-etat. En mode création, tout est tigidou (impec quoi),
|| mais lorsque j'appèle l'ouverture de mon état à partir de l'objet
--|| docmd.openReport, je me retrouve avec l'erreur 2427 - Expression
sans
|| paramètre... et ce, de façon intermitente.
|| Dans ma section détail j'ai un contrôle fldDeversement(non visible)
|| qui se trouve à être le nom du contrôle et par le fait même, le nom
|| du champs dans ma requête. Au formatage de la section, j'effectue la
|| vérification suivante(à sa plus simple expression, ayant tenté
|| plusieurs types de validation avec des if, etc... pour régler mon
|| erreur) : Me.MonControleSousEtat.Report.visible = me.fldDeversement
||
|| Pour afficher mon rapport, j'utilise la ligne suivante :
|| DoCmd.OpenReport strNomRapport, acViewPreview, , strCritere
||
|| Ce qui fonctionne...c'est lorsque mon strCritere
|| = "[DDate]>=#" & Format(gdteDateDebut, "yyyy-mm-dd") & "# AND
|| [DDate]<=#" & Format(gdteDateFin, "yyyy-mm-dd") & "#"
||
|| Ce qui ne fonctionne pas...c'est lorsque mon strCritere
|| = "[DDate]>=#" & Format(gdteDateDebut, "yyyy-mm-dd") & "# AND
|| [DDate]<=#" & Format(gdteDateFin, "yyyy-mm-dd") & "# AND " &
|| strNomChamps & "=" & Me.Controls(strNomControle).Value
||
|| Là, j'ai eu beau chercher sur le net, je ne sait vraiment plus où
|| regarder ! Auriez-vous des indications à me fournir sur ladite
|| situation "%%%&%&"....
||
|| P.S. Toutes mes syntaxes fonctionnent bien lorsque je ne demande pas
|| de masquer ledit sousEtat(sql, type, etc.)
||
|| Merci à l'avance pour vos réponses et bonne fin de journée !
||
|| --
|| Mrs Pomemboo (Québec, Canada)
|| Charte : ...http://users.skynet.be/mpfa/ ...
Avatar
3stone
Salut,

"Mrs Pomemboo"

|Ce qui ne fonctionne pas...c'est lorsque mon strCritere
| = "[DDate]>=#" & Format(gdteDateDebut, "yyyy-mm-dd") & "# AND
| [DDate]<=#" & Format(gdteDateFin, "yyyy-mm-dd") & "# AND " &
| strNomChamps & "=" & Me.Controls(strNomControle).Value


& "# AND [" & strNomChamps & "]=" & Me.Controls(strNomControle).Value

devrait le faire...
si strNomChamps et strNomControle ramène ce qui va bien.

--
A+
Pierre (3stone) Access MVP
-------------------------------------------------------
Bien démarrer ? c'est ici http://users.skynet.be/mpfa/
( Je ne réponds pas aux emails qui concernent Access )
-------------------------------------------------------
Avatar
Mrs Pomemboo
Salut Pierre,

3stone wrote:
|| Salut,
||
|| "Mrs Pomemboo"
||
||| Ce qui ne fonctionne pas...c'est lorsque mon strCritere
||| = "[DDate]>=#" & Format(gdteDateDebut, "yyyy-mm-dd") & "# AND
||| [DDate]<=#" & Format(gdteDateFin, "yyyy-mm-dd") & "# AND " &
||| strNomChamps & "=" & Me.Controls(strNomControle).Value
||
||
|| & "# AND [" & strNomChamps & "]=" & Me.Controls(strNomControle).Value
||
|| devrait le faire...
|| si strNomChamps et strNomControle ramène ce qui va bien.

mon strNomChamps comporte déjà les crochets, c'est pourquoi je ne les
inclus pas dans ma string... Comme je le disais, le problème ne se situe
vraiment pas au niveau de mes syntaxes parce qu'elles fonctionnent
toutes lorsque je met en commentaires la ligne de mon état... C'est
vraiment sur la ligne
Me.MonControleSousEtat.Report.visible = me.fldDeversement
que je reçois mon erreur !

Merci bien malgré tout...une autre idée ?
Mrs Pomemboo

||
|| --
|| A+
|| Pierre (3stone) Access MVP
|| -------------------------------------------------------
|| Bien démarrer ? c'est ici http://users.skynet.be/mpfa/
|| ( Je ne réponds pas aux emails qui concernent Access )
|| -------------------------------------------------------
Avatar
Mrs Pomemboo
Re...

J'ai réussi à contourner mon problème avec l'une ou l'autre des 2
situations suivantes :

1 - En ajoutant un contrôle case à cocher indépendant dans mon état où
la source est = VraiFaux([fldDeversement];Vrai;Faux) et en utilisant
celui-ci pour afficher ou masquer mon sous-etat soit :
Me.MonControleSousEtat.Report.visible = MaCase

2 - En changeant ma ligne pour masquer mon sousEtat par :
Me.MonControleSousEtat.Report.visible = fldDeversement
soit, sans le Me.

Sur ce, quelle est la différence d'une appellation ou d'une autre,
est-ce que le fait de référencer un contrôle sans le Me fait directement
référence à la valeur du champs(donc la colonne de la requête), tandis
qu'avec l'utilisation du Me, on fait référence à la valeur du contrôle
lui-même (en principe qui devrait être la même chose) mais qui renvoie
un erreur 2427... ?

Auriez-vous des précisions à ce sujet svp et merci encore pour votre
aide !
Mrs Pomemboo
Avatar
Mrs Pomemboo
Re....

Bon.... désolée mais le problème n'avait vraiment pas rapport avec ledit
contrôle ou le champs ou la string... en fait, je me retrouvais avec cet
erreur parce que mon état ne contenait aucune donnée....

Milles excuses !

--
Mrs Pomemboo (Québec, Canada)
Charte : ...http://users.skynet.be/mpfa/ ...