以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]自动输入问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=122207)

--  作者:新手xyongz
--  发布时间:2018/7/20 17:23:00
--  [求助]自动输入问题
我通过表事件已实现【订单】表输入产品编码,自动调用【产品】表的品名,规格,数量的自动输入。
【产品】表和【供货商】表通过供货商编号关联。
如何能用事件实现【订单】表输入产品编码时将对应的【供货商】表的公司名,联系电话等信息,跟产品信息一起自动输入?

请老师帮忙解答一下,谢谢。

--  作者:有点甜
--  发布时间:2018/7/20 17:53:00
--  

查找到产品表数据之后,不是可以获取到【供货商编号】?

 

根据供货商编号,再查找供货商的数据,不就可以了?


--  作者:新手xyongz
--  发布时间:2018/7/20 18:16:00
--  
就是不会写这段代码,想请老师指点一下怎么写??
--  作者:有点蓝
--  发布时间:2018/7/20 19:58:00
--  
你是如何“自动调用【产品】表”的,用法一样咯。


--  作者:新手xyongz
--  发布时间:2018/7/20 20:38: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

这个是单独按产品编号调用产品表,产品表有供货商编码这个列,关联的供货商表,那我加两行语句就可以吗?
e.DataRow("公司名") = dr("公司名")
 e.DataRow("联系电话") = dr("联系电话")
    

前面不用加什么关于供货商表的语句么???
[此贴子已经被作者于2018/7/20 20:38:25编辑过]

--  作者:有点蓝
--  发布时间:2018/7/20 20:51: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("单价")
            Dim d2 As DataRow = DataTables("供货商表").Find("[供货商编码] = \'" & dr("供货商编码") & "\'")
            If d2 IsNot Nothing
                e.DataRow("公司名") = d2("公司名")
            End If
        End If
    End If
End If