当在access中使用update语句时
如果遇到"操作必须使用一个可更新的查询"提示信息,通常时权限设置问题
但是有一种情况非常特殊,举例如下:

表A(col1, col2)
表B(col1, col2)

如何实现下述SQL的功能?
update A, (select col1, sum(col2) as sum_col2 from B group by col1) B1
set A.col2 = B1.sum_col2
where A.col1 = B1.col1;

每次执行这个SQL都报错:“Operation must use an updateable query”。
---------------------------------------------------------------

http://access911.net/index.asp?u1=a&u2=77FAB61E14DC

---------------------------------------------------------------

Access使用的Jet-SQL中,不能在Update语句中用不可更新的子查询,可以变通处理,用dsum()。

UPDATE A SET col2 = dsum("col2","B","col1=" & A.col1);

关于dsum函数,

DSum 函数

DSum 函数可用于计算一组指定记录(域)中的一组值的总和。可以在 Visual Basic、宏、查询表达式或计算控件 中使用 DSum 函数。

例如,可以在查询的计算字段表达式中通过 DSum 函数来计算某一段时间内特定雇员的总销售量。或者在计算控件中使用 DSum 函数来显示特定产品的流水销售总额。

DSum(expr, domain, [criteria])

DSum 函数包含以下参数:

参数 说明
expr 表达式,用于标识被计算值的总和的数字字段。它可以是标识表或查询中的字段的字符串表达式,或者是对该字段中的数据进行计算的表达式。在 expr 中,可以包含表中的字段、窗体上的控件、常量或者函数的名称。如果 expr 包含函数,那么该函数可以是内置的或用户定义的,但不能是其他域聚合函数或 SQL 聚合函数。
domain 字符串表达式,用于标识组成域的一组记录。它可以是不需要参数的查询的表名或查询名。
criteria 可选的字符串表达式,用于约束对其执行 DSum 函数的数据的范围。例如,criteria 常常等价于 SQL 表达式中除去 WHERE 关键字的 WHERE 子句。如果 criteria 被忽略,DSum 函数将对整个域计算 expr。任何包含在 criteria 中的字段必须也是 domain 中的字段;否则 DSum 函数将返回 Null 值。

说明

如果没有记录满足 criteria 参数或者域中不包含记录,那么 DSum 函数会返回 Null 值。

不论是否在宏、模块、查询表达式或计算控件中使用 DSum 函数,都必须仔细构造 criteria 参数,以确保它将被正确计算。

可以使用 DSum 函数来指定这些情况下的条件:在查询的条件行中,在查询表达式内的计算字段中,或者在更新查询的“更新到”行中。

注释  可以将 DSumSum 函数用于总计查询中的计算字段表达式。如果使用 DSum 函数,将在数据分组之前计算值。如果使用 Sum 函数,则先进行数据分组,然后再计算字段表达式中的值。

需要显示不在窗体或报表的记录源中的字段的一组值的总和时,可以使用 DSum 函数。例如,假定有一个显示特定产品信息的窗体。可以在计算控件中使用 DSum 函数来随时统计产品的流水销售总额。

Access update语句 提示 操作必须使用一个可更新的查询相关推荐

  1. Access update语句 提示 操作必须使用一个可更新的查询Access update语句 提示 操作必须使用一个可更新的查询

    <script>function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.cr ...

  2. Access提示“操作必须使用一个可更新的查询”的解决办法

    问题: 软件工程师开发了一个asp.net+access网站,本地调试增.删.改和查都没有异常.部署到服务器windows2008 R2的IIS上运行后,查询没有异常. 可是在修改操作提交时,产生异常 ...

  3. 连接excel执行Insert Into语句出现“操作必须使用一个可更新的查询”的解决

    C#使用oledb连接excel执行Insert Into语句出现"操作必须使用一个可更新的查询"的解决办法 我发生错误时的环境:Windows 7,Framework 4.0,M ...

  4. C#使用oledb连接excel运行Insert Into语句出现“操作必须使用一个可更新的查询”的解决的方法...

    我错误发生时的环境:Windows 7,Framework 4.0,Microsoft Office 2007,VS2010,c# WinForm. 部分代码: string strConn = &q ...

  5. 管家婆分销ERP V3、A8错误提示“操作必须使用一个可更新的查询”

    给虚拟目录添加Everyone/IUSR/IWAM/NETWORK/NETWORK SERVICE等用户完全控制权限, 就显示在数据库中找不到此表: [dbo].[SCM_RepairFetch_In ...

  6. ACCESS数据库操作必须使用一个可更新的查询 解决办法

    ACCESS数据库操作必须使用一个可更新的查询 解决办法 ACCESS数据库无法更新问题: 一般在Winxp与windows 2003 server下,文件目录的只读属性会影响网站程序写数据库操作,即 ...

  7. ”操作必须使用一个可更新的查询“的解决

    今天在把做好的网站放到局域网的服务器时候碰到了一个问题,在上传文件之后提示"操作必须使用一个可更新的查询",然后点击去查看显示上传文件信息的gridview时上传上去的文件根本显示 ...

  8. 操作必须使用一个可更新的查询的解决方法

    来自Asp.net精英论坛:bbs.1aspx.com 今天遇到了一个错误: 我把网站添加到IIS后浏览,提示"操作必须使用一个可更新的查询的解决方法" 有些奇怪,刚刚在vs里运行 ...

  9. Access数据库:它已经被别的用户以独占方式打开,操作必须使用一个可更新的查询,不能锁定文件

    转自:http://iasp.bokee.com/  笔名:iasp 由于网络开发过程,或者一些下载的例子工程一般都用Access数据库,因为它方便不需要服务器,以文件方式就可以访问. Access数 ...

  10. Access中操作必须使用一个可更新的查询错误的解决办法

    错误信息: Microsoft OLE DB Provider for ODBC Drivers error ''80004005'' [Microsoft][ODBC Microsoft Acces ...

最新文章

  1. 《连线》| 李开复:新冠大流行将加速医疗AI革新
  2. 3v stm32 供电 晶振起振_避免stm32rtc晶振不能起振的设计参考
  3. android密码解锁/指纹解锁返回的authToken深度解剖
  4. 剑指offer(34-40题)详解
  5. 学习MVVM设计模式后第一次用于生产
  6. 正则化检测TR069的参数路径是否合法
  7. java使double保留两位小数
  8. j2ee不同数据库的驱动和URL写法
  9. Bailian4128 单词序列【BFS】
  10. [译文]Domain Driven Design Reference(六)—— 提炼战略设计
  11. imageranger for Mac如何自定义过滤器选项
  12. C# 类和结构的成员
  13. JVM,DVM,JIT,AOT,ART理解
  14. 第十一届单片机蓝桥杯省赛(第一组)
  15. csp php,了解CSP
  16. 基于can总线的A2L文件解析(2)
  17. Minimum supported Gradle version is 6.5.1. Current version is 6.1.1.
  18. Python札记 -- 切片赋值
  19. 看看下边的问题你能够回答出来多少?
  20. 淘宝开放平台签名验证失败

热门文章

  1. python采集修改原创_火车头采集标题如何伪原创(附教程)
  2. java 风能玫瑰图_使用java awt画风向玫瑰图及风能玫瑰图程序
  3. DX基础 | DXGI(DirectX Graphics Infrastructure)
  4. 【飞行器】基于matlab四旋翼飞行器飞行控制系统【含Matlab源码 1266期】
  5. 从面试官的角度,聊聊java面试流程
  6. 欧拉角与四元数互相转换
  7. 联想g510拆键盘的简单方法_联想G510重点笔记本拆机教程.doc
  8. python linux 上 RS485通信 Modbus协议
  9. 单片机之串口通信 485多机通信 红外测试
  10. java校园门禁刷脸系统,学校人脸识别门禁系统打造智慧校园