Access VBA ADO recordset problem

Hi,

I'm using ADO to load a dynamic recordset to a form.

It works okay except when I set the forms recordset to the recordset returned via ADO it is read-only.   I need the form fields to be editable as I'm using a SQL Server Stored proc to update the table.

Any ideas?

I've attached the code below.

Code behind form :

<code>

Public Sub LoadClient(ClientId As Integer)

If Not Me.Recordset Is Nothing Then
    Me.Recordset.CancelUpdate
End If

Dim sql As String
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim clDA As New ClientDA
   
   
sql = "some sql"
   
   
Set rs = clDA.GetRecordSet(sql)
Set Me.Recordset = rs
Set rs = Nothing
Set cn = Nothing
Set clDA = Nothing

End Sub

</code>

The clDA class is listed below :

<code>

Public Function GetRecordSet(sql As String) As ADODB.Recordset

   Dim rs As ADODB.Recordset
   
   'Create an instance of the ADO Recordset class, and
   'set its properties
   Set rs = New ADODB.Recordset
   OpenCnn
   With rs
      Set .ActiveConnection = cnn
      .Source = sql
      .LockType = adLockOptimistic
      .CursorType = adOpenKeyset
      .Open
   End With
   
   Set GetRecordSet = rs

End Function

</code>

The connection string is :

<code>

Public Const CNN_STR = "DRIVER=SQL
Server;SERVER=server;Trusted_Connection=Yes;DATABASE=database;"

Public Const CNN_PRV = "Microsoft.Access.OLEDB.10.0"
</code>

Any ideas?
LVL 2
lee_jdAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

rajvjaCommented:
Try using rs.clone

Me.Recordset = rs.clone()
0
peter57rCommented:
Which version of Access?  From (maybe faulty) memory I think you need at least A2003 for the data to be updateable.
0
Rey Obrero (Capricorn1)Commented:
see the method use from this link

How to use ADO disconnected and persisted recordsets
http://support.microsoft.com/kb/195082
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
lee_jdAuthor Commented:
I'm run Access 2010 and querying SQL Server 2008 R2.

I tried rs.clone() but it had no effect.
0
Rey Obrero (Capricorn1)Commented:
did you look at the method from the link i posted ?
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft Access

From novice to tech pro — start learning today.