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


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

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

帅哥哟,离线,有人找我吗?
有点甜
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/2 17:24:00 [显示全部帖子]

测试了一下,代码逻辑没有问题。

 

如果不触发,应该是你【计费吨】是表达式列导致的吧? 表达式列不会触发datacolchanged事件

 

http://www.foxtable.com/webhelp/scr/2381.htm

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/2 17:57:00 [显示全部帖子]

1、加入msgbox,看能否进入执行了你后面的代码;

 

2、我测试没问题,如果你的有问题,上传具体foxtable项目测试。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/4 10:36:00 [显示全部帖子]

请上传foxtable项目测试,不要上传excel表格。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/4 12:01: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 "计费吨", "国内费用_港杂费_卸车费"
        Dim dr As DataRow= DataTables("调遣费参数表").Find("参数名 = '国内费用_港杂费_卸车费'")
        If dr IsNot Nothing Then '如果找到了同名的产品行,也就是dr不是Nothing
            e.DataRow("国内费用_港杂费_卸车费") = e.DataRow ("计费吨") * dr("值")
        End If
End Select


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/4 14:28:00 [显示全部帖子]

以下是引用Ajing2003在2018/4/4 14:21:00的发言:
请问老师,我现在这些数据如果是有一个有变动的话并不会立即显示出来,再继续改的时候之前一步的才会出结果,这要怎么改

 

看10楼代码,修改任意列【体积m3、重量t、计费吨】,都可以计算。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/4 18:20:00 [显示全部帖子]

请看懂10楼代码,测试10楼代码能否正常实现功能?

 

如果可以实现功能,其余列也是这样处理。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/4 23:08:00 [显示全部帖子]

红色代码任意修改,即可啊。

 

Select Case e.DataCol.name    
    Case "集装箱数量"

End Select


 回到顶部