查询是Access的对象,利用查询可以实现对数据库中的数据进行浏览、筛选、排序、检索、统计和加工等操作,是对数据库中的数据进行加工处理。
在运行查询时,我们会发现查询可以增加,删除和修改。但是也有一些查询是只读的,不能修改。
这里总结几点关于查询是否能编辑的情况:
1.存在 GROUP BY 子句 ,总计查询总是只读的
2.存在 TRANSFORM 子句 ,交叉表查询总是只读的
3.在 Select 子句中使用 First(),Sum(),Max(),Count() 等,域聚合函数的查询是只读的
4.查询中包含 DISTINCT 谓词 , 设置唯一值属性也会使查询只读
5.使用 UNION , 联合查询总是只读的
6.在 Select 子句中使用子查询
7.使用 FROM 子句联接来自不同方向的多个表(注:INNER JOIN,LEFT JOIN,FULL JOIN),也会使查询只读
8.联接字段索引不正确,例如:该字段没有主键或索引不是唯一值 这些都会使查询只读
9.记录集类型为快照的,应当设为动态集
10.查询是基于另一个只读查询
11.您的访问权限是只读
12.打开的数据库是只读的,或者文件属性是只读的,或数据库是在只读的媒体打开的(如:CD-ROM,没有写权限的网络驱动器)
13.在查询中调用VBA 函数
更多Access技巧源码请关注Office中国论坛://www.office-cn.net