Je dois appeler une procédure stockée créée dans Access 2007 à partir du programme dans VB 6.0.Appel d'une procédure stockée dans Access 2007 à partir de VB 6.0
C'est le travail procédure stockée sur le db d'accès lorsque vous cliquez droit -> Voir Design:
PARAMETERS prodCode Text (255), orderNum Text (255);
SELECT Sum(FullPrice) AS Expr1
FROM Transacs
WHERE (((Transacs.prodcode)=[prodCode]) AND ((Transacs.ordernum)=[orderNum]) AND ((Transacs.Type)='R'));
Ceci est le code qui doit être réparé en VB 6.0:
Set TransRs = New ADODB.Recordset
Dim transcommQuery As String
transcommQuery = "execute SP_SumOfTransComm " & prodcode & " " & orderNum
TransRs.Open transcommQuery, db, adOpenDynamic, adLockBatchOptimistic
Ligne 3 : transcommQuery = "exécuter SP_SumOfTransComm" & selProdcode & "" & selPolNo est celui dont j'ai besoin. Comment appeler correctement la procédure stockée à partir de là?
Cela semble * presque * droite, mais l'appel à execute sur un objet de commande retourne toujours une lecture seule, le curseur avant uniquement. Je crois que vous devez créer un nouvel objet Recordset et appelez Open sur le passage de l'objet Command en tant que paramètre Source (sans paramètre de connexion puisque vous avez déjà défini ActiveConnection). Cela vous permet de demander des types de verrouillage et de curseur spécifiques. – Bob77
Thx. Je vais essayer, car utiliser Execute ne fonctionnait pas. Je devine que ce serait 'TransRS.Open Cmd1, db' – elcool
Pour une raison quelconque, en faisant Append, il ajoute plus {?} À la procédure stockée, et au lieu de 2 paramètres, il en a 4 maintenant. Donc, je le résous avec une commande de texte directe comme on le voit sur ma réponse. – elcool