设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 3677|回复: 7
打印 上一主题 下一主题

[报表] 求助,关于ACCESS报表求和的问题

[复制链接]
跳转到指定楼层
1#
发表于 2006-6-16 18:30:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有和求和的问题捆扰了我很久,请各位大虾帮帮

----------------------------------------------------------------------------

表1:

ID      数字      是/否

1        23         yes

2        58        yes

3        34        no

4        22        yes

5        12        no

----------------------------------------------------------------------------

下面我想实现的是在报表中求和的问题

---------------------------------------------------------------------------

报表1:

条件是yes的和是:103

条件是no的和是:46

--------------------------------------------------------------------------------

谢谢..................!

[此贴子已经被作者于2006-6-16 10:32:00编辑过]

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2006-6-16 19:01:00 | 只看该作者
SELECT DISTINCTROW Sum(iif([是/否]="yes",[数字])) as yes from 表

SELECT DISTINCTROW Sum(iif([是/否]="no",[数字])) as no from 表

[此贴子已经被作者于2006-6-16 11:02:12编辑过]

3#
发表于 2006-6-16 19:09:00 | 只看该作者
使用DSum 函数
4#
 楼主| 发表于 2006-6-16 23:05:00 | 只看该作者
还是不明白啊,能不能具体点?
5#
 楼主| 发表于 2006-6-17 02:51:00 | 只看该作者
上面的2楼的方法我就是不会啊,,,5555。帮帮忙说具体一点啊!谢谢!

3l楼的方法我用了一下感觉不错,很简单!

刚才我还用别的方法实现了,可是太麻烦了!

Private Sub Report_Open(Cancel As Integer)
    Dim sngStart As Single, sngEnd As Single
    Dim sngElapsed As Single, count As Integer
    Dim rs As ADODB.Recordset
    Dim sum As Integer
    Set rs = New ADODB.Recordset
   
    rs.Open "表1", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
    sngStart = Timer
    sum = 0
    For count = 1 To rs.RecordCount
   If rs("是/否") = True Then
    sum = sum + rs("数字")
    rs.MoveNext
    ElseIf rs("是/否") = False Then
    kum = kum + rs("数字")
    rs.MoveNext
   End If
    Next
  
Label48.Caption = sum
Label49.Caption = kum

End Sub

[此贴子已经被作者于2006-6-16 19:02:46编辑过]

点击这里给我发消息

6#
发表于 2006-6-17 03:36:00 | 只看该作者
你在帮助中查一下DSUM函数的用法,很简单就可以实现的.
7#
发表于 2006-6-17 17:09:00 | 只看该作者
上面的2楼的方法我就是不会啊,,,5555。帮帮忙说具体一点啊!谢谢!

SQL直接指定数据源而已,在SQL查询语句中可以使用条件判断语句的。不过用DSUM()更简单方便些,了解这种方法对查询设计有好处的

SELECT DISTINCTROW 表.是/否,Sum(iif([是/否]="yes",[数字])) as yes,Sum(iif([是/否]="no",[数字])) as no from 表

可以直接用此SQL作为你窗体的数据源
8#
发表于 2006-6-17 21:32:00 | 只看该作者
以下是引用fannky在2006-6-17 9:09:00的发言:




上面的2楼的方法我就是不会啊,,,5555。帮帮忙说具体一点啊!谢谢!



SQL直接指定数据源而已,在SQL查询语句中可以使用条件判断语句的。不过用DSUM()更简单方便些,了解这种方法对查询设计有好处的

SELECT DISTINCTROW 表.是/否,Sum(iif([是/否]="yes",[数字])) as yes,Sum(iif([是/否]="no",[数字])) as no from 表

可以直接用此SQL作为你窗体的数据源

是做为报表的数据源
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-12-2 21:54 , Processed in 0.087257 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表