以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  多值字段如何引用  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=83884)

--  作者:sammyjg
--  发布时间:2016/4/19 10:39:00
--  多值字段如何引用
我产品表中供应商这一列是用“|”隔开的,一个产品可能会有几个供应商也可能只有一个,里面填的都是供应商编号。
然后我有另外一张表,里面是记录所有供应商的详细资料的。

现在有个订单表,
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:订单处理测试.rar

能根据产品编号把这个产品的一些资料的供应商编号引用出来,但同时怎么在多值字段中再把我的供应商的联系方式之类的详细资料引用出来呢?
[此贴子已经被作者于2016/4/19 12:08:01编辑过]

--  作者:大红袍
--  发布时间:2016/4/19 11:05:00
--  
 最简单的方法:供应商表,加一列表达式列,把 编号、联系方式之类的合并成一列,直接引用此列作为多值字段。
--  作者:大红袍
--  发布时间:2016/4/19 11:06:00
--  
方法二:联系方式之类的,你要引用到哪里?上传具体实例说明。
--  作者:sammyjg
--  发布时间:2016/4/19 11:55:00
--  
实例上传。
里面“产品”和“供应商”都已经是已经录入完成的表格了。
然后“订单”里面,头4列是通过每次的订单直接导入的,导入后想根据"UPC"列直接引用“供应商编号”,然后用”供应商编号“引用“供应商地址”之类的
由于“产品”表里“供应商编号”是多值字段,目前不知改怎么去解决这个问题。

--  作者:大红袍
--  发布时间:2016/4/19 11:57:00
--  
 请正确上传foxtable实例。
--  作者:sammyjg
--  发布时间:2016/4/19 11:57:00
--  
我这写着上传成功呀,咋没看到有附件。。


--  作者:sammyjg
--  发布时间:2016/4/19 12:09:00
--  
原来要传RAR,现在已经上传到了
--  作者:大红袍
--  发布时间:2016/4/19 12:19:00
--  

DataColChanged事件,写入代码

 

Select Case e.DataCol.name
    Case "UPC"
        Dim fdr As DataRow = DataTables("产品").Find("UPC = \'" & e.DataRow("UPC") & "\'")
        If fdr Is Nothing Then
            e.DataRow("供应商编号") = Nothing
        Else
            e.DataRow("供应商编号") = fdr("供应商编号")
        End If
    Case "供应商编号"
        Dim mc As String = ""
        Dim dz As String = ""
        If e.NewValue > "" Then
            For Each bh As String In e.newvalue.split("|")
                Dim fdr As DataRow = DataTables("供应商").Find("供应商编号 = \'" & bh & "\'")
                If fdr Is Nothing Then
                    mc &= "|"
                Else
                    mc &= fdr("供应商名称") & "|"
                    dz &= fdr("供应商地址") & "|"
                End If
            Next
        End If
        e.DataRow("供应商名称") = mc.trim("|")
        e.DataRow("供应商地址") = dz.Trim("|")
End Select