Access交流中心

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

Access查询空集如何赋值为0?

王小王  发表于:2019-06-25 11:51:29  
复制

1、在Access中有两个表,一个表为收入表,一个为支出表,结果实现为收入-支出为最终资金合计表,对收入按照“职位”查询,因为收入表里面某些职位还没有收入,而支出表里面该职位有了支出,因此在收入表里面对该职位查询时返回为空结果,从而导致最后的资金合计计算也为空;
2、我的问题是,该如何在查询里面将暂时还未输入表的职位查询结果赋值为0,使得最后的资金合计能够正常的以数学运算计算;请各位老师给出赋值的解决办法!感谢!

3、我已经使用过IsNull()、Nz()等皆不能解决,真快整疯了;点击下载此附件

请大神帮我修改附件,感谢

 

Top
麥田 发表于:2019-06-25 12:50:59

nz([字段名])

一定要是英文状态下的标点符号

你输入的是中文标点符号



王小王 发表于:2019-06-25 19:44:08

其实是,因为收入表没有该职位的信息,所以查询结果为没有,不知道有没有对查询结果为“没有”的赋值为0的方法呢?




leoyoung 发表于:2019-06-26 06:00:53

还是老套的办法

1、先合并数据

TRANSFORM Sum(a.收支合计) AS 收支合计之合计
SELECT a.职务
FROM (SELECT Sum(收入.收入) AS 收支合计, "收入" as 收支类型,收入.职务
FROM 收入
GROUP BY 收入.职务
UNION ALL SELECT Sum(支出.支出) AS 收支合计,"支出" as 收支类型,支出.职务
FROM 支出
GROUP BY 支出.职务
)  AS a
GROUP BY a.职务
PIVOT a.收支类型;


2、再按职位”查询


SELECT 收支合并.职务, 收支合并.收入, 收支合并.支出, Nz([收入])-Nz([支出]) AS 收支合计, Count(收支合并.职务) AS 合计计数
FROM 收支合并
GROUP BY 收支合并.职务, 收支合并.收入, 收支合并.支出
HAVING (((收支合并.职务)="教授"));



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