以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关联子表不同步显示的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=21007)

--  作者:douglas738888
--  发布时间:2012/6/27 11:09:00
--  关联子表不同步显示的问题

请教老师,我把A表与B表进行关联后,A表增加行,B表不会同步显示,需要在B表点击右键出现新增行才能显示,怎样能同步显示关联信息;另外,怎样实现在A表设计的窗口输入数据后,在B表设计的窗口同步显示关联信息?

看来半天指南也没弄懂,特请教!!

 


图片点击可在新窗口打开查看此主题相关图片如下:未标题-1.jpg
图片点击可在新窗口打开查看


--  作者:狐狸爸爸
--  发布时间:2012/6/27 11:24:00
--  

父表增加行,子表并不会增加行,必须再选择子表去增加行。

如果你想同步增加,可以看看:

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

 


--  作者:douglas738888
--  发布时间:2012/6/27 13:04:00
--  
狐爸,按 以下输入到DataColChanged,在父表输入员工姓名后,子表增加行了,但不显示父表员工姓名,再继续输入其它关联项数据时,子表增加的行不见,也没有父表关联的内容  “职称执业资格”是子表,父表列“员工姓名”与子表关联列名称一致,狐爸再指点下下

Select Case e.DataCol.Name
    Case
"员工姓名"
       
If e.DataRow.IsNull("员工姓名") = False Then \'如果已经输入订单编号
           
If e.DataRow.GetChildRows("职称执业资格").Count = 0 Then \'而且无订单明细
               
Dim dr As DataRow = DataTables("职称执业资格").AddNew()
                dr(
"员工姓名") = e.DataRow("员工姓名")
            End
If
       
End If
End
Select


--  作者:狐狸爸爸
--  发布时间:2012/6/27 14:12:00
--  

如果你要通过多个列关联,那么代码不是这样写的。
你没有必要通过多个关联列关联,很少需要这样的,你通过员工编号或者身份证号码这样的列关联即可,只要这一列能唯一标识每一行就行。
用姓名关联是不合适的,因为有同名的人。
一旦建立关联,子表就可以引用父表其他列的数据:
http://www.foxtable.com/help/topics/0106.htm