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


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

主题:报表代码咨询

美女呀,离线,留言给我吧!
hch
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:110 积分:1170 威望:0 精华:0 注册:2012/9/12 15:30:00
报表代码咨询  发帖心情 Post By:2012/12/19 14:05:00 [显示全部帖子]

现有一个测试Table文件,文件有一数据表,表内有不同年份、不同月份、不同科别中录入不同项目统计数据。按帮助文件可以产生同期对比数据,但此中报表的格式不是我想要的报表样式,我想通过此表生成一个如附件:对比表中样式的统计报表,此种统计报表样式编写代码怎么写,请给予具体指导。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试.table

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:对比表.xls


 回到顶部
美女呀,离线,留言给我吧!
hch
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:110 积分:1170 威望:0 精华:0 注册:2012/9/12 15:30:00
  发帖心情 Post By:2012/12/20 11:44:00 [显示全部帖子]

 按 e-png提示编写代码,发现部分数据统计不出来,是否我写的代码不完全对,增减率(增减率=(本期-上期)/上期*100%)的代码、表达式怎么写?我不会写烦请写一下,还有一个问题,按你的代码统计的表没有显示出我想要的统计表样式(如附件中的样式),另外我想要的是表中已输入多个连续年份不同月份的数据,怎样才可以统计出不同两个连续年份,不同月份时间段的对比统计数据,Table文件上传和代码如下:

Dim dtb As New DataTableBuilder("工作量完成情况与上年同期对比")
dtb.AddDef("科室", Gettype(String), 32)
dtb.AddDef("项目", Gettype(String), 32)
dtb.AddDef("本年度人次", Gettype(Integer))
dtb.AddDef("上年度人次", 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("上年度人次") = DataTables("工作量").Compute("Sum(人次)", ff & " And 时间 < #12/31/2011# ")
    r("本年度人次") = DataTables("工作量").Compute("Sum(人次)", ff & "  And 时间 > #1/1/2012#  And 时间 < #12/31/2012# ")
    r("上年度金额") = DataTables("工作量").Compute("Sum(金额)", ff & " And 时间 < #12/31/2011# ")
    r("本年度金额") = DataTables("工作量").Compute("Sum(金额)", ff & "  And 时间 > #1/1/2012#  And 时间 < #12/31/2012# ")
Next
DataTables("工作量完成情况与上年同期对比").DataCols("增减率").Expression = ""
For Each dr As DataRow In DataTables("工作量完成情况与上年同期对比").DataRows
    dr("增减率") = dr("本年度人次")/ dr("上年度人次")
    dr("增减数") = dr("本年度人次") - dr("上年度人次")
    dr("增减率") = dr("本年度金额")/ dr("上年度金额")
    dr("增减数") = dr("本年度金额") - dr("上年度金额")
    DataTables("工作量完成情况与上年同期对比").DataCols("增减率").Expression = "本年度人次 /上年度人次"
    DataTables("工作量完成情况与上年同期对比").DataCols("增减数").Expression = "本年度人次 -上年度人次 "
    DataTables("工作量完成情况与上年同期对比").DataCols("增减率").Expression = "本年度金额 /上年度金额 "
    DataTables("工作量完成情况与上年同期对比").DataCols("增减数").Expression = "本年度金额 -上年度金额 "
    DataTables("工作量完成情况与上年同期对比").DataCols("增减率").SetFormat("#0.00%")
Next    

请您费心指点

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:测试1.table


 回到顶部
美女呀,离线,留言给我吧!
hch
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:110 积分:1170 威望:0 精华:0 注册:2012/9/12 15:30:00
  发帖心情 Post By:2012/12/21 16:57:00 [显示全部帖子]

谢谢大家指导,lin_hailun你能不能再费心给我写一下统计各年各月对比表中的日期代码。我是初学者,为了便于工作需要,一边工作,一边在努力抽时学习狐表,能否给个具体的提示。

 回到顶部
美女呀,离线,留言给我吧!
hch
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:110 积分:1170 威望:0 精华:0 注册:2012/9/12 15:30:00
  发帖心情 Post By:2012/12/22 9:21:00 [显示全部帖子]

你的这个办法是可以实现,需每次修改日期范围,对一些实际应用者使用不现实。我想知道的是在窗口或者其他什么位置设置一个时间段按钮,输入需统计的年、月份后点击这个按钮就可统计出不同年月份的数据表,另外此统计表在EXCEL模板可以实现吗,模板编码怎么写?

 回到顶部
美女呀,离线,留言给我吧!
hch
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:110 积分:1170 威望:0 精华:0 注册:2012/9/12 15:30:00
  发帖心情 Post By:2012/12/30 15:37:00 [显示全部帖子]

反复看帮助和上面楼主的提示,编写了几段代码,但做出的统计表样式和结果不是自己想要的那种样式和结果。本意就是想在窗体中设置一个时间段筛选按钮,通过此按钮筛选、查询出不同年份或月份的时间段数据,在依此时段统计的数据做出同期对比统计表,统计表样式如 测试3—table文件中:专业统计报表-输出报表-同期对比表1样式,请高手费心具体写一下代码,再此谢过。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试3.table


 回到顶部
美女呀,离线,留言给我吧!
hch
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:110 积分:1170 威望:0 精华:0 注册:2012/9/12 15:30:00
  发帖心情 Post By:2012/12/31 11:59:00 [显示全部帖子]

看了你在(按年份统计)按钮中的修订代码,经测试输入时间段,但仍统计不出所需数据,这是怎么回事呀?是不是修订的代码放置位置不对。


 回到顶部
美女呀,离线,留言给我吧!
hch
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:110 积分:1170 威望:0 精华:0 注册:2012/9/12 15:30:00
  发帖心情 Post By:2012/12/31 14:42:00 [显示全部帖子]

图片点击可在新窗口打开查看
我的意思就是比如设置如表1样式的窗体:在查询时间段输入不同的年份如2011年至2012年或2012年至2013年等不同两个连续年份或月份后点击按年度、或季度或月份的同期对比表按钮,就可以产生如表2格式的统计报表。这个时间选择按钮、年、季度、月同期对比表按钮的代码怎么写,我想不出来。按你前面给我的帮助可以统计出我想要的统计表数据,但要经常在管理器中更写统计时间代码才行,在以后实际应用麻烦。不知我说明白了没有,请费心写一下,能否实现这个愿望。

 回到顶部
美女呀,离线,留言给我吧!
hch
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:110 积分:1170 威望:0 精华:0 注册:2012/9/12 15:30:00
  发帖心情 Post By:2013/1/1 11:15:00 [显示全部帖子]

不是这样的,经你修改的测试文件测试还是没有达到我预想的要求,现将新的测试文件上传,你具体看了窗体界面可能明白我想表述的意思。就是比如制作如文件中显示这样一个窗体样式,通过窗体的不同时间段录入所需时间后,可以产生需要的同期对比报表,那么这个窗体中不同统计时间段和不同时间段同期对比报表的代码怎么写,不明白。请赐教。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试新.table


 回到顶部
美女呀,离线,留言给我吧!
hch
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:110 积分:1170 威望:0 精华:0 注册:2012/9/12 15:30:00
  发帖心情 Post By:2013/1/5 10:43:00 [显示全部帖子]

最后生成的报表数据来源就是基表(工作量)中的数值,若需要年度同期对表,就选择两个需对比的年份如:2011年和2013年,如需要季度或月份的同期对表就选择需同期对比的年份如2011年和2012年后,再选择需同期对比的季度或月份时间段。所生成的报表列就是时间、科室、项目、本年人次、上年人次、人次增减数、人次增减率、本年金额、上年人金额、金额增减额、金额增减率。年度同期的报表样式如图1,季度月份同期对表的报表样式如图2
图片点击可在新窗口打开查看 
 
图片点击可在新窗口打开查看
 
 
 

 回到顶部
美女呀,离线,留言给我吧!
hch
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:110 积分:1170 威望:0 精华:0 注册:2012/9/12 15:30:00
  发帖心情 Post By:2013/1/7 11:42:00 [显示全部帖子]

首先谢谢林老师,图的样式和所需测试用的Table文件现重新上传,请您在费心看一下。
 
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试4.table

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:报表样式图.xls


 回到顶部
总数 12 1 2 下一页