以文本方式查看主题

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

--  作者:liuandwang
--  发布时间:2018/9/28 11:23:00
--  引用
各位老师:
如果在副表中“调整产品名称”列有文字,则副表中“产品名称”列引用“调整产品名称”列中的文字,
否则副表中“产品名称”列引用主表“产品名称”列中的文字。
求代码,谢谢。

--  作者:有点甜
--  发布时间:2018/9/28 11:39:00
--  

参考代码,具体问题,做个实例发上来测试

 

Dim fdr As DataRow = Datatables("表A").find("")

If fdr IsNot Nothing Then

    If fdr("调整产品名称") = nothing then

        msgbox(fdr("产品名称")) 

    Else

        msgbox(fdr("调整产品名称")) 

    End If

End If


--  作者:liuandwang
--  发布时间:2018/9/28 12:32:00
--  
我改了一下代码,还是不行,我的目的就是:如果“调整产品名称“列有字,产品名称=调整产品名称,如果没有字“产品名称”则调用主表中“产品名称”
甜老师再麻烦给改一下,十分感谢。

Dim fdr As DataRow 
fdr= DataTables("订单主表").Find("产品名称 = \'" & e.DataRow("产品名称") & "\'" )
If fdr IsNot Nothing Then
    If fdr("调整产品名称") = Nothing Then
       e.DataRow("产品名称")= fdr("产品名称") 
    Else
       e.DataRow("产品名称")= fdr("调整产品名称") 
    End If
End If

--  作者:有点甜
--  发布时间:2018/9/28 12:36:00
--  

上传具体项目测试。

[此贴子已经被作者于2018/9/28 12:37:32编辑过]

--  作者:liuandwang
--  发布时间:2018/9/28 13:49:00
--  
上传
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


--  作者:有点甜
--  发布时间:2018/9/28 14:45:00
--  

Select Case e.DataCol.name
    Case "订单编号"
        Dim fdr As DataRow
        fdr=e.DataTable.Find("订单编号 = \'" & e.DataRow("订单编号") & "\' and 调整产品名称 is not null" )
        If fdr IsNot Nothing Then
            e.DataRow("产品名称")= fdr("调整产品名称")
        Else
            fdr= DataTables("订单主表").Find("订单编号 = \'" & e.DataRow("订单编号") & "\'" )
            If fdr IsNot Nothing Then
                e.DataRow("产品名称")= fdr("产品名称")
            End If
        End If
End Select