Si puo fare.
codice:
Dim DB As DAO.Database
'------------------------------------------------------------------
Public (Private) Function OpenDynaset(ByVal SQL as String, Optional Byval ReadOnly As Boolean) As DAO.Recordset
If ReadOnly Then
SET OpenDynaset = DB.OpenRecordSet(SQL, DB.OpenRecordset(SQL, dbOpenDynaset, dbReadOnly)
Else
SET OpenDynaset = DB.OpenRecordSet(SQL, DB.OpenRecordset(SQL, dbOpenDynaset, dbConsistent)
End if
End Function
'------------------------------------------------------------------
Public (Private) Function OpenSnapshot(ByVal SQL As String, Optional ByVal ForwardOnly As Boolean) As DAO.Recordset
If ForwardOnly Then
Set OpenSnapshot = DB.OpenRecordset(SQL, dbOpenSnapshot, dbForwardOnly)
Else
Set OpenSnapshot = DB.OpenRecordset(SQL, dbOpenSnapshot)
End If
End Function
Annotazioni
Il Database deve essere Aperto e non si chiude.
Esempi
codice:
Private Sub Form_Load()
Dim RS As DAO.RecordSet
Set DB = Workspaces(0).OpenDatabase(PathDb)
Set RS = OpenDynaset("SELECT * FROM tabella", False)
End Sub