以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  提取的问题问问  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=93560)

--  作者:longyanlin
--  发布时间:2016/12/1 14:38:00
--  提取的问题问问

我在表“制令信息”里:

If e.DataCol.Name = "产品编号" Then
   
    For Each dr As DataRow In DataTables("工价表").Select("产品编号 = \'" & e.NewValue.Replace("\'", "\'\'") & "\'")
        Dim nr As Row = Tables("制令工序").Addnew()
        nr("物料编号") = dr("物料编号")
        nr("品名规格") = dr("品名规格")
        nr("单位") = dr("单位")
        nr("工序") = dr("工序")
        nr("模具") = dr("模具")
        nr("系数") = dr("用料系数")
        nr("工价") = dr("修改工价")
    Next
End If

得出的结果是这样的:

 


图片点击可在新窗口打开查看此主题相关图片如下:123456.png
图片点击可在新窗口打开查看

能不能变更下代码变成:


 


图片点击可在新窗口打开查看此主题相关图片如下:654321.png
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2016/12/1 14:50:00
--  
If e.DataCol.Name = "产品编号" Then
    
    For Each dr As DataRow In DataTables("工价表").Select("产品编号 = \'" & e.NewValue.Replace("\'", "\'\'") & "\'")
        Dim nr As Row = Tables("制令工序").Addnew()
        nr("物料编号") = dr("物料编号")
        nr("品名规格") = dr("品名规格")
        nr("单位") = dr("单位")
        nr("工序") = dr("工序")
        nr("模具") = dr("模具")
        nr("系数") = dr("用料系数")
        nr("工价") = dr("修改工价")
        nr("订单号") = e.DataRow("订单号")
        nr("产品编号") = e.DataRow("产品编号")
    Next
End If
--  作者:longyanlin
--  发布时间:2016/12/1 15:08:00
--  

老师,以上代码套用,变成了无止境的新增行了

看了只有变成子表才能解决了

[此贴子已经被作者于2016/12/1 15:09:12编辑过]

--  作者:有点蓝
--  发布时间:2016/12/1 15:21:00
--  
不是不同的表来的吗?相同表参考,不过还是用子表吧

If e.DataCol.Name = "产品编号" Then
    SystemReady = False
    For Each dr As DataRow In DataTables("工价表").Select("产品编号 = \'" & e.NewValue.Replace("\'", "\'\'") & "\'")
        Dim nr As Row = Tables("制令工序").Addnew()
        nr("物料编号") = dr("物料编号")
        nr("品名规格") = dr("品名规格")
        nr("单位") = dr("单位")
        nr("工序") = dr("工序")
        nr("模具") = dr("模具")
        nr("系数") = dr("用料系数")
        nr("工价") = dr("修改工价")
        nr("订单号") = e.DataRow("订单号")
        nr("产品编号") = e.DataRow("产品编号")
    Next
    SystemReady = True
End If

--  作者:有点色
--  发布时间:2016/12/1 15:23:00
--  

加上不触发事件的代码

 

If e.DataCol.Name = "产品编号" Then
    systemready = False
    For Each dr As DataRow In DataTables("工价表").Select("产品编号 = \'" & e.NewValue.Replace("\'", "\'\'") & "\'")
        Dim nr As Row = Tables("制令工序").Addnew()
        nr("物料编号") = dr("物料编号")
        nr("品名规格") = dr("品名规格")
        nr("单位") = dr("单位")
        nr("工序") = dr("工序")
        nr("模具") = dr("模具")
        nr("系数") = dr("用料系数")
        nr("工价") = dr("修改工价")
        nr("订单号") = e.DataRow("订单号")
        nr("产品编号") = e.DataRow("产品编号")
    Next
    systemready = True
End If