Foxtable(狐表)用户栏目专家坐堂 → [求助]交叉查询


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

主题:[求助]交叉查询

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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/2/19 18:05:00 [显示全部帖子]

 这种的话,你可以减少 单位 分组进行一次交叉统计,统计结束以后对统计表进行处理,加入单位列,修改对应值。

 你上传数据表吧。

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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/2/20 14:25:00 [显示全部帖子]

有一个问题。

如果同一个原料编码,不同的单位,单位简称都有数据,你怎么处理?

例如


 单位    a  b    c  d   e           
 A     个      2      6            
 A   斤   4   4   3   6  5


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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/2/20 15:07:00 [显示全部帖子]

 做一个按钮,把这段代码执行一下就行了。

Dim dt As DataTable = DataTables("销售订单汇总总表")

Dim dtb As New DataTableBuilder("分货表")
dtb.AddDef("原料编码", Gettype(String), 32)
For Each col As String In dt.GetUniqueValues("", "单位简称")
    dtb.AddDef(col, Gettype(String), 8)
Next
dtb.Build()

Dim t As Table = Tables("分货表")
For Each ylbm As String In dt.GetUniqueValues("", "原料编码")
    Dim r As Row = t.AddNew
    r("原料编码") = ylbm
    For i As Integer = 1 To t.Cols.Count - 1
        Dim colName As String = t.Cols(i).Name
        Dim filter As String = "原料编码 = '" & r("原料编码") & "' And 单位简称 = '" & colName & "'"
        Dim data As String = ""
        For Each dw As String In dt.GetUniqueValues(filter, "订单单位")
            data &= dt.Compute("Sum(订单数量)", filter & " And 订单单位 = '" & dw & "'") & dw & "+"
        Next
        r(colName) = data.Trim("+")
    Next
Next

MainTable = t

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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/2/20 15:40:00 [显示全部帖子]

以下是引用ruanziming在2013-2-20 15:19:00的发言:
请老师给个按钮的链接,我学一下。


你直接设计一个窗口,或者设计一个菜单就行了。

http://www.foxtable.com/help/topics/0698.htm

 回到顶部