

我怎么才能对Access 中的记录进行累计,得到它们的和呢?例如:
Name col1 col2 col3 col4 col5
Bill 1 2 5 6
我需要得到正确的累计和,如下所示:
Bill 1 3 8 14
但是我总是遇到空格或者丢失数值的问题。请您给我一点建议。
此问题提交于2004年11月29日
通过简单地测试一个值是否不等于空字符串(empty sting),可以检测到空格(blank)和丢失数值的问题。(Microsoft Access的混淆空格(blank)、空字符串(empty string) 和空(null)真是出了名的糟糕)。但是在这个特定的环境中,我们说上述列中没有空格(blank)或者空字符串(empty string)是没有问题的,因为这些列值必须是数值,这样你才可以对他们进行计算。因此,对空(null)的测试可以可靠地执行。。
在标准数据库中,你可以使用CASE表达式来检查一个列的值是否为空(null)。在微软的Access 中,可以通过IIF 和 ISNULL 函数来完成同样的功能。
select Name
, iif(isnull(col1),null,col1) as sum1
, iif(isnull(col2),null
,iif(isnull(col1),0,col1)+col2) as sum2
, iif(isnull(col3),null
,iif(isnull(col1),0,col1)
+iif(isnull(col2),0,col2)+col3) as sum3
, iif(isnull(col4),null
,iif(isnull(col1),0,col1)
+iif(isnull(col2),0,col2)
+iif(isnull(col3),0,col3)+col4) as sum4
, iif(isnull(col5),null
,iif(isnull(col1),0,col1)
+iif(isnull(col2),0,col2)
+iif(isnull(col3),0,col3)
+iif(isnull(col4),0,col4)+col5) as sum5
from yourtable