Foxtable(狐表)用户栏目专家坐堂 → 报表代码咨询


  共有10825人关注过本帖树形打印复制链接

主题:报表代码咨询

帅哥哟,离线,有人找我吗?
e-png
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1695 积分:10725 威望:0 精华:0 注册:2009/10/25 16:45:00
  发帖心情 Post By:2012/12/19 15:46:00 [显示全部帖子]

Dim dtb As New DataTableBuilder("工作量完成情况与上年同期对比")
dtb.AddDef("科室", Gettype(String), 32)
dtb.AddDef("项目", Gettype(String), 32)
dtb.AddDef("本年度人次(2012年)", Gettype(Integer))
dtb.AddDef("上年度人次(2011年)", Gettype(Integer))
dtb.AddDef("增减数)", Gettype(Integer))
dtb.AddDef("增减率", Gettype(Double))
dtb.AddDef("本年度金额", Gettype(Double))
dtb.AddDef("上年度金额", Gettype(Double))
dtb.AddDef("增减数.", Gettype(Double))
dtb.AddDef("增减率.", Gettype(Double))
dtb.Build()
MainTable= Tables("工作量完成情况与上年同期对比")
Dim f As New Filler
f.SourceTable = DataTables("工作量") '指定数据来源
f.SourceCols = "科别,项目" '指定数据来源列
f.DataTable = DataTables("工作量完成情况与上年同期对比") '指定数据接收表
f.DataCols = "科室,项目" '指定数据接收列
f.Filter = "科别 is not null"
f.Fill() '填充数据
Tables("工作量完成情况与上年同期对比").AutoSizeCols()
For Each r As Row In Tables("工作量完成情况与上年同期对比").Rows
Dim ff As String = "科别 = '" & r("科室") & "' And 项目 =  '" & r("项目") & "' "
r("上年度人次(2011年)") = DataTables("工作量").Compute("Sum(人次)", ff & " And 时间 < #12/31/2011# ")
r("本年度人次(2012年)") = DataTables("工作量").Compute("Sum(人次)", ff & "  And 时间 > #1/1/2012#  And 时间 < #12/31/2012# ")
'其他自己计算吧
Next

 


 


 回到顶部
帅哥哟,离线,有人找我吗?
e-png
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1695 积分:10725 威望:0 精华:0 注册:2009/10/25 16:45:00
  发帖心情 Post By:2012/12/19 17:12:00 [显示全部帖子]

2楼代码加上合并:

With Tables("工作量完成情况与上年同期对比")
    .MergeMode = MergeModeEnum.Standard
    .MergeCols.Clear()
    .MergeCols.Add("科室")
    .MergeSort = "科室"
    .AllowMerge = True
End With

 

还是用临时表处理数据后,再生成Excel来得方便、准确。


 回到顶部