A basic ADO Open and Requery routine
New to ADO? Worried about ADO? This little subroutine gets round the problems of opening ADO recordsets. Please look elsewhere on this site for info on opening the database itself. If you open a Recordset in your code, ADO expects you to close it before re-opening. But if it's not open you can't close it... (Oh My!). Here's my solution. It requires a public ADODB.Connection - I call it gCn. The routine will open a new recordset (compatible with Janus GridEx), or refresh it if it's open or if the SQL has changed. Optional ReadOnly argument.
Podsumowanie AI: This codebase represents a historical implementation of the logic described in the metadata. Our preservation engine analyzes the structure to provide context for modern developers.
Public Sub ADO_OpenRs(rs As Recordset, szSource$, Optional bReadOnly = False) ' Open or Requery a Recordset. On Error GoTo lab_Err If rs.State = adStateClosed Or rs.Source <> szSource Then If rs.State <> adStateClosed Then rs.Close rs.Open szSource, gCn, adOpenStatic, IIf(bReadOnly, adLockReadOnly, adLockOptimistic) Else rs.Requery End If lab_Exit: Exit Sub lab_Err: MsgBox Err.Description GoTo lab_Exit End Sub