Foxtable(狐表)用户栏目专家坐堂 → [求助]如何在关联表的孙表中查询爷表的字段?


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

主题:[求助]如何在关联表的孙表中查询爷表的字段?

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


加好友 发短信
等级:幼狐 帖子:184 积分:1800 威望:0 精华:1 注册:2009/3/16 14:05:00
[求助]如何在关联表的孙表中查询爷表的字段?  发帖心情 Post By:2014/6/1 21:41:00 [显示全部帖子]

一个房屋团购的销售管理系统,有如下结构。请问如何在 4)收款单 表中引用 1)表中的团购单位名称 和 2)表中的客户姓名。请问应当如何设置?
 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:团购销售管理.rar


1)团购单位

团购单位ID() ----> 整数 ----> [_Identify]

       团购单位() ----> 字符型(16)


2)客户名单 

客户ID() ----> 整数 ----> [_Identify]

团购单位ID() ----> 整数

客户姓名() ----> 字符型(16)

 

3)订单 

订单ID() ----> 整数 ----> [_Identify]

客户ID() ----> 整数

品名() ----> 字符型(16)

订购日期() ----> 日期型

已收金额() ----> 双精度小数 ----> Sum(Child(订单_收款).收款金额)

 

4)收款单 

订单ID() ----> 整数

收款金额() ----> 双精度小数

收款日期() ----> 日期型

团购单位名称() ----> 字符型(32)

客户姓名() ----> 字符型(32)


关联 单位_客户

团购单位._Identify ----> 客户名单.团购单位ID

  

关联 客户_订单

客户名单._Identify ----> 订单.客户ID


关联 订单_收款

订单._Identify ----> 收款单.订单ID


[此贴子已经被作者于2014-6-2 8:30:20编辑过]

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


加好友 发短信
等级:幼狐 帖子:184 积分:1800 威望:0 精华:1 注册:2009/3/16 14:05:00
  发帖心情 Post By:2014/6/2 15:57:00 [显示全部帖子]

请问具体应该怎么做呢?

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


加好友 发短信
等级:幼狐 帖子:184 积分:1800 威望:0 精华:1 注册:2009/3/16 14:05:00
  发帖心情 Post By:2014/6/3 9:36:00 [显示全部帖子]

论坛的人气好高啊,我的帖子已经沉到第四页了。请高手帮忙看一下吧。谢谢啦。

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


加好友 发短信
等级:幼狐 帖子:184 积分:1800 威望:0 精华:1 注册:2009/3/16 14:05:00
  发帖心情 Post By:2014/6/3 13:43:00 [显示全部帖子]

真的要引用好多遍啊,我以为还可以有更好的办法呢。
谢谢你的答复。

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


加好友 发短信
等级:幼狐 帖子:184 积分:1800 威望:0 精华:1 注册:2009/3/16 14:05:00
  发帖心情 Post By:2014/6/3 21:26:00 [显示全部帖子]

谢谢你的答复。我看了一下,里面的内容并没有讲到孙-父-子关联引用。

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


加好友 发短信
等级:幼狐 帖子:184 积分:1800 威望:0 精华:1 注册:2009/3/16 14:05:00
  发帖心情 Post By:2014/6/3 22:28:00 [显示全部帖子]

通过有点甜版主介绍的文章中提到的思路,扩展了一下,使用代码解决了爷表的关联取值问题。
目前使用的是DataColChanged事件做测试,需要找个更好的事件存放代码。或者用字典代替表格查询。进一步优化中。。。。。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:团购销售管理.rar



以下内容为程序代码:

1 表事件
2
3 收款单_DataColChanged
4
5 If e.DataCol.Name = "收款日期" Then
6 Dim 父表关联行 As DataRow = e.DataRow.GetParentRow("订单")
7 Dim 爷表关联行 As DataRow = DataTables("客户名单").Find("客户ID = '" & 父表关联行("客户ID") & "'")
8 e.DataRow("客户姓名") = 爷表关联行("客户姓名")
9
10 Dim 曾祖关联行 As DataRow = DataTables("团购单位").Find("团购单位ID = '" & 爷表关联行("团购单位ID") & "'")
11 e.DataRow("团购单位名称") = 曾祖关联行("团购单位")
12 End If
13





 回到顶部