以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 关联关系调用:A表应如何实现通过子表C获得C的父表B表中数据。 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=153816) |
||||
-- 作者:温堡主 -- 发布时间:2020/8/24 12:36:00 -- 关联关系调用:A表应如何实现通过子表C获得C的父表B表中数据。 你好,请问: A(2列:编号2(关联列)、项目名称、数量)是C的父表(3列:编号1、编号2、数量)、B(2列:编号1(关联列)、项目名称)也是C的父表、A和B之间无其他关联,A表应如何实现通过子表C获得C的父表B表的项目名称。 谢谢!
详见附件
|
||||
-- 作者:有点蓝 -- 发布时间:2020/8/24 14:04:00 -- C表编号1、编号2是一一对应的吗?还是编号2会对应多个编号1? |
||||
-- 作者:温堡主 -- 发布时间:2020/8/24 19:05:00 -- 编号2存在对应多个编号1情况 |
||||
-- 作者:chnfo -- 发布时间:2020/8/24 19:12:00 -- 大致思路是: dim drs as list(of datarow) = dr.getchildrows(A.C) \'首先得到与当前的A表的行相关的C的所有行 dim ks as new list(of datarow) for each dr as datarow in drs
dim pr as datarow = dr.getparentrow(B.C)
if pr isnot nothing andalso ks.contains(pr) = false then
ks.add(pr) \'------这就得到了B表中的相关行
end if next 其实用SQL更简单
|
||||
-- 作者:有点蓝 -- 发布时间:2020/8/24 20:19:00 -- 如果编号2存在对应多个编号1情况。那么取哪一个编号1对应的B表项目名称? |
||||
-- 作者:温堡主 -- 发布时间:2020/8/24 20:43:00 -- 以下是引用有点蓝在2020/8/24 20:19:00的发言:
如果编号2存在对应多个编号1情况。那么取哪一个编号1对应的B表项目名称? 编号2存在对应多个编号1情况:取B表上编号1(唯一)对应的B表项目名称 |
||||
-- 作者:温堡主 -- 发布时间:2020/8/24 20:50:00 -- 以下是引用chnfo在2020/8/24 19:12:00的发言:
大致思路是: dim drs as list(of datarow) = dr.getchildrows(A.C) \'首先得到与当前的A表的行相关的C的所有行
dim ks as new list(of datarow)
for each dr as datarow in drs
dim pr as datarow = dr.getparentrow(B.C)
if pr isnot nothing andalso ks.contains(pr) = false then
ks.add(pr) \'------这就得到了B表中的相关行
end if
next
其实用SQL更简单
你好,代码提示有:未声明dr、错误代码Dim drs As List(of DataRow) = dr.getchildrows(A.C)
另外是作为DataColChanged事件还是别的?
|
||||
-- 作者:有点蓝 -- 发布时间:2020/8/24 21:11:00 -- 请上传实例,看看数据是怎么样的 |
||||
-- 作者:温堡主 -- 发布时间:2020/8/24 22:19:00 -- 以下是引用有点蓝在2020/8/24 21:11:00的发言:
请上传实例,看看数据是怎么样的 |
||||
-- 作者:温堡主 -- 发布时间:2020/8/25 22:14:00 -- 以下是引用有点蓝在2020/8/24 21:11:00的发言:
请上传实例,看看数据是怎么样的
你好,这个是想做没做成的,可能还算不上实例, |