Foxtable(狐表)用户栏目专家坐堂 → [求助]数据合并


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

主题:[求助]数据合并

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


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

你做个按钮,或者直接在命令窗口执行:

For Each pr As DataRow In DataTables("表2").DataRows
    Dim s As String = ""
    For Each dr As DataRow In DataTables("表1").Select("编号 = '" & pr("编号") & "' And 类别 = '" & pr("类别") & "'")
        s = s & ","  & dr("项目")
    Next   
    pr("项目") = s.Trim(",")
Next


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


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

这样更加简单:

 

For Each pr As DataRow In DataTables("表2").DataRows
    pr("项目")  =  DataTables("表1").GetComboListString("项目","编号 = '" & pr("编号") & "' And 类别 = '" & pr("类别") & "'")
Next


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


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

DataTables("表2").DataRows.Clear
Dim f As New Filler
f.SourceTable = DataTables("表1") '指定数据来源
f.SourceCols = "编号,类别" '指定数据来源列
f.DataTable = DataTables("表2") '指定数据接收表
f.DataCols = "编号,类别" '指定数据接收列
f.Fill() '填充数据
For Each pr As DataRow In DataTables("表2").DataRows
    pr("项目")  =  DataTables("表1").GetComboListString("项目","编号 = '" & pr("编号") & "' And 类别 = '" & pr("类别") & "'")
Next

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


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

DataTables("表2").DataRows.Clear
Dim f As New Filler
f.SourceTable = DataTables("表1") '指定数据来源
f.SourceCols = "编号,类别" '指定数据来源列
f.DataTable = DataTables("表2") '指定数据接收表
f.DataCols = "编号,类别" '指定数据接收列
f.Fill() '填充数据
For Each pr As DataRow In DataTables("表2").DataRows
    Dim s As String =  DataTables("表1").GetComboListString("项目","编号 = '" & pr("编号") & "' And 类别 = '" & pr("类别") & "'")
    pr("项目")  = s.Replace("|",",")
Next

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


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

做个按钮,需要更新表2的数据的时候,单击这个按钮

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


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

Filler有个选项,排除已经存在的内容,你看看:

 

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

 

ExcludeExistValue

逻辑型,设为True,排除接收表中已经存在的内容。

 

 

Dim f As New Filler
f.SourceTable = DataTables("表1") '指定数据来源
f.SourceCols = "编号,类别" '指定数据来源列
f.DataTable = DataTables("表2") '指定数据接收表
f.DataCols = "编号,类别" '指定数据接收列
f.ExcludeExistValue = True
f.Fill() '填充数据
For Each pr As DataRow In DataTables("表2").DataRows
    pr("项目")  =  DataTables("表1").GetComboListString("项目","编号 = '" & pr("编号") & "' And 类别 = '" & pr("类别") & "'")
Next

 

 


 回到顶部