• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 619
  • Last Modified:

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?
0
lee_jd
Asked:
lee_jd
1 Solution
 
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
 
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

Featured Post

Important Lessons on Recovering from Petya

In their most recent webinar, Skyport Systems explores ways to isolate and protect critical databases to keep the core of your company safe from harm.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now