Access 2003完整教程:何时可以从查询更新数据 (MDB)

在某些情况下,可以在查询“数据表”视图中编辑数据以更改基础表中的数据。而在另一些情况下则不行。下面的信息表明了各种查询的结果是否能更新;如果不能,是否有其他的方法可以替代。

数据可更新

下列情况下可以更新查询或查询字段:

数据在一定条件下可更新

如果查询基于含有一对多关系的表,则不能编辑下列查询字段的数据。

查询字段解决方案
位于“一”方的联接字段启动两表之间的级联更新。
新记录,如果位于“多”方的联接字段不出现在数据表中从“多”方将联接字段添加到查询中,以允许添加新记录。
在“一”方更新数据后,来自“多”方的联接字段先保存记录;然后可以对“多”方的联接字段进行更改。
在存在外部联接的一对多关系的“一”方表中的空白字段在位于“多”方的表的字段中输入值,但必要条件是位于“一”方的联接字段中包含该记录的值。
新记录,如果ODBC表的整个唯一键没有输出选取 ODBC 表的所有主键字段,以允许向其中插入数据。

数据可以删除但不能更新

查询或查询字段解决方案
不具有“更新数据”权限的查询(或基础表)若要修改数据,必须指定相应的权限。
不具有“删除数据”权限的查询(或基础表)若要删除数据,必须指定相应的权限。?

数据不能更新

查询或查询字段解决方案
基于具有多对一对多关系的三个或更多表的查询。当窗体的“记录集类型”属性设置为“动态集(不一致的更新)”时,虽然不能直接更新查询中的数据,但可以更新基于该查询的窗体或数据访问页中的数据。
交叉表查询?无
SQL传递查询?无
对字段求和、平均值、计数值或其他类型总和值的查询,或者从包含总和或合计函数的交叉表查询、选择查询或子查询的“更新到”行中引用字段的更新查询通过在更新查询的“更新到”行中使用域聚合函数,可以引用包含总计或聚合函数的交叉表查询、选择查询或子查询中的字段。
联合查询?无
“唯一值”属性设置为“是”的查询?无
包含无唯一索引的ODBC链接表或无主键的 Paradox 表的查询?无
包含多个表或查询,并且这些表或查询在“设计”视图中没有使用联接线相联接的查询若要更新表,必须正确地联接它们。
计算字段?无
字段为只读;数据库是以只读方式打开或位于只读驱动器上?无
记录中的字段已经删除或被其他用户锁定锁定的记录在解锁后即可更新。


上页:Access 2003完整教程:关于 Access 数据库中的关系 (MDB) 下页:Access 2003完整教程:关于创建具有选项卡或分页符的窗体

Access 2003完整教程:何时可以从查询更新数据 (MDB)

Access 2003完整教程:关于创建具有选项卡或分页符的窗体Access 2003完整教程:关于事件和事件过程
Access 2003完整教程:关于使用程序方法验证数据Access 2003完整教程:数据定义查询的示例 (MDB)
Access 2003完整教程:关于对记录进行分组Access 2003完整教程:计算运行总和的报表示例
Access 2003完整教程:页码表达式的示例Access 2003完整教程:宏条件的示例
Access 2003完整教程:每组都另起新行或新列的报表示例Access 2003完整教程:关于使用模板创建窗体或报表
Access 2003完整教程:联合查询示例 (MDB)Access 2003完整教程:打印窗体和报表时缩放文本框的示例
Access 2003完整教程:关于窗体Access 2003完整教程:沙盒模式中禁用的函数
Access 2003完整教程:关于宏和宏组Access 2003完整教程:关于分发安全性增强的应用程序 (MDB)
Access 2003完整教程:关于模块Access 2003完整教程:打开示例数据库或项目
Access 2003完整教程:改进 Visual Basic 代码的性能Access 2003完整教程:控件和字段的验证顺序
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号