以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教关于逻辑列跨表填充是转换成金额。  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=79298)

--  作者:jamhuton
--  发布时间:2015/12/28 16:46:00
--  请教关于逻辑列跨表填充是转换成金额。
比如表A有一个逻辑列,填充到表B的时候,打勾的列转换成200填入
--  作者:大红袍
--  发布时间:2015/12/28 16:50:00
--  
你原本的代码怎么写的?
--  作者:jamhuton
--  发布时间:2015/12/29 9:53:00
--  
If e.DataCol.Name = "发票号码" Then
    If e.NewValue Is Nothing Then
        e.DataRow("查验费") = Nothing
    Else
        Dim dr As Boolean
        dr = DataTables("进口业务进度表").Find("[发票号码] = \'" & e.NewValue & "\'")
        If dr =True
            e.DataRow("查验费") = 200
        End If
    End If
End If


--  作者:大红袍
--  发布时间:2015/12/29 9:55:00
--  
If e.DataCol.Name = "发票号码" Then
    If e.NewValue Is Nothing Then
        e.DataRow("查验费") = Nothing
    Else
        Dim dr As DataRow
        dr = DataTables("进口业务进度表").Find("[发票号码] = \'" & e.NewValue & "\'")
        If dr("打勾") = True
            e.DataRow("查验费") = 200
        End If
    End If
End If

--  作者:jamhuton
--  发布时间:2015/12/29 10:04:00
--  
老师,这个引用表的代码,那么被引用表的表的代码需要吗?
Select Case e.DataCol.Name
    Case "查验"
        Dim Filter As String = "[发票号码] = \'" & e.DataRow("发票号码") & "\'"
        Dim drs As List(Of DataRow) = DataTables("账单明细").Select(Filter)
        For Each dr As DataRow In drs
            dr(e.DataCol.Name) = e.NewValue
        Next
End Select

--  作者:大红袍
--  发布时间:2015/12/29 10:06:00
--  
 不需要
--  作者:jamhuton
--  发布时间:2015/12/29 10:12:00
--  
If e.DataCol.Name = "发票号码" Then
    If e.NewValue Is Nothing Then
        e.DataRow("海关查验") = Nothing
        e.DataRow("商检查验") = Nothing
        e.DataRow("加急费") = Nothing
    Else
        Dim dr As DataRow
        dr = DataTables("进口业务进度表").Find("[发票号码] = \'" & e.NewValue & "\'")
        If dr("打勾") = True
            e.DataRow("海关查验") = 200
            e.DataRow("商检查验") = 200
            e.DataRow("加急费") = 200
        End If
    End If
End If

这个代吗有问题麽?


--  作者:jamhuton
--  发布时间:2015/12/29 10:14:00
--  
只要2个表的列名相同就可以这样数据转换?


--  作者:jamhuton
--  发布时间:2015/12/29 10:20:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

--  作者:jamhuton
--  发布时间:2015/12/29 10:25:00
--  
Select Case e.DataCol.Name
    Case "海关查验","商检查验","加急"
        Dim Filter As String = "[发票号码] = \'" & e.DataRow("发票号码") & "\'"
        Dim drs As List(Of DataRow) = DataTables("账单明细").Select(Filter)
        For Each dr As DataRow In drs
            dr(e.DataCol.Name) = e.NewValue
        Next
End Select

被引用表代码

If e.DataCol.Name = "发票号码" Then
    If e.NewValue Is Nothing Then
        e.DataRow("海关查验") = Nothing
        e.DataRow("商检查验") = Nothing
        e.DataRow("加急") = Nothing
    Else
        Dim dr As DataRow
        dr = DataTables("进口业务进度表").Find("[发票号码] = \'" & e.NewValue & "\'")
        If dr("打勾") = True
            e.DataRow("海关查验") = 200
            e.DataRow("商检查验") = 200
            e.DataRow("加急") = 200
        End If
    End If
End If

引用表代码



结果出来这样



图片点击可在新窗口打开查看此主题相关图片如下:3.png
图片点击可在新窗口打开查看