Foxtable(狐表)用户栏目专家坐堂 → [求助]跨表引用数据计算并且进行逻辑判断怎么设置


  共有3518人关注过本帖平板打印复制链接

主题:[求助]跨表引用数据计算并且进行逻辑判断怎么设置

美女呀,离线,留言给我吧!
Ajing2003
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:21 积分:217 威望:0 精华:0 注册:2017/6/7 18:04:00
[求助]跨表引用数据计算并且进行逻辑判断怎么设置  发帖心情 Post By:2018/4/2 17:03:00 [只看该作者]

请教一下,体积和重量两列比选大的数据填入计费吨,然后后三列的数据计算是以计费吨为基数乘以另一张表对应的参数值,而且这三列只能选择一列显示数据,请高手给改下代码吧,现在后面三列不计算。
Select Case e.DataCol.name
    
    Case "体积m3","重量t"
        If e.DataRow.Isnull("体积m3") = True AndAlso e.DataRow("重量t") = True Then
            e.DataRow("计费吨") = Nothing  '2个要比较的列都为空,则接受列为空
        Else
            If e.DataRow("体积m3") >= e.DataRow("重量t") Then
                e.DataRow("计费吨") = e.DataRow("体积m3")
            Else
                e.DataRow("计费吨") = e.DataRow("重量t")
            End If
            
        End If
        
    Case "计费吨"
        If e.NewValue IsNot Nothing Then
            Dim nms() As String = {"国内费用_港杂费_散装","国内费用_港杂费_集装箱20GP","国内费用_港杂费_集装箱40GP"}
            For Each nm As String In nms
                If nm <> e.DataCol.Name Then
                    e.DataRow(nm) = Nothing
                End If
            Next
            Dim dr As DataRow = DataTables("调遣费参数表").find("参数名 = '国内港杂费 散装'")  '一般是要查找具体的参数所在行
            If dr IsNot Nothing Then
                e.DataRow("国内费用_港杂费_散装") = e.DataRow("计费吨") * dr("值")
            End If
            
            
            Dim ar As DataRow = DataTables("调遣费参数表").find("参数名 = '国内港杂费 集装箱(20GP)'")  '一般是要查找具体的参数所在行
            If ar IsNot Nothing Then
                e.DataRow("国内费用_港杂费_集装箱20GP") = e.DataRow("计费吨") * ar("值")
            End If
            
            Dim cr As DataRow = DataTables("调遣费参数表").find("参数名 = '国内港杂费 集装箱(40GP)'")  '一般是要查找具体的参数所在行
            If cr IsNot Nothing Then
                e.DataRow("国内费用_港杂费_集装箱40GP") = e.DataRow("计费吨") * cr("值")
            End If
        End If
End Select

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:123.xls


 回到顶部
总数 16 1 2 下一页