Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

[5分]条件语句

菜鸟  发表于:2019-10-11 15:10:06  
复制

老师,如把一  2#、3#、5# 、14#  如果把这这个改为条件语句,如:结查=dsum("数量",“统计表”,"编号='2#' or 编号='3#' or 编号='5#' or 编号='14#'")

 

Top
杨雪 发表于:2019-10-11 20:15:41

多条件DSum函数使用的例子[Access软件网]
http://www.accessoft.com/article-show.asp?id=4228



Access DSum()函数应用示例[Access软件网]
http://www.accessoft.com/article-show.asp?id=7436



半夜罗 发表于:2019-10-13 10:12:36
这个问题用VBA代码完成比较方便

首先定义一个变量作为条件

Dim a as string

再确定,编号(2#、3#、5# 、14#)是变量还是常量,并且确定 ,编号(2#、3#、5# 、14#)的数据类型是文本型还是数值型

1、编号(2#、3#、5# 、14#)是文本型常量:

a="编号='2#'" or _
  "编号='3#'" or _
  "编号='5#'" or _
  "编号='14#'"

2、编号(2#、3#、5# 、14#)是数字型常量:
a="编号=2#" or _
  "编号=3#" or _
  "编号=5#" or _
  "编号=14#"

3、编号 2#、3#、5# 、14#   是文本型变量
a="编号='"& 2# &"'" or _
  "编号='"& 3# &"'" or _
  "编号='"& 5# &"'" or _
  "编号='"& 14# &"'"

4、编号 2#、3#、5# 、14#   是数值型变量
a="编号="& 2#  or _
  "编号="& 3#  or _
  "编号="& 5#  or _
  "编号="& 14# 

5、设置Dsum
结查=Dsum("数量",“统计表”,a)

另外,如果是想在查询中完成这个,建议不要用Dsum函数,直接用SQL语句还要方便些,而且可以在查询设计视图中完成,不需要编辑SQL语句(视序号的类型确定是否加引号)
SELECT Sum(数量) AS 数量合计
FROM 统计表
WHERE 编号='2#' OR 编号='3#' OR 编号='5#' OR 编号='14#'

如果编号是数值型
SELECT Sum(数量) AS 数量合计
FROM 统计表
WHERE 编号=2# OR 编号=3# OR 编号=5# OR 编号=14#


菜鸟 发表于:2019-10-15 08:31:50
2#、3#、5# 、14#  这个是不固定,可变的哦!

菜鸟 发表于:2019-10-15 08:53:11
    Me.JdZ = DSum("Jdz", "tbl_gold_Jdz_master", "Jdid=IN(Replace([编号],'、',','))")  我这样写也不行,

半夜罗 发表于:2019-10-17 13:43:04

2#、3#、5# 、14# 的数据类型

Dim a as string

1、编号 2#、3#、5# 、14#   是文本型变量
a="编号='"& me.2# &"'" or _
  "编号='"& me.3# &"'" or _
  "编号='"& me.5# &"'" or _
  "编号='"& me.14# &"'"

2、编号 2#、3#、5# 、14#   是数值型变量
a="编号=val('"& me.2# &"')" or _
  "编号=val('"& me.3# &"')" or _
  "编号=val('"& me.5# &"')" or _
  "编号=val('"& me.14# &"')"


结查=Dsum("数量",“统计表”,a)

用 val('"& me.5# &"') 格式化成数字的好处是不受 控件 me.5# 格式的影响,一个字段只能是文本或数字,不可能象Excel一样既可是文本又可是数字。用这种形式,在多条件的情况下是非常实用的。关键是处理好数据类型。你所要求的条件是“或”,还可以修改为“与”,还能修改成“或”、“与”混用。非常灵活。就看怎样用。理论上可以是无限条件(实际上不可能是无限条件)。



总记录:5篇  页次:1/1 9 1 :