以文本方式查看主题

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

--  作者:gylaila
--  发布时间:2012/6/25 14:44:00
--  跨表引用

如果产品表和订单表是通过品名、型号、规格这三列联系起来的(不管是否建立了关联),在订单表输入品名、型号、规格后,再从产品表找出对应产品的单价,填入单价列中,那么订单表的DataColChanged事件可如下设置代码:
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

我觉得这个非常好用,我是在编辑“合同清单”,引用“报价明细”里面的数据,但有个问题,我在报价明细里面,同一个产品代码在不同的报价单中有不同的价格,能否再加一个比较条件,比较同一个报价单号,然后再提取“名称”“型号”“厂家”“单价”,本人编程基础较弱,谢谢帮助。


--  作者:狐狸爸爸
--  发布时间:2012/6/25 15:01:00
--  

如果有多行需要选择,你可以看看:

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

 


--  作者:gylaila
--  发布时间:2012/6/25 20:58:00
--  

图片点击可在新窗口打开查看非常感谢,问题解决了