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


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

主题:[求助]如何实现交叉查询

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/7/13 9:16:00 [显示全部帖子]

交叉统计很简单,不用写代码的,从这一节开始看:
http://www.foxtable.com/help/topics/0165.htm


喜欢写代码的:
http://www.foxtable.com/help/topics/0678.htm


 


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/7/13 9:23:00 [显示全部帖子]

交叉统计一样可以取数。

你先看看吧,如果搞不定,你可以做个例子传上来,然后说明问题,方便大家理解。


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/7/13 10:58:00 [显示全部帖子]

在命令窗口执行:

 

Dim dtb As New DataTableBuilder("表D")
dtb.AddDef("姓名", Gettype(String), 32)
For Each v As String In DataTables("表A").GetUniqueValues("","期间")
    dtb.AddDef(v, Gettype(String))
Next
dtb.Build()
For Each v As String In DataTables("表A").GetUniqueValues("","姓名")
    Dim dr1 As DataRow = DataTables("表D").AddNew()
    dr1("姓名") = v
    For Each dr2 As DataRow In DataTables("表A").DataRows
        If dr2("姓名") = v Then
            dr1(dr2("期间")) = dr2("成本中心")
        End If
    Next
Next
MainTable = Tables("表D")

 

就可以得到你要的表


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/7/13 11:04:00 [显示全部帖子]

张三在原始数据本来就没有1201和1202


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/7/13 11:21:00 [显示全部帖子]

呵呵,可以,不过除了图片,你最好也提供foxtable文件,这样别人才有兴趣帮你写代码的。


 回到顶部