Foxtable(狐表)用户栏目专家坐堂 → 求关联统计?


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

主题:求关联统计?

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


加好友 发短信
等级:超级版主 帖子:521 积分:4916 威望:0 精华:7 注册:2008/9/2 22:22:00
  发帖心情 Post By:2011/10/6 13:30:00 [显示全部帖子]


..........
Dim g As New CrossTableBuilder("统计表1", DataTables("销售明细"))
g.HGroups.AddDef("客户名称","所属区域")
g.VGroups.AddDef("产品名称")
g.VGroups.AddDef("产品简称", "{0}_重量")
g.Totals.AddDef("重量")
g.VerticalTotal = True
g.HorizontalTotal = True
g.VerticalProportion = True
g.HorizontalProportion = True
If Filter>"" Then
    g.filter=Filter '进行数据过滤
End If
g.Build()
Tables("统计表1").AutoSizeCols(5)

For Each r As Row In Tables("统计表1").Rows
    Dim dr As DataRow = DataTables("客户资料").Find("客户名称 = '" & r("所属区域") & "'")
    If dr IsNot Nothing Then
        r("所属区域") =dr("所属区域")
    End If
Next
MainTable = Tables("统计表1")

............

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


加好友 发短信
等级:超级版主 帖子:521 积分:4916 威望:0 精华:7 注册:2008/9/2 22:22:00
  发帖心情 Post By:2011/10/6 15:14:00 [显示全部帖子]

..............
Dim jb As new SQLJoinTableBuilder("查询表1","销售明细")
jb.AddTable("销售明细","客户名称","客户资料","客户名称")
jb.AddTable("销售明细","产品简称","产品资料","产品简称")
jb.AddCols("日期","所属区域","{产品资料}.产品名称","{销售明细}.产品简称")
jb.AddExp("重量","箱数*{产品资料}.重量 + 销售条数*每条重量")

Dim g As New CrossTableBuilder("统计表1", jb.BuildSQL)
g.HGroups.AddDef("所属区域")
g.VGroups.AddDef("产品名称")
g.VGroups.AddDef("产品简称", "{0}_重量")
g.Totals.AddDef("重量")
g.VerticalTotal = True
g.HorizontalTotal = True
g.VerticalProportion = True
g.HorizontalProportion = True
g.Filter =Filter
g.Build()
Tables("统计表1").AutoSizeCols(5)
MainTable = Tables("统计表1")
...........


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


加好友 发短信
等级:超级版主 帖子:521 积分:4916 威望:0 精华:7 注册:2008/9/2 22:22:00
  发帖心情 Post By:2011/10/6 16:49:00 [显示全部帖子]

如是Access数据源,日期用"#"号引起来.

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


加好友 发短信
等级:超级版主 帖子:521 积分:4916 威望:0 精华:7 注册:2008/9/2 22:22:00
  发帖心情 Post By:2011/10/6 17:49:00 [显示全部帖子]

10楼的方法不行吗?内部表或Acc数据源日期用"#"号而非"'"号引起来!

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


加好友 发短信
等级:超级版主 帖子:521 积分:4916 威望:0 精华:7 注册:2008/9/2 22:22:00
  发帖心情 Post By:2011/10/6 18:18:00 [显示全部帖子]

其实应该把条件放在 SQLJoinTableBuilder中:

...................................
Dim jb As new SQLJoinTableBuilder("查询表1","销售明细")
jb.AddTable("销售明细","客户名称","客户资料","客户名称")
jb.AddTable("销售明细","产品简称","产品资料","产品简称")
jb.AddCols("日期","所属区域","{产品资料}.产品名称","{销售明细}.产品简称")
jb.AddExp("重量","箱数*{产品资料}.重量 + 销售条数*每条重量")
jb.Filter =Filter

Dim g As New CrossTableBuilder("统计表1", jb.BuildSQL)
g.HGroups.AddDef("所属区域")
g.VGroups.AddDef("产品名称")
g.VGroups.AddDef("产品简称", "{0}_重量")
g.Totals.AddDef("重量")
g.VerticalTotal = True
g.HorizontalTotal = True
g.VerticalProportion = True
g.HorizontalProportion = True
g.Build()
Tables("统计表1").AutoSizeCols(5)
MainTable = Tables("统计表1")

 回到顶部