Foxtable(狐表)用户栏目专家坐堂 → [讨论]关联两个字段的代码


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

主题:[讨论]关联两个字段的代码

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


加好友 发短信
等级:小狐 帖子:348 积分:2805 威望:0 精华:0 注册:2016/8/24 10:39:00
[讨论]关联两个字段的代码  发帖心情 Post By:2017/9/23 12:37:00 [只看该作者]

这段代码是HR_人事类别对应表与HR_人事类别定义表的:类别组列与组编码列进行了关联,现在我需要HR_人事类别定义表的:类别组列与类别编码列 跟HR_人事类别对应表:组编码列与类别编码列进行关联,代码该如何修改:
Dim dt As DataTable = DataTables("HR_人事类别对应")
Dim ParentCol As DataCol
Dim ChildCol As DataCol

ParentCol = DataTables("HR_人事类别定义").DataCols("类别组")
ChildCol = DataTables("HR_人事类别对应").DataCols("组编码")
Win.FoxLib.Table.CreateRelation(ParentCol,ChildCol)

If DataTables("HR_人事类别对应").DataCols.Contains("类别编码名称") = False Then
dt.DataCols.Add("类别编码名称", Gettype(String),"Parent(HR_人事类别定义_HR_人事类别对应).类别名称")
End If
[此贴子已经被作者于2017/9/23 12:37:34编辑过]

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


加好友 发短信
等级:小狐 帖子:348 积分:2805 威望:0 精华:0 注册:2016/8/24 10:39:00
  发帖心情 Post By:2017/9/23 13:31:00 [只看该作者]

顶下

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


加好友 发短信
等级:小狐 帖子:348 积分:2805 威望:0 精华:0 注册:2016/8/24 10:39:00
  发帖心情 Post By:2017/9/23 13:37:00 [只看该作者]

ParentCol和ChildCol也可以是数组,这样可以通过多列创建关联,例如产品表和订单表,需要通过品名和型号两列建立关联

Dim DataCols1(1) As DataCol
Dim
DataCols2(1) As DataCol
DataCols1(
0) = DataTables("产品").DataCols("品名")
DataCols1(
1) = DataTables("产品").DataCols("型号")
DataCols2(
0) = DataTables("订单").DataCols("品名")
DataCols2(
1) = DataTables("订单").DataCols("型号")
Relations.Add(
"po", DataCols1, DataCols2)


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


加好友 发短信
等级:小狐 帖子:348 积分:2805 威望:0 精华:0 注册:2016/8/24 10:39:00
  发帖心情 Post By:2017/9/23 13:38:00 [只看该作者]

找到案例了

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


加好友 发短信
等级:小狐 帖子:348 积分:2805 威望:0 精华:0 注册:2016/8/24 10:39:00
  发帖心情 Post By:2017/9/23 14:18:00 [只看该作者]

能够实现要求的代码如下:
Dim DataCols2(1) As DataCol
Dim DataCols3(1) As DataCol 
DataCols2(0) = DataTables("HR_人事类别定义").DataCols("类别组")
DataCols2(1) = DataTables("HR_人事类别定义").DataCols("类别编码")

DataCols3(0) = DataTables("HR_人事类别对应").DataCols("组编码")
DataCols3(1) = DataTables("HR_人事类别对应").DataCols("类别编码")
Relations.Add("po", DataCols2, DataCols3)


If DataTables("HR_人事类别对应").DataCols.Contains("类别编码名称") = False Then
dt.DataCols.Add("类别编码名称", Gettype(String),"Parent(po).类别名称")
End If

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


加好友 发短信
等级:超级版主 帖子:105877 积分:538442 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/9/23 14:50:00 [只看该作者]

还有问题么?

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


加好友 发短信
等级:小狐 帖子:348 积分:2805 威望:0 精华:0 注册:2016/8/24 10:39:00
  发帖心情 Post By:2017/9/23 15:47:00 [只看该作者]

没了,感谢,有问题我再发帖

 回到顶部