以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  跨表引用的自动更新  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=172533)

--  作者:青丘狐
--  发布时间:2021/10/18 12:21:00
--  跨表引用的自动更新

采购计划表 DataColChanged

 

Select  Case e.DataCol.Name
     Case  "预付金额","合同性质","结算方式","单据类别","付款日期","合同类型","收货单位","付款方式","订货单位","中转港","收货部门","交货日期","专用线","需方代表","交货方式","登记机构","登记部门","供方代表","签订地点","审核日期","审核人","操作员","备注"
          Dim Filter  As  String =  "[合同号码] = \'" & e.DataRow("合同号码") & "\'"
        DataTables("采购计划明细表").ReplaceFor(e.DataCol.Name, e.NewValue,  Filter)
 End  Select

 

 

 

采购计划明细表  DataColChanged

If e.DataCol.Name= "合同号码"  Then
    If e.NewValue Is Nothing  Then
        e.DataRow("项目名称")=  Nothing
        e.DataRow("预付金额")=  Nothing
        e.DataRow("合同性质")=  Nothing
        e.DataRow("结算方式")=  Nothing
        e.DataRow("单据类别")=  Nothing
        e.DataRow("付款日期")=  Nothing
        e.DataRow("合同类型")=  Nothing
        e.DataRow("收货单位")=  Nothing
        e.DataRow("付款方式")=  Nothing
        e.DataRow("订货单位")=  Nothing
        e.DataRow("中转港")=  Nothing
        e.DataRow("收货部门")=  Nothing
        e.DataRow("交货日期")=  Nothing
        e.DataRow("专用线")=  Nothing
        e.DataRow("需方代表")=  Nothing
        e.DataRow("交货方式")=  Nothing
        e.DataRow("登记机构")=  Nothing
        e.DataRow("登记部门")=  Nothing
        e.DataRow("供方代表")=  Nothing
        e.DataRow("签订地点")=  Nothing
        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("结算方式")
            e.DataRow("单据类别")= dr("单据类别")
            e.DataRow("付款日期")= dr("付款日期")
            e.DataRow("合同类型")= dr("合同类型")
            e.DataRow("收货单位")= dr("收货单位")
            e.DataRow("付款方式")= dr("付款方式")
            e.DataRow("订货单位")= dr("订货单位")
            e.DataRow("中转港")=  dr("中转港")
            e.DataRow("收货部门")= dr("收货部门")
            e.DataRow("交货日期")= dr("交货日期")
            e.DataRow("专用线")= dr("专用线")
            e.DataRow("需方代表")= dr("需方代表")
            e.DataRow("交货方式")= dr("交货方式")
            e.DataRow("登记机构")= dr("登记机构")
            e.DataRow("登记部门")= dr("登记部门")
            e.DataRow("供方代表")= dr("供方代表")
            e.DataRow("签订地点")= dr("签订地点")
            e.DataRow("审核日期")= dr("审核日期")
            e.DataRow("审核人")=  dr("审核人")
            e.DataRow("操作员")= dr("操作员")
            e.DataRow("备注")=  dr("备注")
        End  If
    End  If
End  If

 

 

采购计划明细表有三条明细数据后 再修改采购计划表的数据 采购计划明细表对应的字段数据只有第三行更新了  第一行和第二行没更新是空数据

 

 


图片点击可在新窗口打开查看此主题相关图片如下:1018.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2021/10/18 12:24:34编辑过]

--  作者:有点蓝
--  发布时间:2021/10/18 13:39:00
--  
看不出什么问题,请上传实例测试
--  作者:weijun
--  发布时间:2021/10/18 13:56:00
--  

 

[此贴子已经被作者于2021/10/18 15:13:20编辑过]

--  作者:weijun
--  发布时间:2021/10/18 14:10:00
--  

[此贴子已经被作者于2021/10/18 15:12:55编辑过]

--  作者:青丘狐
--  发布时间:2021/10/18 15:15:00
--  
修改采购计划主表中的数据 采购计划明细表对应的字段数据有三行数据, 这三行数据中的内容都要更新,实际只更新了一行数据 可能是当前那行,之前输的明细数据没有更新
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:数据管理1.0.rar


--  作者:有点蓝
--  发布时间:2021/10/18 15:58:00
--  
我测试没有问题。按什么步骤测试?

我把采购计划主表合同号码为CG202110-00001的收货部门从20改为30,采购计划明细表有3行合同号码为CG202110-00001的数据,3行的收货部门都更新了。