Foxtable(狐表)用户栏目专家坐堂 → [求助]如果将2个表中指定2个列值相同的行生成在另外一张表中


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

主题:[求助]如果将2个表中指定2个列值相同的行生成在另外一张表中

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


加好友 发短信
等级:婴狐 帖子:33 积分:306 威望:0 精华:0 注册:2013/11/25 16:45:00
[求助]如果将2个表中指定2个列值相同的行生成在另外一张表中  发帖心情 Post By:2013/11/25 17:03:00 [只看该作者]

有4张表        第一个表XRKH 字段:姓名 卡余额 工作单位           第二个表KHKH 字段:姓名 会员卡号 工作单位         第三个表ZZHC 字段:姓名 会员卡号 卡余额 工作单位          第四个表WZDD 字段:姓名 会员卡号 卡余额 工作单位                             1、做了个窗体,加了个按钮,点击按钮后实现: 将第一个表中姓名、工作单位 与 第二个表中 姓名 工作单位进行对比,如果2个值都相等,就生成到第三个表中,并将2张表字段值合并在一起填充到ZZHC表中                                    2、如果第一个表中存在的客户,在第二张表中不存在时,条件与第1条一样,同时比对2个值(姓名、工作单位),生成数据到第四个表WZDD表中 我试了几次都不能实现,使用的是自助填充器代码,可以取到值但不能合并数据行。                          求助高手解决一下。先谢谢了,偶是foxtable的新手,很看好这个软件。
[此贴子已经被作者于2013-11-25 17:05:13编辑过]

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


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

1.这种问题最好上个例子
2.你的关联依据是什么? 第一行和第一行比较? 还是以姓名为关联作为比较?
3.想要得到帮助,必须要先把问题问好,泛泛而问,纸上谈兵,会让想帮助你的人也一筹莫展,巧妇难为无米之炊!   建议你把项目文件,数据.发上来,并且整理一下问题描述.

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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/11/25 17:13:00 [只看该作者]

命令窗口执行,细节自行调整:

 

For each dr1 As DataRow in DataTables("第一个表").datarows

     Dim dr2 As datarow = DataTables("第二个表").Find("姓名 = '" & dr1("姓名") & “ and 工作单位 = '" & dr1("工作单位") & "'")

     if dr2 IsNot Nothing Then

        Dim dr3 As Datarow = Datatbbles("第三个表").AddNew()

        dr3("工作单位") = dr1("工作单位")

        dr3("姓名") = dr1("姓名")

        dr3("卡余额") = dr1("卡余额")

        dr3("会员卡号") = dr1("会员卡号")

    else

        Dim dr4 As Datarow = Datatbbles("第四个表").AddNew()

        dr4("工作单位") = dr1("工作单位")

        dr4("姓名") = dr1("姓名")

        dr4("卡余额") = dr1("卡余额")

    end If

Next

[此贴子已经被作者于2013-11-25 17:15:54编辑过]

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


加好友 发短信
等级:婴狐 帖子:33 积分:306 威望:0 精华:0 注册:2013/11/25 16:45:00
  发帖心情 Post By:2013/11/25 17:16:00 [只看该作者]

没有使用关联功能,第一个表 和第二个表都是单独录入的, 但可以确定的是这2张表中有共同字段值,数据所在的行都不固定

 

就是第一个表中姓名和工作单位 要去和 第二个表 中所有数据进行搜索,只要姓名和工作单位都相同,就将2个表中的行内容整合到第三个表中 因为第一个表没有 会员卡号这个列, 第二个表有会员卡号这个列 想实现的就是只要条件符合,就生成新的行

 

 


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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/11/25 17:18:00 [只看该作者]

答案在3楼

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


加好友 发短信
等级:婴狐 帖子:33 积分:306 威望:0 精华:0 注册:2013/11/25 16:45:00
  发帖心情 Post By:2013/11/25 17:26:00 [只看该作者]

好的,感谢 狐狸爸爸 正在试,一会告诉结果

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


加好友 发短信
等级:婴狐 帖子:33 积分:306 威望:0 精华:0 注册:2013/11/25 16:45:00
  发帖心情 Post By:2013/11/25 17:31:00 [只看该作者]

Dim dr3 As Datarow = Datatbbles("第三个表").AddNew()

 

错误提示 未声明 Datatbbles

 

 


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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/11/25 17:48:00 [只看该作者]

笔误,改为:

 

Dim dr3 As Datarow = DataTables("第三个表").AddNew()

 

图片点击可在新窗口打开查看


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


加好友 发短信
等级:婴狐 帖子:33 积分:306 威望:0 精华:0 注册:2013/11/25 16:45:00
  发帖心情 Post By:2013/11/25 18:30:00 [只看该作者]


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

“无业”是工作单位的值

[此贴子已经被作者于2013-11-25 18:39:47编辑过]

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


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

 改成这样

For each dr1 As DataRow in DataTables("第一个表").datarows

     Dim dr2 As datarow = DataTables("第二个表").Find("姓名 = '" & dr1("姓名") & “' and 工作单位 = '" & dr1("工作单位") & "'")

     if dr2 IsNot Nothing Then

        Dim dr3 As Datarow = Datatables("第三个表").AddNew()

        dr3("工作单位") = dr1("工作单位")

        dr3("姓名") = dr1("姓名")

        dr3("卡余额") = dr1("卡余额")

        dr3("会员卡号") = dr1("会员卡号")

    else

        Dim dr4 As Datarow = Datatables("第四个表").AddNew()

        dr4("工作单位") = dr1("工作单位")

        dr4("姓名") = dr1("姓名")

        dr4("卡余额") = dr1("卡余额")

    end If

Next


 回到顶部
总数 16 1 2 下一页