Hello,
I have the following code to update a SQL Server 2005 table via a Stored Procedure called spUpdate. One of the parameters is bring back a PRECISION error and I assume it is the field set to a DECIMAL type on the server (Payment). The table is set to DECIMAL with a scale of 2 and the data always has 2 or less decimal places. The code errors on execute. I don't really understand the PRECISION error so any help no matter how small would be very welcome:
Private Sub cmdselect_Click()
Dim Cmd As New ADODB.Command
Dim Param As New ADODB.Parameter
Cmd.CommandText = "spUpdate"
Cmd.CommandType = adCmdStoredProc
Cmd.ActiveConnection = MyConn
Cmd.Parameters.Refresh
Set Param = Cmd.CreateParameter("Postcode", adChar, adParamInput, 8, Postcode)
Cmd.Parameters.Append Param
Set Param = Cmd.CreateParameter("ID", adChar, adParamInput, 255, ID)
Cmd.Parameters.Append Param
Set Param = Cmd.CreateParameter("StartDate", adDate, adParamInput, StartDate)
Cmd.Parameters.Append Param
Set Param = Cmd.CreateParameter("Code", adChar, adParamInput, 3, Code)
Cmd.Parameters.Append Param
Set Param = Cmd.CreateParameter("Payment", adDecimal, adParamInput, Payment)
Cmd.Parameters.Append Param
Set Param = Cmd.CreateParameter("AID", adInteger, adParamInput, AID)
Cmd.Parameters.Append Param
' Execute once and display...
Cmd.Execute
MyConn.Close
Set Cmd = Nothing
Set Param = Nothing
End Sub
I have the following code to update a SQL Server 2005 table via a Stored Procedure called spUpdate. One of the parameters is bring back a PRECISION error and I assume it is the field set to a DECIMAL type on the server (Payment). The table is set to DECIMAL with a scale of 2 and the data always has 2 or less decimal places. The code errors on execute. I don't really understand the PRECISION error so any help no matter how small would be very welcome:
Private Sub cmdselect_Click()
Dim Cmd As New ADODB.Command
Dim Param As New ADODB.Parameter
Cmd.CommandText = "spUpdate"
Cmd.CommandType = adCmdStoredProc
Cmd.ActiveConnection = MyConn
Cmd.Parameters.Refresh
Set Param = Cmd.CreateParameter("Postcode", adChar, adParamInput, 8, Postcode)
Cmd.Parameters.Append Param
Set Param = Cmd.CreateParameter("ID", adChar, adParamInput, 255, ID)
Cmd.Parameters.Append Param
Set Param = Cmd.CreateParameter("StartDate", adDate, adParamInput, StartDate)
Cmd.Parameters.Append Param
Set Param = Cmd.CreateParameter("Code", adChar, adParamInput, 3, Code)
Cmd.Parameters.Append Param
Set Param = Cmd.CreateParameter("Payment", adDecimal, adParamInput, Payment)
Cmd.Parameters.Append Param
Set Param = Cmd.CreateParameter("AID", adInteger, adParamInput, AID)
Cmd.Parameters.Append Param
' Execute once and display...
Cmd.Execute
MyConn.Close
Set Cmd = Nothing
Set Param = Nothing
End Sub