|
楼主 |
发表于 2012-3-28 17:22
|
显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
Saint_Zuo 发表于 2012-3-28 16:43
还是关于域聚合函数的问题,我上次发的帖有些问题可能还没讲清楚,所以这次在附件中用四个批注说明了问题。 ...
- 问题1:
- select *, dsum("a","sheet1$a1:b6","b='a'") from `Sheet1$`
- 如果将以上语句改成
- select *, dsum("b","sheet1$a1:b6","b='a'") from `Sheet1$`后出错,请问什么原因?变量b为文本不也应该可以返回null的吗?另外为什么返回结果中Expr1000变量会在a,b的前面?
复制代码
回复1:
- select *, dsum("a","sheet1$a1:b6","b='a'") from `Sheet1$`
复制代码 释义: dsum("a","sheet1$a1:b6","b='a'") 意思是统计b字段中,项为a(第二列项为a的值)对应a字段(第一列)的项的求和汇总。b字段项a对应a字段的项有A2、A4和A6,其项分别为:1、3、5。对这3个记录进行求和汇总,得出9,所以结果为9。
- select *, dsum("b","sheet1$a1:b6","b='a'") from `Sheet1$`
复制代码 释义:dsum("b","sheet1$a1:b6","b='a'") 统计b字段中,项为a的记录,然后对项为a的b字段进行求和汇总,b字段符合条件的项为:a,a,a,对应的单元格为:B2、B4和B6,对这3个项进行求和汇总,因为b字段是文本,不能进行求和,所以报错。
- 另外为什么返回结果中Expr1000变量会在a,b的前面?
复制代码 这个是有关返回结果的排序规律。默认是列出的具体字段,在返回的结果表中,列位置(字段)从左到右依次列出,如果使用*表示返回所有字段,那么,这部分返回的字段默认排在最后列位置。
要查看字段在最终返回结果的列位置,可以如下图所示,取消勾选【列排序/刷选/布局(L)】项,然后刷新,即可得到真实的字段列位置。
下班,明天再继续。
|
|