buongiorno
ho una SP in sqlServer, la quale provandola con dei valori fissi mi da un risultato: X
provando la stessa SP da VBA con gli stessi risultati mi da un risultato diverso

ecco la SP
codice:
ALTER PROCEDURE dbo.CheckIsXXXXXX 
            @cap as nvarchar(50),
            @CTD as varchar(4),
            @objectType as int

ecco il codice VB6

codice:
  Dim RS As New ADODB.Recordset
    Dim CON As New ADODB.Connection
    CON.Open "Provider=SQLNCLI;Server=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX;"
    
    Dim cmdTemp As New ADODB.Command
    Set cmdTemp.ActiveConnection = CON
    
    cmdTemp.Parameters.Append cmdTemp.CreateParameter("@objectType", adInteger, adParamInput, , 0)
    cmdTemp.Parameters.Append cmdTemp.CreateParameter("@CTD", adVarChar, adParamInput, 4, codice)
    cmdTemp.Parameters.Append cmdTemp.CreateParameter("@cap", adVarChar, adParamInput, 50, cap)
    
    cmdTemp.CommandType = adCmdStoredProc
    cmdTemp.CommandText = "CheckIsXXXXXX"
    Set RS = cmdTemp.Execute '

If RS("valido") <> "Si" Then
 CON.Close
    fatal ("mi aspettavo si")
End If
 CON.Close
come potete notare ,
ho rispettato tutti i parametri
solo il tipo di parametro di @CAP in vb6 non c'è Nvarchar e lo ho impostato a adVarchar
ma non penso che sia questo il problema in quanto i dati inviati
sono: "2000" per il CTD ,"04019" per il cap, 0 per objectType sto impazzendo