Office中国论坛/Access中国论坛

标题: ACCESS中如何实现交叉表查询可以控制空值显示为空白或0? [打印本页]

作者: chm11    时间: 2005-3-14 19:06
标题: ACCESS中如何实现交叉表查询可以控制空值显示为空白或0?
在SQL项目中生成交叉表查询时可以控制空值显示为空白或0,

在ACCESS中如何实现?谢谢!



例如:

SQL项目:

空值显示空白:

SELECT TitleOfCourtesy,

SUM(CASE City WHEN 'London' THEN ReportsTo ELSE NULL END) AS [London City],

SUM(CASE City WHEN 'Redmond' THEN ReportsTo ELSE NULL END) AS [Redmond City],

SUM(CASE City WHEN 'Seattle' THEN ReportsTo ELSE NULL END) AS [Seattle City]

FROM Employees GROUP BY TitleOfCourtesy

空值显示为0:

SELECT TitleOfCourtesy,

SUM(CASE City WHEN 'London' THEN ReportsTo ELSE 0 END) AS [London City],

SUM(CASE City WHEN 'Redmond' THEN ReportsTo ELSE 0 END) AS [Redmond City],

SUM(CASE City WHEN 'Seattle' THEN ReportsTo ELSE 0 END) AS [Seattle City]

FROM Employees GROUP BY TitleOfCourtesy

————————————————————————————————————————



ACCESS:

空值显示空白:

TRANSFORM Sum(自动收款应收查询.月余额) AS 月余额之Sum

SELECT 自动收款应收查询.客户名称, Sum(自动收款应收查询.月余额) AS [总计 月余额]

FROM 自动收款应收查询

GROUP BY 自动收款应收查询.客户名称

PIVOT 自动收款应收查询.月份;

空值显示为0:



TRANSFORM IIf(IsNumeric(Sum([自动收款应收查询.月余额])),Sum([自动收款应收查询.月余额]),0) AS 月余额

SELECT 自动收款应收查询.客户名称, Sum(自动收款应收查询.月余额) AS [总计 月余额]

FROM 自动收款应收查询

GROUP BY 自动收款应收查询.客户名称

PIVOT 自动收款应收查询.月份; :)



[此贴子已经被作者于2005-3-14 14:05:15编辑过]


作者: hi-wzj    时间: 2005-3-14 20:57
不知为什么上传例子老提示出错,我看您懂sql就将例子中的语句贴出自己参照一下吧。行是月份列是人员值是金额合计。

TRANSFORM IIf(IsNumeric(Sum([金额])),Sum([金额]),0) AS 表达式1

SELECT 表1.月份

FROM 表1

GROUP BY 表1.月份

PIVOT 表1.人员;


作者: chm11    时间: 2005-3-14 21:00
谢谢!

成功了!

TRANSFORM IIf(IsNumeric(Sum([自动收款应收查询.月余额])),Sum([自动收款应收查询.月余额]),0) AS 月余额

SELECT 自动收款应收查询.客户名称, Sum(自动收款应收查询.月余额) AS [总计 月余额]

FROM 自动收款应收查询

GROUP BY 自动收款应收查询.客户名称

PIVOT 自动收款应收查询.月份;

[此贴子已经被作者于2005-3-14 14:04:02编辑过]






欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3