以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]关于父表与多个子表引用字符更新问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=71212)

--  作者:jlccrtl
--  发布时间:2015/7/7 13:42:00
--  [求助]关于父表与多个子表引用字符更新问题
父表:汇总
子表:计划财务部,供应销售部,生产安全部,人事劳资部...

父表与子表通过“人员编号”关联
子表所用代码:If e.DataCol.Name = "人员编号" Then
    If e.NewValue Is Nothing Then
        e.DataRow("姓名") = Nothing
        e.DataRow("部门") = Nothing
        e.DataRow("人员类别") = Nothing
        e.DataRow("聘任类型") = Nothing
    Else
        Dim dr As DataRow
        dr = DataTables("汇总").Find("[人员编号] = \'" & e.NewValue & "\'")
        If dr IsNot Nothing 
            e.DataRow("姓名") = dr("姓名")
            e.DataRow("部门") = dr("部门")
            e.DataRow("人员类别") = dr("人员类别")
            e.DataRow("聘任类型") = dr("聘任类型") 
        End If
    End If
End If


父表所用的代码如何修改才能实现,子表父表(姓名,部门,人员类别,聘任类型)数据的同步呢?
父表代码如下:
Select Case e.DataCol.Name 
    Case "姓名","部门","人员类别","聘任类型"
        Dim Filter As String = "[人员编号] = \'" & e.DataRow("人员编号") & "\'"
        DataTables("供应销售部").ReplaceFor(e.DataCol.Name, e.NewValue, Filter)
End Select

或者能不能实现父表或者子表任意一方修改(姓名,部门,人员类别,聘任类型)这几列的内容另外的表都能实现更新!!

--  作者:jlccrtl
--  发布时间:2015/7/7 13:53:00
--  [求助]关于父表与多个子表引用字符更新问题
Select Case e.DataCol.Name 
    Case "姓名","部门","人员类别","聘任类型"
        Dim Filter As String = "[人员编号] = \'" & e.DataRow("人员编号") & "\'"
        DataTables("计划财务部").ReplaceFor(e.DataCol.Name, e.NewValue, Filter)
        DataTables("供应销售部").ReplaceFor(e.DataCol.Name, e.NewValue, Filter)
。。。。。。。
End Select


如上修改实现了父表修改 子表更新
不知道对不对


那怎么实现子表修改 父表更新呢??

--  作者:大红袍
--  发布时间:2015/7/7 14:07:00
--  
 回复楼上,2楼的代码正确,但前提是各个表的列名都一样。
--  作者:jlccrtl
--  发布时间:2015/7/7 15:04:00
--  [求助]关于父表与多个子表引用字符更新问题
嗯 都一样 谢谢了