Foxtable(狐表)用户栏目专家坐堂 → 我有个几个表 需要组合统计一下 ,咨询 每个表的分组字段一定要一样吗?


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

主题:我有个几个表 需要组合统计一下 ,咨询 每个表的分组字段一定要一样吗?

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


加好友 发短信
等级:九尾狐 帖子:2552 积分:20045 威望:0 精华:0 注册:2012/5/19 11:57:00
我有个几个表 需要组合统计一下 ,咨询 每个表的分组字段一定要一样吗?  发帖心情 Post By:2016/8/4 12:00:00 [只看该作者]

我有个几个表 需要组合统计一下 ,咨询 每个表的分组字段一定要一样吗?

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


加好友 发短信
等级:九尾狐 帖子:2552 积分:20045 威望:0 精华:0 注册:2012/5/19 11:57:00
  发帖心情 Post By:2016/8/4 12:28:00 [只看该作者]

附上项目 狐爸帮忙看一下
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:组合统计项目.rar



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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/8/4 12:54:00 [只看该作者]

Dim nms1 As String() = {"客户编码","客户名称"} '指定连接列
Dim nms2 As String() = {"客户编码","单位编码"} '指定连接列


dt5.Combine(nms1,dt1,nms1) '将销售统计数据组合到进货统计数据
dt5.Combine(nms1,dt2,nms2) '将退货统计数据组合到进货统计数据
dt5.Show("统计表5")


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


加好友 发短信
等级:九尾狐 帖子:2552 积分:20045 威望:0 精华:0 注册:2012/5/19 11:57:00
  发帖心情 Post By:2016/8/4 13:05:00 [只看该作者]

不行
出错了


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


加好友 发短信
等级:九尾狐 帖子:2552 积分:20045 威望:0 精华:0 注册:2012/5/19 11:57:00
  发帖心情 Post By:2016/8/4 13:53:00 [只看该作者]

狐爸帮忙看一下 2楼的项目 根据3楼的还是出错的


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/8/4 14:14:00 [只看该作者]

Dim filter1 As String
filter1="日期 >= #" & e.Form.Controls("startdate").value & "# " & " And 日期 <= #" & e.Form.Controls("enddate").value & "#"
Dim bd1 As New SQLGroupTableBuilder("统计表1","销售单")
bd1.ConnectionName = "wjhansdata"
Dim dt1 As fxDataSource
bd1.Groups.AddDef("客户编码") '根据型号分组
bd1.Groups.AddDef("客户名称") '根据型号分组
bd1.Totals.AddDef("金额","销售金额") '对金额进行统计
bd1.Filter = filter1
dt1 = bd1.BuildDataSource()
Dim bd2 As New SqlGroupTableBuilder("统计表2","资金收付明细单")
bd2.ConnectionName = "wjhansdata"
Dim dt2  As fxDataSource
bd2.Groups.AddDef("单位编码","客户编码") '根据型号分组
bd2.Groups.AddDef("单位名称","客户名称") '根据型号分组
bd2.Totals.AddDef("借方金额","收款金额") '对数量进行统计
bd2.Filter = filter1
dt2 = bd2.BuildDataSource()
Dim bd5 As New GroupTableBuilder("统计表5",DataTables("客户"))
Dim dt5 As fxDataSource
bd5.Groups.AddDef("客户编码") '根据型号分组
bd5.Groups.AddDef("客户名称") '根据型号分组
bd5.Totals.AddDef("期初金额","期初金额") '对数量进行统计
dt5 = bd5.BuildDataSource()

Dim nms1 As String() = {"客户编码","客户名称"} '指定连接列
Dim nms2 As String() = {"客户编码","客户名称"} '指定连接列
dt5.Combine(nms1,dt1,nms1) '将销售统计数据组合到进货统计数据
dt5.Combine(nms1,dt2,nms2) '将退货统计数据组合到进货统计数据
dt5.Show("统计表5")
'Tables(e.form.Name & "_Table1").DataSource = dt5 '将统计结果绑定到Table
msgbox("3")
'''
DataTables("销售单").LoadFilter = ""
DataTables("销售单").Load
DataTables("资金收付明细单").LoadFilter = ""
DataTables("资金收付明细单").Load
'msgbox(1)
Dim dt As DataTable = DataTables("统计表5")
For Each dr As DataRow In dt.DataRows
    Dim filter2 As String
    '  filter2="产品名称 = '" & dr("产品名称") & "' and 颜色 = '" & dr("颜色") & "' and 仓库 = '" & dr("仓库") & "' and 日期 >= #" & e.Form.Controls("startdate").value & "# " & " And 日期 <= #" & e.Form.Controls("enddate").value & "#"
    filter2="客户编码 = '" & dr("客户编码") & "'   And 日期 < #" & e.Form.Controls("startdate").value & "#"
    Dim drs As List(Of DataRow) = DataTables("销售单").Select(filter2)
    Dim s5 As Double = 0
    For Each cdr As DataRow In drs
        If cdr("日期") < e.Form.Controls("startdate").value Then
            s5 += cdr("金额")
        End If
    Next
    filter2="单位编码 = '" & dr("客户编码") & "'   And 日期 < #" & e.Form.Controls("startdate").value & "#"
    drs = DataTables("资金收付明细单").Select(filter2)
    Dim s6 As Double = 0
    For Each cdr As DataRow In drs
       If cdr("日期") < e.Form.Controls("startdate").value Then
           s6 += cdr("借方金额")
        End If
    Next
     dr("期初金额") += s5-s6
Next
'
'msgbox(2)
'''''
With DataTables("统计表5").DataCols  '用表达式列计算库存数据
    .Add("余额",Gettype(Double), "IsNull([期初金额],0)+ IsNull([销售金额],0)-ISNULL([收款金额],0)")
End With
'用表达式列计算库存数据
Forms("2").open()

[此贴子已经被作者于2016/8/4 14:14:01编辑过]

 回到顶部