J'ai réussi avec ACCESS 97 à lancer une proc stockée simple à mon serveur,
mais maintenant je voudrais récupérer le parametre OUTPUT de ma proc dans
mon programme VBA, je ne pige pas la syntaxe .
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
Michel Walsh
Salut,
Tu dois utiliser la collection des Parameters d'un objet Command, et non pas essayer de récupérer quelque chose directement depuis la méthode execute de l'objet Command.
Sussman mentionne que les paramètres ne sont disponibles qu'APRÈS avoir fermé le recordset retourné par l'execute ( ADO 2.6, chex Wrox, page 116), à moins d'utiliser des curseurs clients ou d'utiliser la propriété Name (même référence, page 117), mais cette dernière n'est pas documentée à cet effet (plus un hack qu'une suggestion stable).
Une alternative est de faire plusieurs SELECT, car chaque SELECT apparaît comme un recordset dans le résultat, et on peut "traverver" les recordsets avec la méthode NextRecordset:
CREATE PROCEDURE toto As BEGIN SELECT * FROM authors SELECT * FROM titles END
Set monRst = maCommande.Execute ... ' rst pointe sur le premier recordset, authors monRst.NextRecordset ... ' rst pointe sur le second recordset, titles
et d'oublier les OUTPUT.
Espérant être utile, Vanderghast, Access MVP
"jeorme" wrote in message news:
Bonjour à tous
J'ai réussi avec ACCESS 97 à lancer une proc stockée simple à mon serveur, mais maintenant je voudrais récupérer le parametre OUTPUT de ma proc dans mon programme VBA, je ne pige pas la syntaxe .
Tout ceci est en ADO
Quelqu'un aurait il un exemple ?
Salut,
Tu dois utiliser la collection des Parameters d'un objet Command, et non
pas essayer de récupérer quelque chose directement depuis la méthode execute
de l'objet Command.
Sussman mentionne que les paramètres ne sont disponibles qu'APRÈS avoir
fermé le recordset retourné par l'execute ( ADO 2.6, chex Wrox, page 116),
à moins d'utiliser des curseurs clients ou d'utiliser la propriété Name
(même référence, page 117), mais cette dernière n'est pas documentée à cet
effet (plus un hack qu'une suggestion stable).
Une alternative est de faire plusieurs SELECT, car chaque SELECT
apparaît comme un recordset dans le résultat, et on peut "traverver" les
recordsets avec la méthode NextRecordset:
CREATE PROCEDURE toto As
BEGIN
SELECT * FROM authors
SELECT * FROM titles
END
Set monRst = maCommande.Execute
... ' rst pointe sur le premier recordset, authors
monRst.NextRecordset
... ' rst pointe sur le second recordset, titles
et d'oublier les OUTPUT.
Espérant être utile,
Vanderghast, Access MVP
"jeorme" <jerome.boutin@filtrauto.com> wrote in message
news:u2dkFsVxDHA.3196@TK2MSFTNGP11.phx.gbl...
Bonjour à tous
J'ai réussi avec ACCESS 97 à lancer une proc stockée simple à mon serveur,
mais maintenant je voudrais récupérer le parametre OUTPUT de ma proc dans
mon programme VBA, je ne pige pas la syntaxe .
Tu dois utiliser la collection des Parameters d'un objet Command, et non pas essayer de récupérer quelque chose directement depuis la méthode execute de l'objet Command.
Sussman mentionne que les paramètres ne sont disponibles qu'APRÈS avoir fermé le recordset retourné par l'execute ( ADO 2.6, chex Wrox, page 116), à moins d'utiliser des curseurs clients ou d'utiliser la propriété Name (même référence, page 117), mais cette dernière n'est pas documentée à cet effet (plus un hack qu'une suggestion stable).
Une alternative est de faire plusieurs SELECT, car chaque SELECT apparaît comme un recordset dans le résultat, et on peut "traverver" les recordsets avec la méthode NextRecordset:
CREATE PROCEDURE toto As BEGIN SELECT * FROM authors SELECT * FROM titles END
Set monRst = maCommande.Execute ... ' rst pointe sur le premier recordset, authors monRst.NextRecordset ... ' rst pointe sur le second recordset, titles
et d'oublier les OUTPUT.
Espérant être utile, Vanderghast, Access MVP
"jeorme" wrote in message news:
Bonjour à tous
J'ai réussi avec ACCESS 97 à lancer une proc stockée simple à mon serveur, mais maintenant je voudrais récupérer le parametre OUTPUT de ma proc dans mon programme VBA, je ne pige pas la syntaxe .