Foxtable(狐表)用户栏目专家坐堂 → [已解决]用数据表的值作为临时表列名,并同步数据


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

主题:[已解决]用数据表的值作为临时表列名,并同步数据

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


加好友 发短信
等级:幼狐 帖子:54 积分:728 威望:0 精华:0 注册:2013/11/13 18:11:00
[已解决]用数据表的值作为临时表列名,并同步数据  发帖心情 Post By:2014/6/5 14:11:00 [只看该作者]

如下图所示,现有名为“主表”的数据表,有"A""B""C""D"四列。
现在想: 
1,自动新建临时表,其中临时表的表名为“主表”中B列的值(重复的值只计一次)【如图,自动新建名为“张三”,“王二”的临时表】

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



2,如下图,临时表中的列名,来自主表D列的值(重复只计一次),且自动复制主表C列的值到对应的列下【如图,新建的名为“张三”的临时表中,有“电视”“汽车”两列,且这两列的值来自主表中“电视”“汽车”对应的C列值。同理,临时表“王二”也是如此。
 

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

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

请各位高手不吝赐教,代码要怎样写才能实现这样的功能,或者大体思路是怎样,我现在一点头绪都没有。
感谢。图片点击可在新窗口打开查看

例子已上传
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目6.table


[此贴子已经被作者于2014-6-5 15:37:14编辑过]

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/6/5 14:13:00 [只看该作者]

图挂了.

上传图片和文件参考这里http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=78


请尽量使用IE,谷歌,火狐等主流浏览器上传.  

使用谷歌浏览器必须要先输入一个以上的字符

上传后需要等文件代码出现才算成功!




类似的问题,有例子才好办,最好就把文件传上来.

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


加好友 发短信
等级:幼狐 帖子:54 积分:728 威望:0 精华:0 注册:2013/11/13 18:11:00
图片已修复,  发帖心情 Post By:2014/6/5 14:20:00 [只看该作者]

待会上传例子

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/6/5 14:31:00 [只看该作者]

数据源也要发上来.

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


加好友 发短信
等级:幼狐 帖子:54 积分:728 威望:0 精华:0 注册:2013/11/13 18:11:00
大哥sorry  发帖心情 Post By:2014/6/5 14:37:00 [只看该作者]

一时疏忽,改成内部源了。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目6.table


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/6/5 15:01:00 [只看该作者]

For Each n As String In DataTables("主表").GetValues("B")
    Dim dtb As New DataTableBuilder(n)
    Dim dlist As List(of String) = DataTables("主表").GetValues("D","B='" & n & "'")
    For Each d As String In dlist
        dtb.AddDef(d, Gettype(Integer))
    Next
    dtb.Build()
    For Each d As String In dlist
        For Each dr As DataRow In DataTables("主表").Select("B='" & n & "' and D='" & d & "'")
            Dim drr As DataRow = DataTables(n).Find(d & " is null")
            If drr Is Nothing Then
                drr = DataTables(n).AddNew
            End If
            drr(d)=dr("C")
        Next
    Next
Next

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


加好友 发短信
等级:幼狐 帖子:54 积分:728 威望:0 精华:0 注册:2013/11/13 18:11:00
问题解决  发帖心情 Post By:2014/6/5 15:39:00 [只看该作者]

感谢大哥。太帅了图片点击可在新窗口打开查看

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


加好友 发短信
等级:幼狐 帖子:54 积分:728 威望:0 精华:0 注册:2013/11/13 18:11:00
回复:(Bin)For Each n As String In DataTables("主...  发帖心情 Post By:2014/6/7 2:25:00 [只看该作者]

大哥,今天用你的代码开始写项目,出状况了。如图,生成的临时表全错位了。我的主表叫"rtpcr",生成的临时表里每列的数据都是接着前一列的行号来的,导致前面都是空的。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目7.zip


按钮代码为:
For Each n As String In DataTables("rtpcr").GetUniqueValues( "Target is not null","Target")
    Dim dtb As New DataTableBuilder(n)
    Dim dlist As List(of String) = DataTables("rtpcr").GetUniqueValues("Target='" & n & "'","sample")
    For Each d As String In dlist
        dtb.AddDef(d, Gettype(string), 40)
    Next
    dtb.Build()
    For Each d As String In dlist
        For Each dr As DataRow In DataTables("rtpcr").Select("Target='" & n & "' and sample='" & d & "'")
            Dim drr As DataRow = DataTables(n).Find(d & " is null")
            If drr Is Nothing Then
                drr = DataTables(n).AddNew
            End If
            drr(d)=dr("Quantity")
        Next
    Next
Next

我找原因找了一晚上了,没有发现问题出在哪,大哥有时间的话帮我看看吧,谢谢

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

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


[此贴子已经被作者于2014-6-7 2:27:55编辑过]

 回到顶部