Good afternoon!
I am unable to edit an ADO recordset for a Form using Stored procedures. It works when the form has the property "Recordsource" set directly to a single table but not when it is dynamically changed using the code below.
I created a small table of 3 records with 3 fields in SQL Server 2000 to test. It has a primary field too. The form is named "frmTest" and displays in "datasheet" view.
The records are not editable when the rs is assigned to the recordset property.
THANK YOU in advance for your help!
' **** This section is to check for open connections ***
If cnn.State = adStateOpen Then
CurrentProject.CloseConnection
Else
cnn.ConnectionString = CurrentProject.BaseConnectionString
cnn.Open
cnn.CursorLocation = adUseClient
End If
' *** Now, to create the instance of the cmd object ***
Set Cmd = New ADODB.Command
Set Cmd.ActiveConnection = cnn
With Cmd
.CommandText = "MyStoredProcedure"
.CommandType = adCmdStoredProc
End With
' *** I believe the parameters below are correct ***
' *** I also tried adLockOptimistic ***
Set rs = New ADODB.Recordset
rs.Open Cmd, , adOpenKeyset, adLockBatchOptimistic
Set Forms!frmTest.Recordset = rs
Set cmd = Nothing
I am unable to edit an ADO recordset for a Form using Stored procedures. It works when the form has the property "Recordsource" set directly to a single table but not when it is dynamically changed using the code below.
I created a small table of 3 records with 3 fields in SQL Server 2000 to test. It has a primary field too. The form is named "frmTest" and displays in "datasheet" view.
The records are not editable when the rs is assigned to the recordset property.
THANK YOU in advance for your help!
' **** This section is to check for open connections ***
If cnn.State = adStateOpen Then
CurrentProject.CloseConnection
Else
cnn.ConnectionString = CurrentProject.BaseConnectionString
cnn.Open
cnn.CursorLocation = adUseClient
End If
' *** Now, to create the instance of the cmd object ***
Set Cmd = New ADODB.Command
Set Cmd.ActiveConnection = cnn
With Cmd
.CommandText = "MyStoredProcedure"
.CommandType = adCmdStoredProc
End With
' *** I believe the parameters below are correct ***
' *** I also tried adLockOptimistic ***
Set rs = New ADODB.Recordset
rs.Open Cmd, , adOpenKeyset, adLockBatchOptimistic
Set Forms!frmTest.Recordset = rs
Set cmd = Nothing