文章类型: DATABASE
关键词: Access,SQL,update,修改,数据,提示,操作必须使用一个可更新的查询
内容摘要: Access SQL update修改数据提示 操作必须使用一个可更新的查询

Access SQL update修改数据提示 操作必须使用一个可更新的查询

2017/11/22 16:30:47    来源:apple    阅读:

Access SQL update修改数据提示 操作必须使用一个可更新的查询


例如修改语句:

update 表A  set  表A的字段 =  (select sum(表B的某字段) from 表B  where 表B某

字段  = '表B某字段值') where 表A的字段 = '表A的字段值' 

 

当执行这条语句时Microsoft Office Access 操作必须使用一个可更新的查询。原因是

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 值。  

 

从中可以看出Access中根本不支持这种 set (a,b) = (x,y) 方式 另外ACCESS中也不支

持直接从本表进行 set x = (select SUM(x) from 同一个表。 因此必须使用Dsum函数 

语法为:

update 表A  set  表A的字段 = Dsum ("表B的某字段", "表B" ," 表B某字段  = '表B

某字段值'") where 表A的字段 = '表A的字段值' 

或 

update 表A  set  表A的字段 = Dsum (‘表B的某字段', '表B' ,' 表B某字段  = "表

B某字段值"') where 表A的字段 = '表A的字段值' 

 

这两条语法都能达到修改的效果,只是在符号上面有所修改而已。


例句:

update Oppointment set StateID=Dsum('ID','OppointmentState','StateName = "已带"') where ID=3;

↑ 上一篇文章:VC++判断文件或文件夹是否存在 关键词:VC++,判断,文件,文件夹,是否,存在 发布日期:2017/11/22 10:46:57
↓ 下一篇文章:VC中的char数组char[] 、char指针char*与字符串常量的比较 关键词:VC,char,数组,指针,字符串,常量,比较,数组初始.. 发布日期:2017/11/23 11:22:34
相关文章:
SQL中合并求取分组记录的第一条数据 关键词:数据库,sql,access,合并,求取,分组记录,第一条数据 发布日期:2019-04-08 08:48
ACCESS数据库分页的SQL语句 关键词:ACCESS,数据库,分页,SQL语句 发布日期:2017-11-27 15:28
三种数据库利用SQL语句进行高效果分页 关键词:数据库,SQL,高效,分页,oracle,access 发布日期:2015-07-29 14:33
相关目录:.NETVC&C++DATABASE软件开发
我要评论
正在加载评论信息......