在 Microsoft Access數據庫 (.mdb) 中要求使用記錄集時, 將返回 DAO 記錄集,在 Microsoft access 項目 (.adp) 中要求使用記錄集時,將返回 ADO 記錄集。 對於 Recordset 屬性已經設置的使用 Visual Basic 的窗體,它進行的讀/寫行為取決於記錄集 (ADO 或 DAO) 類型和包含在帶有屬性標識的記錄集內的數據 (Jet 或 SQL) 類型。 在MDB中,默認情況下,Me.Recordset 是 DAO.Recordset 類型 如 dim rs as Dao.Recordset set rs=Currentdb.openrecordset(tblUserOfficeCn) set me.Recordset=rs 如果你希望使用ADODB.Recordset ,可使用下面方法。 在 Form_Open 裡面加入一下代碼 DGlobal rstSuppliers As ADODB.Recordset Sub MakeRW() DoCmd.OpenForm Suppliers Set rstSuppliers = New ADODB.Recordset rstSuppliers.CursorLocation = adUseClient rstSuppliers.Open Select * From Suppliers, CurrentProject.Connection, adOpenKeyset, adLockOptimistic Set Forms(Suppliers).Recordset = rstSuppliers Forms(Suppliers).UniqueTable = Suppliers End Sub 注意 ADO Recordset.CursorLocation 屬性必須設置為 adUseClient。 在屬性表上 UniqueTable(唯一表)屬性可在客戶/服務器模式中使用,但不能用於 access 數據庫 (.mdb)。此屬性只能在 Visual Basic 代碼中設置。 您可使用 Recordset 屬性作如下操作:
1)將多個窗體連接為公用數據集。這種情況允許多窗體的同步處理。 例如: Set Me.Recordset = Forms!Form1.Recordset
2)使用窗體不直接支持的 Recordset 對象上的方法。 例如:當您想要通過 ADO 的 Find 方法或 DAO 的 Find 方法來使用自定義對話框查找記錄時,您可以使用 Recordset 屬性。
3)迴繞一系列影響多窗體的編輯的事務處理(可以重作)。 當打開一個新的 Recordset 對象時,它的第一個記錄就是當前記錄。 另注意:如果您更改窗體的 RecordSource 屬性,您必須使用 Set 語句。更改窗體的 Recordset 屬性可能也將更改 RecordSource、RecordsetType 和 RecordLocks 屬性。
在 Microsoft Access數據庫 (.mdb) 中要求使用記錄集時, 將返回 DAO 記錄集,在 Microsoft access 項目 (.adp) 中要求使用記錄集時,將返回 ADO 記錄集。 對於 Recordset 屬性已經設置的使用 Visual Basic 的窗體,它進行的讀/寫行為取決於記錄集 (ADO 或 DAO) 類型和包含在帶有屬性標識的記錄集內的數據 (Jet 或 SQL) 類型。 在MDB中,默認情況下,Me.Recordset 是 DAO.Recordset 類型 如 dim rs as Dao.Recordset set rs=Currentdb.openrecordset(tblUserOfficeCn) set me.Recordset=rs 如果你希望使用ADODB.Recordset ,可使用下面方法。 在 Form_Open 裡面加入一下代碼 DGlobal rstSuppliers As ADODB.Recordset Sub MakeRW() DoCmd.OpenForm Suppliers Set rstSuppliers = New ADODB.Recordset rstSuppliers.CursorLocation = adUseClient rstSuppliers.Open Select * From Suppliers, CurrentProject.Connection, adOpenKeyset, adLockOptimistic Set Forms(Suppliers).Recordset = rstSuppliers Forms(Suppliers).UniqueTable = Suppliers End Sub 注意 ADO Recordset.CursorLocation 屬性必須設置為 adUseClient。 在屬性表上 UniqueTable(唯一表)屬性可在客戶/服務器模式中使用,但不能用於 access 數據庫 (.mdb)。此屬性只能在 Visual Basic 代碼中設置。 您可使用 Recordset 屬性作如下操作:
1)將多個窗體連接為公用數據集。這種情況允許多窗體的同步處理。 例如: Set Me.Recordset = Forms!Form1.Recordset
2)使用窗體不直接支持的 Recordset 對象上的方法。 例如:當您想要通過 ADO 的 Find 方法或 DAO 的 Find 方法來使用自定義對話框查找記錄時,您可以使用 Recordset 屬性。
3)迴繞一系列影響多窗體的編輯的事務處理(可以重作)。 當打開一個新的 Recordset 對象時,它的第一個記錄就是當前記錄。 另注意:如果您更改窗體的 RecordSource 屬性,您必須使用 Set 語句。更改窗體的 Recordset 屬性可能也將更改 RecordSource、RecordsetType 和 RecordLocks 屬性。