天极Yesky
  • 笔记本电脑
    笔记本
  • 台式电脑
    台式机
  • 手机
    手机
  • 电脑硬件DIY
    DIY硬件
  • CPU
    主板
    音箱
  • 硬盘
    显卡
    键鼠
  • 内存光驱
    显示器
    机箱电源

  • 数码相机DC
    数码相机
  • MP3播放器
    MP3/MP4
  • 数码摄像机DV
    摄像机
  • 电脑外设
    外设
  • 网络
    网络
  • 服务器
    服务器
  • 数字家庭
    数字家庭
  • 群乐
    群乐
  • 产品报价 行情 商家 新闻 评测 | 软件 设计 网页 开发 安全 论坛 E时代 游戏 图片 壁纸 下载 网摘 博客 索尼专区 Vista 科技奥运
    天极网
    在列上累计和,不是对列纵向累计
    作者: Rudy Limeback
    出处:
    责任编辑: 丁一凡
    [ 2004-12-06 10:10 ]


    我怎么才能对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 
     

     

    笔名:
    请您注意:

     遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。

     天极网拥有管理笔名和留言的一切权利。
    相关内容