Article ID: 183085
Article Last Modified on 6/29/2004
DROP TABLE IdentTest
go
CREATE TABLE IdentTest
(
id INT IDENTITY,
Name CHAR(20) NULL
)
go
Private Sub Command1_Click()
Dim MyConnect As rdoConnection
Dim Rs As rdoResultset
Dim qy As rdoQuery
Dim szConnect As String
szConnect = "Driver={SQL Server}" & _
";Server=YOURSERVERNAME;uid=<username>;pwd=<strong password>;dsn='';Database=pubs"
Set MyConnect = rdoEnvironments(0).OpenConnection _
(dsname:="", prompt:=rdDriverNoPrompt, Connect:=szConnect)
Set qy = New rdoQuery
Set qy.ActiveConnection = MyConnect
'PROBLEM SECTION -- Having the (?) parameter in the below line
'results in Error 40002
'---------------------------------------------------------
qy.SQL = "SET NOCOUNT ON INSERT identtest(name)" _
& " VALUES( ? ) SELECT @@IDENTITY SET NOCOUNT OFF"
qy(0).Direction = rdParamInput '<<Error 40002 occurs on this line
qy(0) = "NewName"
'WORKAROUND SECTION
'----------------------------------------------------------
'qy.SQL = "SET NOCOUNT ON INSERT identtest(name)" _
& " VALUES('NewName') SELECT @@IDENTITY SET NOCOUNT OFF"
Set Rs = qy.OpenResultset
Debug.Print "The Identity is " & Rs(0).Value
Set qy = Nothing
Set Rs = Nothing
Set MyConnect = Nothing
End Sub
Additional query words: @@identity kbRDO kbVBp400 kbVBp500 kbVBp600 kbdse kbDSupport kbVBp
Keywords: kbprb KB183085