在access中,update语句不能有子查询的,如不允许如下语句出现:

UPDATE tblA SET lngID=
      (SELECT lngID FROM tblB WHERE strName='nihao')

这样就需要另想办法解决问题。

解决方案:

A。

可以用update另外的语法解决:

UPDATE Tab1 a,(Select ID,Name From Tab2) b
SET a.Name = b.Name
WHERE a.ID = b.ID;

另外,像统计类的子查询还有一个方法,就是用到access特有的统计函数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 函数来随时统计产品的流水销售总额。

如果需要在报表上某个控件中维持流水总和,假定所基于的字段包含在报表的记录源中,则可以使用该控件的 RunningSum 属性。通过 DSum 函数来维持窗体的流水总和。

注释  使用这些函数时,对 domain 内的记录的未保存更改不包括在内。如果希望使 DSum 函数基于更改的值,必须先通过单击“记录”菜单上的“保存记录”来保存更改,然后将焦点移动到其他记录,或者使用 Update 方法。

示例:dsum('字段a','表A',"条件B")

dsum 解决 access数据库中 update的子查询问题相关推荐

  1. dw读取access中的图片_怎样从Access数据库中读取图片?解决办法

    当前位置:我的异常网» C# » 怎样从Access数据库中读取图片?解决办法 怎样从Access数据库中读取图片?解决办法 www.myexceptions.net  网友分享于:2013-03-0 ...

  2. 对 Access 数据库中日期字段操作时 OleDbParameter 的问题及解决

    比如 SQL 语句: Update [table] Set [CreateDate]=@CreateDate Where ... 其参数使用:New OleDbParameter("@Cre ...

  3. 关于Access数据库执行Update语句后,不报错,但影响行数总是返回0的问题

    最近碰到一个奇怪的问题,使用Access数据库执行Update语句后,不报错,但影响行数总是返回0. 因为是第一次碰到这个问题,纠结了半天.后来在网上搜索得到解决方案: SQL语句传参数的顺序和语句中 ...

  4. C#操作Access数据库中遇到的问题(待续)

    (1)在向Access中插入数据时,显示语法错误,后来将生成的sql语句单独拿到Access数据库中运行,能正确插入数据,从网上寻找资料,有人的sql语句正常,但是该语句在Access中运行错误,错误 ...

  5. access数据库中怎么添加计算机,向access2007数据库中添加一个或多个记录

    时 间:2008-10-22 13:27:07 作 者: 摘 要:向Access2007数据库中添加一个或多个记录 正 文: 本文介绍如何向 Microsoft Office Access 2007 ...

  6. 使用PHP从Access数据库中提取对象,第2部分

    In the first part of this series we learned how to extract packaged objects from a legacy Access dat ...

  7. vb 读取mysql所有表名_VB 读取ACCESS数据库中所有表名和指定表字段名.doc

    VB 读取ACCESS数据库中所有表名和指定表字段名 托束显疫面绰么蚂扛沁米衅居鸳辗熊踌薄舱杂们帖婉珍抓津担庐撕枪呻头胀亨短宛溅锭语氏遣搀赠摩紧茧综逾颂备呛庞枷脓移厚醛仕恬浸值胶碟亦短咳腥钥捎魄朗氟商 ...

  8. SELECT中常用的子查询操作

    MySQL中的子查询 是在MySQL中经常使用到的一个操作,不仅仅是用在DQL语句中,在DDL语句.DML语句中也都会常用到子查询. 子查询的定义: 子查询是将一个查询语句嵌套在另一个查询语句中: 在 ...

  9. SQL中的关联子查询

    目录 关联查询 例子 分解相关的嵌套查询 与不同的表一起使用 关联子查询与内部联接 哪个更快? 哪个更容易阅读? 哪一个更好? HAVING子句中的关联子查询 在本文中,我们将查看几个示例并将关联子查 ...

最新文章

  1. 欢迎大家加入我的圈子
  2. Unity3D开发——LeRunning的人物角色信息的显示
  3. 科大星云诗社动态20210421
  4. JQUERY GET
  5. OpenCASCADE可视化:应用交互服务之本地选择
  6. javascirpt历史澄清误解基本概念特点编程语言web2.0网页javascript - javascirpt知识大全...
  7. PyTorch 学习笔记(二):PyTorch的数据增强与数据标准化
  8. php调试工具——XDebug使用
  9. 当他不再爱你的时候(男女生一定要看)
  10. Jenkins 持续集成平台构建之通过git提交代码
  11. 2020-11-13
  12. 超级实用的浏览器插件
  13. linux 部署 程序,Linux 部署配置WEB APP
  14. 关系数据库:理解一二三范式
  15. 数据治理服务解决方案
  16. IOS开发基础 · SwiftUI · StanfordCS193p Lecture1-2
  17. 我的世界服务器唱片修改,我的世界怎么修改音乐 音乐资源包使用教程
  18. 计算方法预测蛋白质三级结构
  19. Markdowm使用手册
  20. WinDBG命令概览(上) - 标准命令

热门文章

  1. 2021 最新Android知识体系
  2. 3、docker 镜像
  3. [18调剂]曲阜师范大学2018年硕士研究生调剂信息
  4. matlab手动圈目标区域,圈点处函数是要手动输入才可以的吗?
  5. HDU1029java版本
  6. jquery在线五子棋
  7. uefi安装linux 知乎,安装Archlinux+UEFI启动
  8. oracle讲座心得1000字,教育讲座心得体会(精选8篇)
  9. “安装的产品与安装源不匹配”一种通过修改注册表解决问题的方法
  10. jquery 如何判断图片已经加载完成