以文本方式查看主题

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

--  作者:longyanlin
--  发布时间:2016/12/7 9:57:00
--  跨表引用

If e.DataCol.Name = "物料编号" Then
    Dim nms() As String = {"品名规格","单位","单价"}
    If e.NewValue Is Nothing Then
        For Each nm As String In nms
            e.DataRow(nm) = Nothing
        Next
    Else
        Dim dr As DataRow
       
        dr = DataTables("供应产品").Find("[物料编号] = \'" & e.NewValue & "\' and 供货单位 = \'" & dr("供货单位")   & "\'")
        If dr IsNot Nothing
            For Each nm As String In nms
                e.DataRow(nm) = dr(nm)
            Next
        End If
    End If
End If

以上代码是当前表里面的“物料编号”发生变化后,引用“供应产品”表里面的“品名规格,单位,单价”三列,但是一种物料编号有很多个供货单位,单价都不一样,所以需要只引用当前“供应单位”相同的“品名规格,单位,单价”,求老师代码修改。谢谢


--  作者:有点蓝
--  发布时间:2016/12/7 10:07:00
--  
dr = DataTables("供应产品").Find("[物料编号] = \'" & e.NewValue & "\' and 供货单位 = \'" & e.DataRow("供应单位")   & "\'")
--  作者:longyanlin
--  发布时间:2016/12/7 12:04:00
--  

谢谢


--  作者:dzz9826
--  发布时间:2016/12/7 14:21:00
--  
如果出现一码多品如何处理?谢谢
--  作者:有点蓝
--  发布时间:2016/12/7 14:30:00
--  
没看懂,请详细说明