OVH Cloud OVH Cloud

requete parametrée VBA

7 réponses
Avatar
Veronique
Bonjour,

je veux lancer une requ=EAte param=E9tr=E9e en VBA.
J'y parviens avec l'objet Command avec des param=E8tres que=20
j'envoie =E0 partir de mon code. Par contre comment faire=20
pour neutraliser des param=E8tres et afficher tous les=20
enregistrements? J'ai essay=E9 avec "*" transmis par vba et=20
dans ma requ=EAte j'ai le crit=E8re Comme [param] mais =E7=E0 ne=20
marche pas ! Si je lance ma requete =E0 la main et je tape=20
* dans l'invite =E7=E0 marche...

Merci de m'aider !!!

7 réponses

Avatar
Raymond [mvp]
Bonjour.

affiche ta clause where ici.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Veronique" a écrit dans le message de
news: 08eb01c51800$f8ec0090$
Bonjour,

je veux lancer une requête paramétrée en VBA.
J'y parviens avec l'objet Command avec des paramètres que
j'envoie à partir de mon code. Par contre comment faire
pour neutraliser des paramètres et afficher tous les
enregistrements? J'ai essayé avec "*" transmis par vba et
dans ma requête j'ai le critère Comme [param] mais çà ne
marche pas ! Si je lance ma requete à la main et je tape
* dans l'invite çà marche...

Merci de m'aider !!!
Avatar
J'ai une requete ConstatQualiMag
qui a comme Param CTINV et comme critère : "Comme CTINV"
et je veux afficher tous les enr qqsoit le contenu ctinv.
Si je lance à la main la req fonctionne!
Merci pour la reponse


Set cmdSynthesemagasin = catCurr.Procedures
("ConstatQualiMag").Command

cmdSynthesemagasin.Parameters("[Etape]") =
rstEtapes.Fields(1)
cmdSynthesemagasin.Parameters("[date]") =
rstTempoChoixSynthese.Fields(0)
If rstTempoChoixSynthese.Fields(1) <> "*" Then
cmdSynthesemagasin.Parameters("[ctinv]")
= rstTempoChoixSynthese.Fields(1)
Else
cmdSynthesemagasin.Parameters("[ctinv]")
= "*"
End If

cmdSynthesemagasin.Parameters("[choixmag]") =
rstMag.Fields(0)
rstConstatQuali.Open cmdSynthesemagasin, ,
adOpenForwardOnly, adLockReadOnly

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

affiche ta clause where ici.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Veronique" a
écrit dans le message de

news: 08eb01c51800$f8ec0090$
Bonjour,

je veux lancer une requête paramétrée en VBA.
J'y parviens avec l'objet Command avec des paramètres que
j'envoie à partir de mon code. Par contre comment faire
pour neutraliser des paramètres et afficher tous les
enregistrements? J'ai essayé avec "*" transmis par vba et
dans ma requête j'ai le critère Comme [param] mais çà ne
marche pas ! Si je lance ma requete à la main et je tape
* dans l'invite çà marche...

Merci de m'aider !!!


.



Avatar
Raymond [mvp]
Rien ne semble étrange pour ctinv sauf si rstTempoChoixSynthese.Fields(1)
n'a pas la bonne valeur. mets un point d'arrêt et vérifie quez tu a bien les
bonnes valeurs dans ce paramètre.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


a écrit dans le message de news:
081101c51804$768aa260$
J'ai une requete ConstatQualiMag
qui a comme Param CTINV et comme critère : "Comme CTINV"
et je veux afficher tous les enr qqsoit le contenu ctinv.
Si je lance à la main la req fonctionne!
Merci pour la reponse


Set cmdSynthesemagasin = catCurr.Procedures
("ConstatQualiMag").Command

cmdSynthesemagasin.Parameters("[Etape]") rstEtapes.Fields(1)
cmdSynthesemagasin.Parameters("[date]") rstTempoChoixSynthese.Fields(0)
If rstTempoChoixSynthese.Fields(1) <> "*" Then
cmdSynthesemagasin.Parameters("[ctinv]")
= rstTempoChoixSynthese.Fields(1)
Else
cmdSynthesemagasin.Parameters("[ctinv]")
= "*"
End If

cmdSynthesemagasin.Parameters("[choixmag]") rstMag.Fields(0)
rstConstatQuali.Open cmdSynthesemagasin, ,
adOpenForwardOnly, adLockReadOnly
Avatar
Tout est correct mais je pense que VBA ne supporte par le
critère Like "*" dans une requête paramétrée. Cela me
semble pourtant tellement indispensable...
Dans mon vba toutes les valeurs transmises sont correctes
sauf que ma req ne renvoie rien sauf si je la lance à la
main avec les mêmes critères...
-----Message d'origine-----
Rien ne semble étrange pour ctinv sauf si
rstTempoChoixSynthese.Fields(1)

n'a pas la bonne valeur. mets un point d'arrêt et
vérifie quez tu a bien les

bonnes valeurs dans ce paramètre.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


a écrit dans le
message de news:

081101c51804$768aa260$
J'ai une requete ConstatQualiMag
qui a comme Param CTINV et comme critère : "Comme CTINV"
et je veux afficher tous les enr qqsoit le contenu ctinv.
Si je lance à la main la req fonctionne!
Merci pour la reponse


Set cmdSynthesemagasin = catCurr.Procedures
("ConstatQualiMag").Command

cmdSynthesemagasin.Parameters("[Etape]") =
rstEtapes.Fields(1)
cmdSynthesemagasin.Parameters("[date]") =
rstTempoChoixSynthese.Fields(0)
If rstTempoChoixSynthese.Fields(1) <> "*"
Then

cmdSynthesemagasin.Parameters("[ctinv]")
= rstTempoChoixSynthese.Fields(1)
Else
cmdSynthesemagasin.Parameters("[ctinv]")
= "*"
End If

cmdSynthesemagasin.Parameters("[choixmag]") =
rstMag.Fields(0)
rstConstatQuali.Open cmdSynthesemagasin, ,
adOpenForwardOnly, adLockReadOnly




.



Avatar
Raymond [mvp]
il n'y a pas de raison.

si tu mets "A*" ça marche ?

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


a écrit dans le message de news:
098c01c5180e$0f680050$
Tout est correct mais je pense que VBA ne supporte par le
critère Like "*" dans une requête paramétrée. Cela me
semble pourtant tellement indispensable...
Dans mon vba toutes les valeurs transmises sont correctes
sauf que ma req ne renvoie rien sauf si je la lance à la
main avec les mêmes critères...
Avatar
Sympa de suivre !
Même avec C*(cohérent pour moi) çà ne marche pas !
Je pense que je vaischanger de critère;
j'ai deux possibilité ou Ct ou INv, je vais faire un ou
en attendant mieux :( !
-----Message d'origine-----
il n'y a pas de raison.

si tu mets "A*" ça marche ?

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


a écrit dans le
message de news:

098c01c5180e$0f680050$
Tout est correct mais je pense que VBA ne supporte par le
critère Like "*" dans une requête paramétrée. Cela me
semble pourtant tellement indispensable...
Dans mon vba toutes les valeurs transmises sont correctes
sauf que ma req ne renvoie rien sauf si je la lance à la
main avec les mêmes critères...



.



Avatar
Samantha
Heu une requete avec un like en moteur Jet c'est un *
qu'il faut mettre ??
Parceque en sql ansi c'est un % ...
Je sait qu'il y a des differences mais bon
Et puis s'assurer qu'il y ait bien les simples cotes....
sinon y a aucune raison !
-----Message d'origine-----
Sympa de suivre !
Même avec C*(cohérent pour moi) çà ne marche pas !
Je pense que je vaischanger de critère;
j'ai deux possibilité ou Ct ou INv, je vais faire un ou
en attendant mieux :( !
-----Message d'origine-----
il n'y a pas de raison.

si tu mets "A*" ça marche ?

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


a écrit dans le
message de news:

098c01c5180e$0f680050$
Tout est correct mais je pense que VBA ne supporte par le
critère Like "*" dans une requête paramétrée. Cela me
semble pourtant tellement indispensable...
Dans mon vba toutes les valeurs transmises sont correctes
sauf que ma req ne renvoie rien sauf si je la lance à la
main avec les mêmes critères...



.

.