如何使用ADO及DAO设置Me.RecordSet
展开全部
在 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 属性。
威孚半导体技术
2024-08-19 广告
2024-08-19 广告
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层...
点击进入详情页
本回答由威孚半导体技术提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询