Bonjour,
Je cherche à executer une procédure stockée via ADO, cette procédure à un paramètre de sortie, mais pourtant ça ne fonctionne pas, j'ai un message d'erreur :'Précision non valide' et je ne comprends pas pourquoi, j'ai essayé de modifier les types, rajouter et enlever des options mais rien n'y fait, j'espère que quelqu'un pourra m'aider.
Code de la procédure:
La procédure a été testée et fonctionne bien
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Create procedure dbo.proc1 (@SommeGen real output) AS Declare @SQLExe varchar(2000) SET SQLExe='Select Sum(a.mt_Debit+a.mt_Credit) FROM '+user+'.TableUtilisateur_'+user+' as a' EXEC(@SQLExe) GO
Maintenant le code ADO
AU niveau du .execute j'ai le message 'Précision non valide', je sais plus quoi faire, j'espère que ce ne sera pas votre cas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 Dim rc As Recordset Dim cnn As ADODB.Connection Dim Conn As String Dim cmdExeproc As ADODB.Command Dim SommeGEN As Variant Dim Prm As ADODB.Parameter 'Definition de la connexion ADO Set cnn = New ADODB.Connection Set cmdExeproc = New ADODB.Command 'Chaine de connexion ADO Conn = "Provider=sqloledb; Data Source=Serveur; Initial Catalog=Base; User ID=User " 'Ouverture de la connexion cnn.Open Conn Set cmdExeproc.ActiveConnection = cnn cmdExeproc.CommandType = adCmdStoredProc cmdExeproc.CommandText = "proc1" Set Prm = cmdExeproc.CreateParameter("@SommeGen", adSingle, adParamOutput) 'définition du paramètre cmdExeproc.Parameters.Append Prm cmdExeproc.Execute , , adExecuteNoRecords <<<===C'EST LA QUE CA PLANTE SommeGEN = cmdExeproc.Parameters("@SommeGen")
Merci
Partager