Foxtable(狐表)用户栏目专家坐堂 → [求助]非常非常麻烦的报表怎么实现?狐爸帮帮忙 (将表修改后)


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

主题:[求助]非常非常麻烦的报表怎么实现?狐爸帮帮忙 (将表修改后)

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


加好友 发短信
等级:婴狐 帖子:35 积分:359 威望:0 精华:0 注册:2012/12/24 22:00:00
[求助]非常非常麻烦的报表怎么实现?狐爸帮帮忙 (将表修改后)  发帖心情 Post By:2013/2/27 20:53:00 [只看该作者]

实在不好意思,之前的提问没有把问题说清楚,给大家带来麻烦了,现在将问题修改后重新传上来,还请大家帮我想想办法:
数据表结构如下:

图片点击可在新窗口打开查看此主题相关图片如下:数据库.png
图片点击可在新窗口打开查看
统计表结构如下:

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

说明:
1、统计表中的张三(水果-经手人一)的意思是当张三作为第一经手人and(类型为:苹果or香蕉or火龙果)时的条目数即满足上述条件的表行数
2、 统计表中的张三(个人利润-经手人一) 的意思是满足条件为张三作为第一经手人的所有利润总和(经手人一可定存在、经手人二不一定存在,大家不用担心利润重复计算,最后利润把所有经手人一利润加起来即可,我分开算的目的是算个人工作业绩)
3、最后是时间的统计,物品在仓库存放时间绝对不超过12个小时,即大部分是当天,所以日期只写了一天,库存时间=出库时间-入库时间,但特殊情况是入库时间快凌晨了,出库时间到了第二天,但是库存时间也不超过12个小时
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


[此贴子已经被作者于2013-2-27 20:53:22编辑过]

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


加好友 发短信
等级:婴狐 帖子:89 积分:535 威望:0 精华:0 注册:2013/2/23 20:06:00
  发帖心情 Post By:2013/2/27 21:21:00 [只看该作者]

你在命令窗口执行下面的代码:

 

Dim dt1 As Date = #1/1/2013#
Dim dt2 As Date = #12/31/2013#
Dim dt As DataTable = DataTables("产品录入")
Dim filter As String = "日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "#"
Dim dtb As New DataTableBuilder("统计")
dtb.AddDef("姓名", Gettype(String), 32)
dtb.AddDef("完整_经手人1", Gettype(Integer))
dtb.AddDef("完整_经手人2", Gettype(Integer))
dtb.AddDef("水果_经手人1", Gettype(Integer))
dtb.AddDef("水果_经手人2", Gettype(Integer))
dtb.AddDef("零食_经手人1", Gettype(Integer))
dtb.AddDef("零食_经手人2", Gettype(Integer))
dtb.AddDef("时间_经手人1", Gettype(Integer))
dtb.AddDef("时间_经手人2", Gettype(Integer))
dtb.AddDef("个人利润_经手人1", Gettype(Integer))
dtb.AddDef("个人利润_经手人2", Gettype(Integer))
dtb.Build()
Dim lst1 As List(of String) = DataTables("产品录入").GetUniqueValues("","经手人一")
Dim lst2 As List(of String) = DataTables("产品录入").GetUniqueValues("","经手人二")
For Each nm As String In lst2
    If Lst1.Contains(nm) = False Then
        lst1.add(nm)
    End If
Next
For Each nm As String In lst1
    Dim r As Row = Tables("统计").AddNew()
    r("姓名") = nm
    r("完整_经手人1") = DataTables("产品录入").Compute("Count([_Identify])","经手人一 = '" & nm & "'")
    r("完整_经手人2") = DataTables("产品录入").Compute("Count([_Identify])","经手人二 = '" & nm & "'")
    r("零食_经手人1") = DataTables("产品录入").Compute("Count([_Identify])","经手人一 = '" & nm & "' And 类型 = '零食'")
    r("零食_经手人2") = DataTables("产品录入").Compute("Count([_Identify])","经手人二 = '" & nm & "' And 类型 = '零食'")
    r("水果_经手人1") = r("完整_经手人1") - r("零食_经手人1")
    r("水果_经手人2") = r("完整_经手人2") - r("零食_经手人2")
    r("个人利润_经手人1") = DataTables("产品录入").Compute("Sum(利润)","经手人一 = '" & nm & "'")
    r("个人利润_经手人2") = DataTables("产品录入").Compute("Sum(利润)","经手人二 = '" & nm & "'")
Next


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


加好友 发短信
等级:婴狐 帖子:35 积分:359 威望:0 精华:0 注册:2012/12/24 22:00:00
回复:(双轨制)你在命令窗口执行下面的代码:&nbs...  发帖心情 Post By:2013/2/27 22:36:00 [只看该作者]

谢谢您的回答,我试了下,不过好像没有时间的统计,能不能再帮帮忙

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/3/1 8:36:00 [只看该作者]

给你完全做好了:

 

 

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


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


加好友 发短信
等级:婴狐 帖子:35 积分:359 威望:0 精华:0 注册:2012/12/24 22:00:00
回复:(狐狸爸爸)给你完全做好了:  ...  发帖心情 Post By:2013/3/1 17:59:00 [只看该作者]

做的很好,非常感谢图片点击可在新窗口打开查看

 回到顶部