ACC97: One Linked Table Opened Read-Only Makes All Read-OnlyID: Q172160
|
Moderate: Requires basic macro, coding, and interoperability skills.
When you open a linked table as read-only with the OpenRecordset method in
code, all linked tables in that database are read-only until the recordset
is closed.
You can either open linked tables read-write instead of read-only, or
you can create a global recordset variable and run the following code when
the database opens:
Dim rsGlobal As Recordset
Function InitializeLinkTables()
Dim mydb As Database
Set mydb = CurrentDb
Set rsGlobal = mydb.OpenRecordset("select * from Shippers")
End Function
Microsoft has confirmed this to be a problem in Microsoft Access 97.
This problem no longer occurs in Microsoft Jet Database Engine version
3.51, which is available from the Microsoft Software Library.
For information on how to obtain Microsoft Jet Database Engine 3.51, please
see the following article in the Microsoft Knowledge Base:
Q172733 ACC97: Updated Version of Microsoft Jet 3.5 Available on MSL
When you open a recordset against a linked table, Microsoft Access caches a Table object with the properties of the first linked table you specify. When you open additional linked tables, they are opened with the cached information. If the first linked table is opened as read-only, all additional linked tables opened are opened as read-only.
Function TestReadOnly()
Dim dbTest As Database
Dim rsTest As Recordset
Set dbTest = CurrentDb
Set rsTest = dbTest.OpenRecordset("Select * From Shippers", _
dbOpenDynaset, dbReadOnly)
Stop
rsTest.Close
End Function
Keywords : kbprg MdlDao
Version : WINDOWS:97
Platform : WINDOWS
Issue type : kbbug kbhowto
Last Reviewed: April 26, 1999