Foxtable(狐表)用户栏目专家坐堂 → 多表汇总统计咨询


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

主题:多表汇总统计咨询

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


加好友 发短信
等级:幼狐 帖子:167 积分:1624 威望:0 精华:0 注册:2018/3/12 9:22:00
多表汇总统计咨询  发帖心情 Post By:2019/7/24 15:30:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:总0.png
图片点击可在新窗口打开查看



如上图,想实现的功能就是从N张表中分组统计出我需要的数据,整合到一个WORD里。(图内[xxx]的想法是通过replace方式替换)

比如,标识“1”,是从表A中汇总统计当前月入职人员数量,填入WORD中,标识“2”,是这些入职人员的明细情况抽取表A中部门名和姓名

同上, 标识“3”,“4”是从表B中提取数据

标识“5”是从表C中提取数据

理论上以上所有的需要用到的表,都是无关联性的。   唯一共同点就是所有表需要统计的时间是统一的,或者是完整自然月,或者是一个自定义的开始和结束时间。


这种功能,是否可以实现,用什么方式实现比较简单。




 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110648 积分:563148 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/24 15:35:00 [只看该作者]


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


加好友 发短信
等级:幼狐 帖子:167 积分:1624 威望:0 精华:0 注册:2018/3/12 9:22:00
  发帖心情 Post By:2019/7/24 15:59:00 [只看该作者]

我的意思是,这些数据在各自表里都是原始数据,怎么整合过来。

比如提取的原始表A(随手打的,原始数据是在数据库里)

图片点击可在新窗口打开查看此主题相关图片如下:总1.png
图片点击可在新窗口打开查看


我现在要生成那个WORD里的第一点。

统计时间是7月份。 
效果应该是

图片点击可在新窗口打开查看此主题相关图片如下:总2.png
图片点击可在新窗口打开查看



[此贴子已经被作者于2019/7/24 16:00:07编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110648 积分:563148 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/24 16:04:00 [只看该作者]


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


加好友 发短信
等级:幼狐 帖子:167 积分:1624 威望:0 精华:0 注册:2018/3/12 9:22:00
  发帖心情 Post By:2019/7/25 14:21:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.zip


单独执行,每个小点都能正常生成。   合并后,只生成最后一个小点,其他无效。

代码见压缩包

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110648 积分:563148 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/25 14:41:00 [只看该作者]

Dim d As Date = Date.Today
Dim d1 As Date = New Date(d.Year,d.Month,1)
Dim d2 As Date = New Date(d.Year,d.Month,d.DaysInMonth(d.Year,d.Month))

Dim cnt As Integer
cnt = DataTables("rz").Compute("Count([date])", "date >= # " & d1 & " # And date < # " & d2 & " #")
'msgbox( cnt )

Dim tm As String  = ProjectPath & "Attachments\yxj.doc" '指定模板文件
Dim fl As String = ProjectPath & "Reports\yxj.doc" '指定目标文件
Dim wrt As New WordReport(Tables("rz"),tm,fl) '定义一个WordReport
wrt.Replace("[rzrs]",cnt) '统计当月入职人员总数



Dim rzs As String
Dim drs As List(Of DataRow)
drs = DataTables("rz").Select("[date] >= # " & d1 & " # And [date] < # " & d2 & " #","name DESC")
For Each dr As DataRow In drs
     rzs =  (dr("dep") & " : " & dr("name"))  & "  ||  " &  rzs
''      rzs =  (dr("dep") & " : " & dr("name"))  & rzs
''msgbox(rzs)
Next
wrt.Replace("[rzs]",rzs)  

Dim cnt1 As Integer
cnt1 = DataTables("lz").Compute("Count([date])", "date >= # " & d1 & " # And date < # " & d2 & " #")
'msgbox( cnt )

wrt.Replace("[lzrs]",cnt1) 

Dim lzs As String
Dim drs1 As List(Of DataRow)
drs1 = DataTables("lz").Select("[date] >= # " & d1 & " # And [date] < # " & d2 & " #","name DESC")
For Each dr1 As DataRow In drs1
     lzs =  (dr1("dep") & " : " & dr1("name"))  & "  ||  " &  lzs
'      rzs =  (dr("dep") & " : " & dr("name"))  & rzs
'msgbox(rzs)
Next
wrt.Replace("[lzs]",lzs)  
wrt.Build() '生成报表
wrt.show()

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


加好友 发短信
等级:幼狐 帖子:167 积分:1624 威望:0 精华:0 注册:2018/3/12 9:22:00
  发帖心情 Post By:2019/7/25 15:15:00 [只看该作者]

解决。   谢谢。  继续添加其他内容试试

 回到顶部