Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-模块/函数/VBA

更改 DAO 记录集中一对多关系涉及的表

时 间:2023-01-07 08:01:09
作 者:杨雪   ID:42182  城市:南京
摘 要:更改 DAO 记录集中一对多关系涉及的表
正 文:

动态集类型的 Recordset 对象可以基于包含具有一对多关系的表的多表查询。 例如,假设您要创建一个多表查询来组合“订单”和“订单明细”表中的字段。 一般来说,您无法更改“订单”表中的值,因为该表在关系的“一”方。 但是,根据您的应用需要,您可能希望能够对“订单”表进行更改。

若要自由更改一对多关系的“一”端的值,请使用 OpenRecordset 方法的 dbInconsistent 常量来创建不一致的动态集。 例如:
Set rstTotalSales = dbs.OpenRecordset("Sales Totals" ,,dbInconsistent)
更新不一致的动态集时,很容易会破坏动态集中数据的参照完整性。 必须注意了解在一对多关系中数据的关联方式,并且要注意以保留数据完整性的方式更新双方的值。

dbInconsistent 常量仅适用于动态集类型的 Recordset 对象。 对于表、快照和仅向前类型的 Recordset 对象,将忽略它,但如果 dbInconsistent 常量与这些类型的 Recordset 对象一起使用,则不会返回编译或运行时错误。

即使使用不一致的 Recordset,某些字段也可能不更新。 例如,不能更改“自动编号”字段的值,基于某些链接的表的 Recordset 也不能更新。


Access软件网QQ交流群 (群号:54525238)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助