Probléme passage de paramétres à une SP par Méthode ADO Execute ??
2 réponses
News Groups
Bonjour,
Je suis sous Access 2002 - Projet ADP / SQL Server 2000.
J'essaye d'utiliser la Méthode Execute de ADO :
°°° MaCommande.Execute intAffected, Array("Toto"), adExecuteNoRecords
Afin d'executer une Procédure stockée de type "UPDATE.." ayant un parametre
d'entrée @Prenom
Or l'utilisation de "Array(..)" pour fournir les valeurs de paramétre
entraine une erreur d'éxécution !!!
Quelqu'un peut-il m'aider, ?
Est ce que le passage des paramétres par ce biais ne vaut que pour les
instruction SQL paramétrées
type "UPDATE ..WHERE (MonChamp = ?)" ?
Merci de votre et désolé si la demande est un peu brouillon..
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Charles ERNST
dim q As New ADODB.Command q.ActiveConnection = CurrentProject.Connection q.CommandType = adCmdStoredProc q.CommandText = "[NOM DE VOTRE PROCEDURE]" q.Parameters("@Du") = Me("Du") q.Parameters("@Au") = Me("Au") q.execute
"News Groups" a écrit dans le message de news: 41deb591$0$29888$
Bonjour, Je suis sous Access 2002 - Projet ADP / SQL Server 2000.
J'essaye d'utiliser la Méthode Execute de ADO : °°° MaCommande.Execute intAffected, Array("Toto"), adExecuteNoRecords Afin d'executer une Procédure stockée de type "UPDATE.." ayant un parametre d'entrée @Prenom Or l'utilisation de "Array(..)" pour fournir les valeurs de paramétre entraine une erreur d'éxécution !!!
Quelqu'un peut-il m'aider, ? Est ce que le passage des paramétres par ce biais ne vaut que pour les instruction SQL paramétrées type "UPDATE ..WHERE (MonChamp = ?)" ?
Merci de votre et désolé si la demande est un peu brouillon..
Thierry.
dim q As New ADODB.Command
q.ActiveConnection = CurrentProject.Connection
q.CommandType = adCmdStoredProc
q.CommandText = "[NOM DE VOTRE PROCEDURE]"
q.Parameters("@Du") = Me("Du")
q.Parameters("@Au") = Me("Au")
q.execute
"News Groups" <bjt_nwsgrp@yahoo.fr> a écrit dans le message de news:
41deb591$0$29888$636a15ce@news.free.fr...
Bonjour,
Je suis sous Access 2002 - Projet ADP / SQL Server 2000.
J'essaye d'utiliser la Méthode Execute de ADO :
°°° MaCommande.Execute intAffected, Array("Toto"), adExecuteNoRecords
Afin d'executer une Procédure stockée de type "UPDATE.." ayant un
parametre
d'entrée @Prenom
Or l'utilisation de "Array(..)" pour fournir les valeurs de paramétre
entraine une erreur d'éxécution !!!
Quelqu'un peut-il m'aider, ?
Est ce que le passage des paramétres par ce biais ne vaut que pour les
instruction SQL paramétrées
type "UPDATE ..WHERE (MonChamp = ?)" ?
Merci de votre et désolé si la demande est un peu brouillon..
dim q As New ADODB.Command q.ActiveConnection = CurrentProject.Connection q.CommandType = adCmdStoredProc q.CommandText = "[NOM DE VOTRE PROCEDURE]" q.Parameters("@Du") = Me("Du") q.Parameters("@Au") = Me("Au") q.execute
"News Groups" a écrit dans le message de news: 41deb591$0$29888$
Bonjour, Je suis sous Access 2002 - Projet ADP / SQL Server 2000.
J'essaye d'utiliser la Méthode Execute de ADO : °°° MaCommande.Execute intAffected, Array("Toto"), adExecuteNoRecords Afin d'executer une Procédure stockée de type "UPDATE.." ayant un parametre d'entrée @Prenom Or l'utilisation de "Array(..)" pour fournir les valeurs de paramétre entraine une erreur d'éxécution !!!
Quelqu'un peut-il m'aider, ? Est ce que le passage des paramétres par ce biais ne vaut que pour les instruction SQL paramétrées type "UPDATE ..WHERE (MonChamp = ?)" ?
Merci de votre et désolé si la demande est un peu brouillon..
Thierry.
News Groups
Merci pour ta réponse,
Je peux effectivement utiliser la définition de paramétres à l'objet commande, c'est d'ailleurs ce que fais dans certains cas. Mais dans le cas présent je veux éviter, je m'explique plus clairement que dans le post précédent :
En fait j'ai un formulaire indépendant dans lequel je saisie des valeurs pour une vingtaine de controles et la validation de la saisie par un bouton execute une instruction INSERT dont les valeurs sont celles des controles du Forms (l'insertion se faisant dans plusieurs Tables avec intégrités référentielles entre elles). Au lieu de créer dynamiquement l'instruction SQL, j'ai choisi de créer une procédure stcokée avec en paramétres d'entrée les valeurs à inserer dans mes tables : MaProcedure (@ParamA,@ParamB,@ParamC,) AS ... BEGIN TRAN INSERT MaTableA(ChampA,ChampB,ChampC,...ChampN...) VALUES (@ParamA,@ParamB,@ParamC,) IF @@ERROR <> 0 ROLLBACK TRAN INSERT MaTableB(ChampA,ChampB,ChampC,...ChampS...) VALUES (@ParamA,@ParamB,@ParamC,) ... Hors cela me donne une vingtaine de paramétres !! > q.Parameters("@Du") Me("A")
q.Parameters("@Au") = Me("B") ..
q.Parameters("@N") = Me("N")
donc pour éviter de déclarer ces paramétres au niveau ADO, j'ai lu dans des docs et l'aide DAO d'Access, la syntaxe de la méthode Execute : command.Execute RecordsAffected, Parameters, Options Avec : Parameters Facultatif. Tableau Variant de valeurs de paramètres passées avec une instruction SQL. (Les paramètres de sortie ne renvoient pas des valeurs correctes s'ils sont transmis dans cet argument.)
Si j'applique l'arguments Parameters à mon cas, j'ai un message d'erreur ?! °°MaCommande.Execute intAffect, (ValeurA,ValeurB,ValeurC,...ValeurN)
Donc je ne sais si on peut l'utiliser avec des Procédures Stockées ou seulement avec une instruction SQL paramétrée du type : INSERT MaTableA(ValeurA,ChampB,ChampC..) VALUES (?,?,?..)..
Je cherche donc de l'aide et des infos sur cela ??
Merci encore de vos réponses, Thierry.
"Charles ERNST" a écrit dans le message de news: #
dim q As New ADODB.Command q.ActiveConnection = CurrentProject.Connection q.CommandType = adCmdStoredProc q.CommandText = "[NOM DE VOTRE PROCEDURE]" q.Parameters("@Du") = Me("Du") q.Parameters("@Au") = Me("Au") q.execute
"News Groups" a écrit dans le message de news: 41deb591$0$29888$
Bonjour, Je suis sous Access 2002 - Projet ADP / SQL Server 2000.
J'essaye d'utiliser la Méthode Execute de ADO : °°° MaCommande.Execute intAffected, Array("Toto"), adExecuteNoRecords Afin d'executer une Procédure stockée de type "UPDATE.." ayant un parametre d'entrée @Prenom Or l'utilisation de "Array(..)" pour fournir les valeurs de paramétre entraine une erreur d'éxécution !!!
Quelqu'un peut-il m'aider, ? Est ce que le passage des paramétres par ce biais ne vaut que pour les instruction SQL paramétrées type "UPDATE ..WHERE (MonChamp = ?)" ?
Merci de votre et désolé si la demande est un peu brouillon..
Thierry.
Merci pour ta réponse,
Je peux effectivement utiliser la définition de paramétres à l'objet
commande, c'est d'ailleurs ce que fais dans certains cas.
Mais dans le cas présent je veux éviter, je m'explique plus clairement que
dans le post précédent :
En fait j'ai un formulaire indépendant dans lequel je saisie des valeurs
pour une vingtaine de controles et la validation de la saisie par un bouton
execute une instruction INSERT dont les valeurs sont celles des controles du
Forms (l'insertion se faisant dans plusieurs Tables avec intégrités
référentielles entre elles).
Au lieu de créer dynamiquement l'instruction SQL, j'ai choisi de créer une
procédure stcokée avec en paramétres d'entrée les valeurs à inserer dans mes
tables :
MaProcedure (@ParamA,@ParamB,@ParamC,...@ParamN...)
AS
...
BEGIN TRAN
INSERT MaTableA(ChampA,ChampB,ChampC,...ChampN...)
VALUES (@ParamA,@ParamB,@ParamC,...@ParamN...)
IF @@ERROR <> 0 ROLLBACK TRAN
INSERT MaTableB(ChampA,ChampB,ChampC,...ChampS...)
VALUES (@ParamA,@ParamB,@ParamC,...@ParamS...)
...
Hors cela me donne une vingtaine de paramétres !! > q.Parameters("@Du") Me("A")
q.Parameters("@Au") = Me("B")
..
q.Parameters("@N") = Me("N")
donc pour éviter de déclarer ces paramétres au niveau ADO, j'ai lu dans des
docs et l'aide DAO d'Access, la syntaxe de la méthode Execute :
command.Execute RecordsAffected, Parameters, Options
Avec :
Parameters Facultatif. Tableau Variant de valeurs de paramètres passées
avec une instruction SQL. (Les paramètres de sortie ne renvoient pas des
valeurs correctes s'ils sont transmis dans cet argument.)
Si j'applique l'arguments Parameters à mon cas, j'ai un message d'erreur ?!
°°MaCommande.Execute intAffect, (ValeurA,ValeurB,ValeurC,...ValeurN)
Donc je ne sais si on peut l'utiliser avec des Procédures Stockées ou
seulement avec une instruction SQL paramétrée du type :
INSERT MaTableA(ValeurA,ChampB,ChampC..)
VALUES (?,?,?..)..
Je cherche donc de l'aide et des infos sur cela ??
Merci encore de vos réponses,
Thierry.
"Charles ERNST" <charles.ernst@libertysurf.fr> a écrit dans le message de
news: #Umri9N9EHA.1264@TK2MSFTNGP12.phx.gbl...
dim q As New ADODB.Command
q.ActiveConnection = CurrentProject.Connection
q.CommandType = adCmdStoredProc
q.CommandText = "[NOM DE VOTRE PROCEDURE]"
q.Parameters("@Du") = Me("Du")
q.Parameters("@Au") = Me("Au")
q.execute
"News Groups" <bjt_nwsgrp@yahoo.fr> a écrit dans le message de news:
41deb591$0$29888$636a15ce@news.free.fr...
Bonjour,
Je suis sous Access 2002 - Projet ADP / SQL Server 2000.
J'essaye d'utiliser la Méthode Execute de ADO :
°°° MaCommande.Execute intAffected, Array("Toto"), adExecuteNoRecords
Afin d'executer une Procédure stockée de type "UPDATE.." ayant un
parametre
d'entrée @Prenom
Or l'utilisation de "Array(..)" pour fournir les valeurs de paramétre
entraine une erreur d'éxécution !!!
Quelqu'un peut-il m'aider, ?
Est ce que le passage des paramétres par ce biais ne vaut que pour les
instruction SQL paramétrées
type "UPDATE ..WHERE (MonChamp = ?)" ?
Merci de votre et désolé si la demande est un peu brouillon..
Je peux effectivement utiliser la définition de paramétres à l'objet commande, c'est d'ailleurs ce que fais dans certains cas. Mais dans le cas présent je veux éviter, je m'explique plus clairement que dans le post précédent :
En fait j'ai un formulaire indépendant dans lequel je saisie des valeurs pour une vingtaine de controles et la validation de la saisie par un bouton execute une instruction INSERT dont les valeurs sont celles des controles du Forms (l'insertion se faisant dans plusieurs Tables avec intégrités référentielles entre elles). Au lieu de créer dynamiquement l'instruction SQL, j'ai choisi de créer une procédure stcokée avec en paramétres d'entrée les valeurs à inserer dans mes tables : MaProcedure (@ParamA,@ParamB,@ParamC,) AS ... BEGIN TRAN INSERT MaTableA(ChampA,ChampB,ChampC,...ChampN...) VALUES (@ParamA,@ParamB,@ParamC,) IF @@ERROR <> 0 ROLLBACK TRAN INSERT MaTableB(ChampA,ChampB,ChampC,...ChampS...) VALUES (@ParamA,@ParamB,@ParamC,) ... Hors cela me donne une vingtaine de paramétres !! > q.Parameters("@Du") Me("A")
q.Parameters("@Au") = Me("B") ..
q.Parameters("@N") = Me("N")
donc pour éviter de déclarer ces paramétres au niveau ADO, j'ai lu dans des docs et l'aide DAO d'Access, la syntaxe de la méthode Execute : command.Execute RecordsAffected, Parameters, Options Avec : Parameters Facultatif. Tableau Variant de valeurs de paramètres passées avec une instruction SQL. (Les paramètres de sortie ne renvoient pas des valeurs correctes s'ils sont transmis dans cet argument.)
Si j'applique l'arguments Parameters à mon cas, j'ai un message d'erreur ?! °°MaCommande.Execute intAffect, (ValeurA,ValeurB,ValeurC,...ValeurN)
Donc je ne sais si on peut l'utiliser avec des Procédures Stockées ou seulement avec une instruction SQL paramétrée du type : INSERT MaTableA(ValeurA,ChampB,ChampC..) VALUES (?,?,?..)..
Je cherche donc de l'aide et des infos sur cela ??
Merci encore de vos réponses, Thierry.
"Charles ERNST" a écrit dans le message de news: #
dim q As New ADODB.Command q.ActiveConnection = CurrentProject.Connection q.CommandType = adCmdStoredProc q.CommandText = "[NOM DE VOTRE PROCEDURE]" q.Parameters("@Du") = Me("Du") q.Parameters("@Au") = Me("Au") q.execute
"News Groups" a écrit dans le message de news: 41deb591$0$29888$
Bonjour, Je suis sous Access 2002 - Projet ADP / SQL Server 2000.
J'essaye d'utiliser la Méthode Execute de ADO : °°° MaCommande.Execute intAffected, Array("Toto"), adExecuteNoRecords Afin d'executer une Procédure stockée de type "UPDATE.." ayant un parametre d'entrée @Prenom Or l'utilisation de "Array(..)" pour fournir les valeurs de paramétre entraine une erreur d'éxécution !!!
Quelqu'un peut-il m'aider, ? Est ce que le passage des paramétres par ce biais ne vaut que pour les instruction SQL paramétrées type "UPDATE ..WHERE (MonChamp = ?)" ?
Merci de votre et désolé si la demande est un peu brouillon..