ACCESS updte 的问题:操作必须使用可更新的查询
下面这条语句在sql server里运行正常
但是在access 2003里就不行,请高手指点,万分感激
update testtbl
set col01=(select count(*)+1 from testtbl)
where id='001'
但是如果我改成:
update testtbl
set col01=1
where id='001'
就可以执行。
谢谢大家了
问题点数:50、回复次数:5Top
1 楼wwwwb()回复于 2006-07-03 15:48:33 得分 25
try:
update testtbl
set col01=dcount('*','testtbl','id="001"')+1
Top
2 楼changechange(http://access911.net 是我的个人网站,欢迎光临)回复于 2006-07-03 17:30:19 得分 25
关于此主题请参考以下文章(不要只看标题,请认真仔细地察看上述文章以及相关的评论):
两个表用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
3 楼wangtiecheng(不知不为过,不学就是错!)回复于 2006-07-03 18:28:17 得分 0
--Access使用的是Jet-SQL,而SQL Server使用的是T-SQL,两者相差很大。
--Access的Update赋值语句中不支持子查询,变通处理,用Dcount()函数。
update testtbl
set col01=dcount('*','testtbl','id="001"')+1
where id='001'
Top
4 楼wwwwb()回复于 2006-07-04 07:47:03 得分 0
or
try:
update testtbl
set col01=dcount('*','testtbl','id=id')+1
where id='001'
Top
5 楼changechange(http://access911.net 是我的个人网站,欢迎光临)回复于 2006-07-08 00:37:03 得分 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




