Access交流中心

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

dsum函数输入后出现逻辑错误答案

洪春飞  发表于:2019-07-26 12:46:52  
复制

老师:你好

我在用dsum函数写公式时候,出现结果没有按条件进行筛选(=DSum("[分包进项抵扣发票明细表]![本次可抵扣发票金额(含税)]","分包进项抵扣发票明细表","[分包进项抵扣发票明细表]![本次需要开票金额(含税)] = " & [Forms]![销售合同名称表]![本次需要开票金额(含税)] And "[分包进项抵扣发票明细表]![销售合同编号] = '" & [Forms]![销售合同名称表]![销售合同编号] & "'")),不知哪里错了


点击图片查看大图

 

Top
leoyoung 发表于:2019-07-26 16:23:38
dsum函数的第一个参数应该是源表(分包进项抵扣发票明细表)中指定要处理的字段名。

ynfsr 发表于:2019-07-27 21:41:48
试试:  DSum("本次可抵扣发票金额(含税)","分包进项抵扣发票明细表","[本次需要开票金额(含税)] = " & [销售合同名称表]![本次需要开票金额(含税)] & " And " & " [销售合同编号] = " & [销售合同名称表]![销售合同编号])

半夜罗 发表于:2019-07-29 10:25:11

上传附件才好知道各控件及字段的数据类型,实际上就是数据类型的问题。与多条件无关。你是直接引用的窗体控件,可以先不用考虑数据类型,将窗体控件两端的引号及连接符去掉,先一个条件一个条件的分别试,就能找出原因了。然后再两个条件同时加上。

如果是数字类型条件也可以这样:=dsum("目标字段","表名称","数字条件=val([forms]![窗体名称]![控件名称])"),在vba代码中我遇到过很多次类似的问题,结果用:=dsum("目标字段","表名称","数字条件=val('" & me.控件名称 & "')"),完美解决问题。你不妨试试。



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