以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]三表逐层关联  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=53965)

--  作者:weigqing9
--  发布时间:2014/7/18 18:23:00
--  [求助]三表逐层关联
请问老师,主窗口三表逐层关联如下图,我点父表希望在子表与孙表能全部显示相关行,请问该如何关联?如图:点击父表行孙表能显示父表的全部行,点子表行孙表显示子表的相关行。
图片关联为父表结算ID与子表结算ID关联子表结算ID与孙表结算ID关联;子表维修单号与孙表维修单号关联

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


例子
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:示例.foxdb


图片点击可在新窗口打开查看
[此贴子已经被作者于2014-7-18 20:54:22编辑过]

--  作者:有点甜
--  发布时间:2014/7/18 19:17:00
--  
 孙表需要模拟点击主表。你上传例子吧,要编写一下点击子表的事件。模拟点击子表(主表)的行。
--  作者:有点甜
--  发布时间:2014/7/18 19:22:00
--  

表B,currentChanged事件

 

If e.Table.name = "表A.表B" Then
    Dim r As Row = e.Table.Current
    If r Is Nothing Then Return
    Dim idx As Integer = Tables("表B").FindRow("维修单号 = \'" & r("维修单号") & "\'")
    If idx > -1 Then
        Tables("表B").Position = idx
    End If
End If


--  作者:weigqing9
--  发布时间:2014/7/18 21:01:00
--  回复:(有点甜)表B,currentChanged事件 I...
有点甜老师,感恩你及时回复,代码复制进表B没有反应,我以上传例子。
--  作者:有点甜
--  发布时间:2014/7/18 21:17:00
--  
 
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:示例.rar


--  作者:weigqing9
--  发布时间:2014/7/18 21:23:00
--  
感谢有点甜老师,完美解决,谢谢!
--  作者:weigqing9
--  发布时间:2014/7/18 22:01:00
--  回复:(有点甜)  [upload=rar,示例.rar]viewFi...
老师还有问题,表C Table3绑定表不是关联绑定,增加行后的“结算ID"与”维修单号“不能自动填入,这样不对吧老师。增加行代码: Tables("目录.维修单.结算表").AddNew() 无效了。
--  作者:有点甜
--  发布时间:2014/7/18 22:06:00
--  

 新增按钮代码这样写

 

Dim ndr As DataRow = Datatables("表C").AddNew

ndr("结算Id") = Tables("表B").Current("结算Id")

ndr("维修单号") = Tables("表B").Current("维修单号")


--  作者:weigqing9
--  发布时间:2014/7/18 22:28:00
--  回复:(有点甜) 新增按钮代码这样写 ...
有点甜老师,表C 编号列有下拉复选窗口,在工料名称列也有选择
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:零星维修.rar

口,按这样新增行方法下拉窗口增加的行的代码都需改动,现我把做一半的实例文件上传,请老师指教。

--  作者:有点甜
--  发布时间:2014/7/18 22:36:00
--  

 

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:示例.rar