Foxtable(狐表)用户栏目专家坐堂 → [求助]汇总模式


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

主题:[求助]汇总模式

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


加好友 发短信
等级:五尾狐 帖子:1005 积分:5955 威望:0 精华:0 注册:2015/6/18 5:15:00
[求助]汇总模式  发帖心情 Post By:2016/6/17 14:53:00 [只看该作者]

老师,下面代码是狐表软件自带的内部函数,我要修改成对外部数据源的汇总模式。

Dim t As Table = Tables("进销存")
Dim g As Subtotalgroup
t.StopRedraw()
t.SubtotalGroups.Clear()
t.Filter = "日期 >= #1/1/2010# And 日期 <= #3/31/2010#"
t.GroupAboveData = False
t.TreeVisible = False
t.SpillNode = True

g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "商品名称"
g.TotalOn = "出库_数量,出库_金额"
g.Caption = "{0} 小计"
t.SubtotalGroups.Add(g)

g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "客户名称"
g.TotalOn = "出库_数量,出库_金额"
g.Caption = "{0} 小计"
t.SubtotalGroups.Add(g)

g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "*"
g.TotalOn = "数量,金额"
g.Caption = "总计"
t.SubtotalGroups.Add(g)

t.Subtotal()
t.ResumeRedraw()
t.ShowCell(t.Rows.Count(True) - 1, 0) '显示最后一行

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


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

 内部,外部,都一样,只要你表名写对,就行。

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


加好友 发短信
等级:五尾狐 帖子:1005 积分:5955 威望:0 精华:0 注册:2015/6/18 5:15:00
  发帖心情 Post By:2016/6/17 17:16:00 [只看该作者]

老师,我按任务栏按钮(汇总模式)后进销存表的数据多隐藏起来了。



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

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


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

上传例子测试。


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


加好友 发短信
等级:五尾狐 帖子:1005 积分:5955 威望:0 精华:0 注册:2015/6/18 5:15:00
  发帖心情 Post By:2016/6/17 19:21:00 [只看该作者]

谢谢老师,自定义函数的日期搞错了。

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


加好友 发短信
等级:五尾狐 帖子:1005 积分:5955 威望:0 精华:0 注册:2015/6/18 5:15:00
  发帖心情 Post By:2016/6/17 22:52:00 [只看该作者]

For Each frm As WinForm.Form In Forms '关闭本表其他窗口
    If frm.TableName = e.Form.TableName AndAlso frm.Opened Then
        If frm.Name <> "导航" AndAlso frm.Name <> e.Form.Name Then
            frm.Close
        End If
    End If
Next

Dim t As Table = Tables("进销存")
Dim g As Subtotalgroup
t.StopRedraw()
t.SubtotalGroups.Clear()
t.GroupAboveData = False
t.TreeVisible = False
t.Filter = "日期 >= #9/1/2015# And 日期 <= #12/28/2015#"
g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "商品名称"
g.Caption = "{0}"
t.SubtotalGroups.Add(g)
t.Subtotal()
Dim r As Row
For i As Integer = 0 To t.Rows.Count(True) - 1
    r = t.Rows(i,True)
    If r.IsGroup '如果是分组行
        Dim f As String = "商品名称 = '" & r("商品名称") & "'"
        Dim v As String = "  交易数:" & t.Compute("Count(日期)",f)
        v = v & "  数量:" & t.Compute("Sum(出库_数量)",f)
        v = v & "  金额:" & t.Compute("Sum(出库_金额)",f)
        r("商品名称") = "商品:" & r("商品名称") & v
    End If
Next
t.ResumeRedraw()
t.ShowCell(t.Rows.Count(True) - 1, 0) '显示最后一行


老师,上面代码我依样画葫芦抄的出库_数量和出库_金额为什么等于零。

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


 回到顶部
帅哥,在线噢!
狐狸爸爸
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

Dim f As String = "商品名称 = '" & r("商品名称") & "'"

 

改为:

 

Dim f As String = "商品名称 = '" & r("客户名称") & "'"

 

 

因为你分组行的商品名称显示在客户名称列


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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/6/18 8:51:00 [只看该作者]

......
Dim g As Subtotalgroup
t.StopRedraw()
t.SubtotalGroups.Clear()
t.GroupAboveData = False
t.TreeVisible = False
t.Filter = "日期 >= #9/1/2015# And 日期 <= #12/28/2015#"
g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "商品名称"
g.TotalOn = "出库_数量,出库_金额"
g.Caption = "{0}"
t.SubtotalGroups.Add(g)
t.Subtotal()
......

 回到顶部
帅哥哟,离线,有人找我吗?
江南小城
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1005 积分:5955 威望:0 精华:0 注册:2015/6/18 5:15:00
  发帖心情 Post By:2016/6/18 10:27:00 [只看该作者]

以下是引用狐狸爸爸在2016/6/18 8:47:00的发言:

Dim f As String = "商品名称 = '" & r("商品名称") & "'"

 

改为:

 

Dim f As String = "商品名称 = '" & r("客户名称") & "'"

 

 

因为你分组行的商品名称显示在客户名称列

老师,修改后还是没有用。


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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/6/18 10:30:00 [只看该作者]

上传例子测试

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