access的更新语句(奇怪。。。。。)
有一查询tt:
不良部门 数量 批次
CAP检查 1
IMD检查 1 1
IPQC 21 26
P+R检查 33 95
硅胶检查 20 92
加工 9 18
写的update语句如下:
update tt as a, tt as b set a.批次=b.批次 where a.不良部门='IPQC' and b.不良部门='硅胶检查'
运行后老是出现:操作必须使用一个可更新的查询
很多朋友在他们电脑上试了此update语句,没有问题,在网上找了相关资料http://nyfc.cn/Html/Article/help/xtgs/186.html
重新加了文件访问权限,也没用
到底什么问题啊/请各位帮帮看看。
谢谢
问题点数:20、回复次数:16Top
1 楼wwwwb()回复于 2006-03-20 15:45:04 得分 20
你的环境、有什么问题?Top
2 楼wwwwb()回复于 2006-03-20 15:50:14 得分 0
详细一点,运行环境,单机、网络?Top
3 楼workhappy(如果有一天)回复于 2006-03-20 16:24:29 得分 0
ACCESS2003, 单机Top
4 楼wwwwb()回复于 2006-03-21 07:38:08 得分 0
MDB是否设为SQL92标准?Top
5 楼changechange(http://access911.net 是我的个人网站,欢迎光临)回复于 2006-03-21 09:00:24 得分 0
关于此主题请参考以下文章(不要只看标题,请认真仔细地察看上述文章以及相关的评论):
两个表用Where子句关联,然后更新为何出错?(操作必须使用一个可更新的查询)《...
http://access911.net/index.asp?u1=a&u2=77FAB61E14DC
----------------------- 911 社区回帖个人签名 start -----------------------
http://access911.net/csdn 无须注册提供附件上传功能,如果你提问的时候有附件请到上述地址上传并将链接复制粘贴。
http://access911.net 用 7 年时间整理了大量有关 Access 的原创资料,请有空的时候多用文章搜索功能
如果您有兴趣加入ACCESS编程的专项研究可以来QQ群“ACCESS上海研究班”看看,加入的方法请看这里《个性化的access911.net(七)QQ 群加入规则(专门讨论 ACCESS 的 )》
http://access911.net/?kbid;72FAB01E16DCECF3
----------------------- 911 社区回帖个人签名 end -----------------------
向上看呦!Top
6 楼workhappy(如果有一天)回复于 2006-03-21 09:10:33 得分 0
如何看MDB是啥标准/Top
7 楼wwwwb()回复于 2006-03-21 09:14:56 得分 0
在工具->常规中设置Top
8 楼workhappy(如果有一天)回复于 2006-03-21 10:04:47 得分 0
没看见呀,有没有QQ号啊?Top
9 楼wwwwb()回复于 2006-03-21 10:10:58 得分 0
在工具->选项->常规(OR 表与查询,记不太清楚)中设置
Top
10 楼workhappy(如果有一天)回复于 2006-03-21 10:21:43 得分 0
在工具---选项---- 表与查询:
SQL SERVER 兼容数据库(ANSI 92)下有两选项:当前数据库(T) 及 作为新数据库的默认连接
把当前数据库(T)勾起,还是没用
Top
11 楼workhappy(如果有一天)回复于 2006-03-21 10:51:43 得分 0
to WWWWb():
我刚试着创建一个表,用上面的update语句没有问题.上面所提到的TT是指邮两个表之后的查询.难道这样就不可以吗?Top
12 楼wwwwb()回复于 2006-03-21 11:01:30 得分 0
面所提到的TT是指邮两个表之后的查询
什么意思?看不懂
我刚试着创建一个表,用上面的update语句没有问题
说明SQL语句没有问题。Top
13 楼workhappy(如果有一天)回复于 2006-03-21 11:08:34 得分 0
TT是同表做选择查询后生成的,我想更新选择查询TT里的数据,所以就用了上面的UPDATETop
14 楼wwwwb()回复于 2006-03-21 11:18:07 得分 0
TT是同表做选择查询后生成的,我想更新选择查询TT里的数据,所以就用了上面的UPDATE
代码贴出来看看,TT是表还是查询?Top
15 楼workhappy(如果有一天)回复于 2006-03-21 11:26:37 得分 0
TT是查询
代码如下:
SELECT 一段时间品保抽检记录.不良部门 AS 不良部门, Count(一段时间品保抽检记录.批次号) AS 批次号之Count, Sum(一段时间品保抽检记录.批数量) AS 批数量之Sum
FROM 一段时间品保抽检记录
GROUP BY 一段时间品保抽检记录.不良部门;
上面的SQL语句生成查询TT,然我想更新查询TT里的数据,就用了下面的UPDATE语句:
update tt as a, tt as b set a.批次=b.批次 where a.不良部门='IPQC' and b.不良部门='硅胶检查'
如果上面的UPDATE语句是对表更新,是没有问题的,但现在想对选择查询TT更新,就出现了上面的提示:操作必需使用一个可更新的查询.这是为何?
Top
16 楼wwwwb()回复于 2006-03-21 11:32:58 得分 0
你早就应该将原因说明,即TT为查询而非表,还发了2个帖子,
TT生成的查询是不可更新的,除非生成表,在ACCESS中,有一些查询
是不能更新的,其中就包括汇总、交叉等查询,具体参考access帮助。Top




