如何在Datareport中增加一行合计栏?

czwwh 2003-04-14 03:27:02
我以前做了一张表的样式如下:
| 发货单号 | 客户名称 | 数量 | 金额 |

现在我想增加一行合计栏,显示数量及金额的合计,我在报表中插入了分组标头/注脚(Section1/Section2),我把分组注脚中加入了两个Function控件(Function1,Function2),用于数量及金额的合计。格式设置好了,代码该如何改?

以前的代码如下:
Private Sub cmdPrint_Click()
Dim strSQL As String
Dim rsPS As New ADODB.Recordset

strSQL = "select * from TotalTmp"
rsPS.Open strSQL, cnHhsoft

With drpTotal 'drpTotal为报表名称
Set .DataSource = rsPS
.Orientation = rptOrientPortrait

.Sections("rptDetail").Controls.Item("txtSOCode").DataField = "cSOCode" '发货单号

.Sections("rptDetail").Controls.Item("txtCusName").DataField = "cCusName" '客户名称

.Sections("rptDetail").Controls.Item("txtTnum").DataField = "inum" '数量

.Sections("rptDetail").Controls.Item("txtTSum").DataField = "iSum" '金额

.LeftMargin = 0
.Refresh
.Show 1
End With
End Sub
...全文
85 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
czwwh 2003-04-16
  • 打赏
  • 举报
回复
我是就事论事,现在不是讨论哪种报表好与差的问题,我现在是要解决我的实际问题。
czwwh 2003-04-16
  • 打赏
  • 举报
回复
谢谢各位!
除了这种方法就没有其它办法了吗?放在页注脚或报表注脚的问题就是合计栏和表格主体不连在一起
wdwd05 2003-04-16
  • 打赏
  • 举报
回复
对不起~我是有感而发~

我有点同意 xing0091() 的说法~

Dim Sql As String
Dim rsPS As New ADODB.Recordset
Sql = "select sum(inum) from TotalTmp"
rsPS.Open strSQL, cnHhsoft
....
....
drpTotal.Sections.Item("section5").Controls.Item("Label1").Caption = Trim(rsPS.Fields(0).Value)
drpTotal.Show

就事论事~~哈哈~
I am very very sorry~!
czwwh 2003-04-15
  • 打赏
  • 举报
回复
我想做成合计和明细连在一起,这样就必须把合计放在分组注脚里,而分组注脚里必须放 Function控件,如何设置Function控件的DataMember?我相信这种简单的报表肯定会有很多人做过
xing0091 2003-04-15
  • 打赏
  • 举报
回复
我没用分组注脚
你需要每页都印统计项么
我只做了一个统计在报表最后显示,我将标签放在了报表注脚里,然后将页注脚的高度设为了零
wdwd05 2003-04-15
  • 打赏
  • 举报
回复
DateReport 简直就是个垃圾报表,哈哈~

ArvReport2.0 是个好报表哦

或者用水晶报表吧~
wdwd05 2003-04-15
  • 打赏
  • 举报
回复
DateReport
czwwh 2003-04-15
  • 打赏
  • 举报
回复
放在报表注脚或页注脚里,这里面的内容总是在一页的下面。如果明细部分的记录很少,不足以打印一页的时候,报表注脚里面的内容肯定不会接在明细部分的下面。
你不用分组注脚吗?我想应该要用到分组的,只是不会设置DataMember
xing0091 2003-04-15
  • 打赏
  • 举报
回复
不会的
我做的报表也有金额合计,我就是将合计项放在了报表注脚里
czwwh 2003-04-15
  • 打赏
  • 举报
回复
在报表注脚或页注脚放合计栏都不是我想要的。如果不満一页,那么合计栏和上面的表格就分开了
zhuangcrui 2003-04-15
  • 打赏
  • 举报
回复
.Sections("rptDetail").Controls.Item("txtSOCode").DataField = "cSOCode" '发货单号

.Sections("rptDetail").Controls.Item("txtCusName").DataField = "cCusName" '客户名称

.Sections("rptDetail").Controls.Item("txtTnum").DataField = "inum" '数量

.Sections("rptDetail").Controls.Item("txtTSum").DataField = "iSum" '金额

.LeftMargin = 0
.Refresh
.Show 1
我是新手!能解释下这些吗?
xing0091 2003-04-14
  • 打赏
  • 举报
回复
合计的数值可以在程序中算然后转换,section5为报表注脚,section3为页注脚
czwwh 2003-04-14
  • 打赏
  • 举报
回复
格式我都设置好了,就是如何在分组注脚中显示出合计的数值?
打出来的格式应该是这样的:
|▔▔▔▔▔|▔▔▔▔▔|▔▔▔▔|▔▔▔▔|
| 发货单号 | 客户名称 | 数量 | 金额 |
|▔▔▔▔▔|▔▔▔▔▔|▔▔▔▔|▔▔▔▔|
|▔▔▔▔▔|▔▔▔▔▔|▔▔▔▔|▔▔▔▔|
|▔▔▔▔▔|▔▔▔▔▔|▔▔▔▔|▔▔▔▔|
|▔▔▔▔▔|▔▔▔▔▔|▔▔▔▔|▔▔▔▔|
|合计 | | | |
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
楼上兄弟说用标签,哪合计的数值如何得到呢?并且你说的section5或section3指的是报表的哪一部分?
xing0091 2003-04-14
  • 打赏
  • 举报
回复
在section5或section3中加入2个标签
在程序中设置 sections(5).control(i).caption="合计值"
i为标签所在的索引值

809

社区成员

发帖
与我相关
我的任务
社区描述
VB 多媒体
社区管理员
  • 多媒体
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧