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


  共有3553人关注过本帖树形打印复制链接

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

美女呀,离线,留言给我吧!
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


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


加好友 发短信
等级:婴狐 帖子:21 积分:217 威望:0 精华:0 注册:2017/6/7 18:04:00
  发帖心情 Post By:2018/4/2 17:41:00 [显示全部帖子]

计费吨是双精度小数,我在想是不是因为这三列只出来列的数值无法判断啊,这样是不是要做个下接列表三选一,然后根据选中的方式计算费用啊,如果是这样的话,要怎么改呢

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


加好友 发短信
等级:婴狐 帖子:21 积分:217 威望:0 精华:0 注册:2017/6/7 18:04:00
  发帖心情 Post By:2018/4/4 10:11:00 [显示全部帖子]

[此贴子已经被作者于2018/4/4 10:38:42编辑过]

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


加好友 发短信
等级:婴狐 帖子:21 积分:217 威望:0 精华:0 注册:2017/6/7 18:04:00
  发帖心情 Post By:2018/4/4 10:38:00 [显示全部帖子]

已上传,麻烦老师看下

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


加好友 发短信
等级:婴狐 帖子:21 积分:217 威望:0 精华:0 注册:2017/6/7 18:04:00
  发帖心情 Post By:2018/4/4 10:38:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:机械费计算.foxdb


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


加好友 发短信
等级:婴狐 帖子:21 积分:217 威望:0 精华:0 注册:2017/6/7 18:04:00
  发帖心情 Post By:2018/4/4 11:29:00 [显示全部帖子]

已上传,麻烦老师看下

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


加好友 发短信
等级:婴狐 帖子:21 积分:217 威望:0 精华:0 注册:2017/6/7 18:04:00
  发帖心情 Post By:2018/4/4 14:21:00 [显示全部帖子]

请问老师,我现在这些数据如果是有一个有变动的话并不会立即显示出来,再继续改的时候之前一步的才会出结果,这要怎么改

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


加好友 发短信
等级:婴狐 帖子:21 积分:217 威望:0 精华:0 注册:2017/6/7 18:04:00
  发帖心情 Post By:2018/4/4 17:19:00 [显示全部帖子]

老师,因为表格列比较多,您看我的代码有没有可能合并一些一起用代码显示呢,我改了几次了,把系数列从第一张表取消后,集装箱数量为零可以自动计算费用,但是选项为集装箱时费用就不计算了,不知能否解决?

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


加好友 发短信
等级:婴狐 帖子:21 积分:217 威望:0 精华:0 注册:2017/6/7 18:04:00
  发帖心情 Post By:2018/4/4 21:49:00 [显示全部帖子]

老师,如果选择集装箱的话是用集装箱数量乘以参数表的数字,与计费吨无关的,所以要改下

 回到顶部