Foxtable(狐表)用户栏目专家坐堂 → 如何把A表中其中一个单元格的数据提取到表B中??


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

主题:如何把A表中其中一个单元格的数据提取到表B中??

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


加好友 发短信
等级:婴狐 帖子:26 积分:288 威望:0 精华:0 注册:2018/1/19 15:29:00
  发帖心情 Post By:2018/2/12 18:49:00 [只看该作者]

用窗体做个按钮,对吗

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


加好友 发短信
等级:婴狐 帖子:26 积分:288 威望:0 精华:0 注册:2018/1/19 15:29:00
  发帖心情 Post By:2018/2/12 18:52:00 [只看该作者]

1、是在窗体中做个按钮,对吗,还是做个按钮,放到功能区(这个怎么放到功能区)

2、每次运行时,新的数据会出来,同样的,旧的数据也会出来,如何,在运行时,只做到只出现新的数据,把旧的去掉

[此贴子已经被作者于2018/2/12 18:58:23编辑过]

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


加好友 发短信
等级:超级版主 帖子:106601 积分:542176 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/2/12 20:02:00 [只看该作者]

做个窗口按钮吧。
什么新的旧的?截图上传实例说明

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


加好友 发短信
等级:婴狐 帖子:26 积分:288 威望:0 精华:0 注册:2018/1/19 15:29:00
  发帖心情 Post By:2018/2/12 21:18:00 [只看该作者]

第一次运行得到的结果:张三   男

 

第二次运行得到的结果:张三   男
                                李四   男

 

第三次运行得到的结果:张三   男
                                李四   男

                                王五   男

 

因为每次表A中都有新数据增加,B表需要新的数据,所以(张三   男   李四   男),会被运行好几次,如何才能不重复运行,只要新增加的数据

[此贴子已经被作者于2018/2/12 21:19:10编辑过]

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


加好友 发短信
等级:超级版主 帖子:106601 积分:542176 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/2/12 22:06:00 [只看该作者]

请上传实例测试

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/2/13 9:15:00 [只看该作者]

改成

 

For Each r As Row In Tables("表a")
    Dim s() As String = r("第二列").replace(vbcr, "").split(vblf)
    If s.length >= 2 Then
        Dim s0 = s(0).replace("姓名:","")
        Dim s1 = s(1).replace("性别:","")
        Dim fdr As DataRow = DataTables("表B").find("姓名='" & s0 & "' and 性别='" & s1 & "'")
        If fdr Is Nothing Then
            fdr = DataTables("表B").addnew
        End If
        fdr("姓名") = s0
        fdr("性别") = s1
    End If
Next


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


加好友 发短信
等级:婴狐 帖子:26 积分:288 威望:0 精华:0 注册:2018/1/19 15:29:00
  发帖心情 Post By:2018/2/22 16:42:00 [只看该作者]

改成

 

For Each r As Row In Tables("表a")
    Dim s() As String = r("第二列").replace(vbcr, "").split(vblf)
    If s.length >= 2 Then
        Dim s0 = s(0).replace("姓名:","")
        Dim s1 = s(1).replace("性别:","")
        Dim fdr As DataRow = DataTables("表B").find("姓名='" & s0 & "' and 性别='" & s1 & "'")
        If fdr Is Nothing Then
            fdr = DataTables("表B").addnew
        End If
        fdr("姓名") = s0
        fdr("性别") = s1
    End If
Next

谢谢,这个代码已经可以实现上面的结果了。但是,当表a中姓名的值为空时,又全部提取了表a中已经提取的数据

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/2/22 16:46:00 [只看该作者]

上传具体实例,说明如何操作,你最后要做什么效果。


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


加好友 发短信
等级:婴狐 帖子:26 积分:288 威望:0 精华:0 注册:2018/1/19 15:29:00
  发帖心情 Post By:2018/2/22 21:05:00 [只看该作者]

这个结果就很好,只是能不能把代码再改进下,当表a中姓名的值为空时,也不在提取表a中已经提取过的空值数据

 


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

[此贴子已经被作者于2018/2/22 21:25:16编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/2/22 21:13:00 [只看该作者]

以下是引用top123在2018/2/22 21:05:00的发言:

这个结果就很好,只是能不能把代码再改进下,当表a中姓名的值为空时,也不在提取表a中已经提取过的数据

 

那逻辑是什么?根据什么逻辑修改表B的数据?上传具体实例具体说明。


 回到顶部
总数 32 上一页 1 2 3 4 下一页