Ho impostato una stored procedure in SQL Server che funziona correttamente. Ora posso chiamare da VBA, ma si vuole restituire un valore di sapere se si sono verificati errori, ecc L'ultimo parametro nel mio SP è impostato come USCITA:Come restituire i valori da una stored procedure di SQL Server e utilizzarli in Access VBA
@DataSetID int = 0,
@Destination char(1)='-',
@errStatusOK bit OUTPUT
mio VBA per chiamare il SP è al di sotto , ma non funzionerà ora, dopo aver aggiunto il nuovo parametro e non sono sicuro dove sto andando male, continuo a ricevere 3708 - Parameter object is improperly defined. Inconsistent or incomplete information was provided.
:
Set cnn = New adodb.Connection
cnn.ConnectionString =
"DRIVER=SQL Server;SERVER=SERVER\SERVER;DATABASE=a_db;Trusted_Connection=Yes"
cnn.Open cnn.ConnectionString
Set cmd = New adodb.Command
cmd.ActiveConnection = cnn
cmd.CommandType = adCmdStoredProc
cmd.CommandText = "stprMoveDataSet"
Set param = cmd.CreateParameter
("@DataSetID", adInteger, adParamInput, , stDataSet)
cmd.Parameters.Append param
Set param = cmd.CreateParameter
("@Destination", adChar, adParamInput, 1, stDestination)
cmd.Parameters.Append param
Set param = cmd.CreateParameter
("@errStatusOK", adBit, adParamReturnValue)
cmd.Parameters.Append param
rs.CursorType = adOpenStatic
rs.CursorLocation = adUseClient
rs.LockType = adLockOptimistic
rs.Open cmd
Come posso ottenere il VBA per lavorare con l'uscita parametro e rendere il valore restituito 'leggibile' dal vba.
MODIFICA - Ho modificato la domanda in modo più specifico sulla restituzione dei valori e non sull'utilizzo dei parametri OUTPUT.
È necessario aver postato questo mentre stavo pubblicando la mia risposta, capisco come ho sbagliato con il CreateParameter ora. Molte grazie, potrebbe usarlo in futuro. – aSystemOverload