Foxtable(狐表)用户栏目专家坐堂 → 计算代码问题


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

主题:计算代码问题

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


加好友 发短信
等级:二尾狐 帖子:503 积分:4002 威望:0 精华:0 注册:2016/6/7 7:45:00
计算代码问题  发帖心情 Post By:2016/7/8 10:43:00 [只看该作者]

Dim Ar As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "合同进价","标价","扣率","补差单价"
        If Ar.IsNull("合同进价") OrElse Ar.IsNull("标价")  OrElse Ar.IsNull("扣率")  Then
            Ar("补差单价") = Nothing
        Else
            Ar("补差单价") = Ar("合同进价") -Ar("标价") * Ar("扣率")
            
        End If
End Select


这段代码我用来求补差单价。代码没问题,但我想,计算出来的结果,有的需要人为改动。我在补差单价列输入改动的值后,还是变成代码计算的值。哪位大师能帮帮忙。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/8 10:51:00 [只看该作者]

Dim Ar As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "合同进价","标价","扣率"
        If Ar.IsNull("合同进价") OrElse Ar.IsNull("标价")  OrElse Ar.IsNull("扣率")  Then
            Ar("补差单价") = Nothing
        Else
            Ar("补差单价") = Ar("合同进价") -Ar("标价") * Ar("扣率")
            
        End If
End Select

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


加好友 发短信
等级:二尾狐 帖子:503 积分:4002 威望:0 精华:0 注册:2016/6/7 7:45:00
  发帖心情 Post By:2016/7/8 11:05:00 [只看该作者]

谢谢大红袍老师。

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


加好友 发短信
等级:二尾狐 帖子:503 积分:4002 威望:0 精华:0 注册:2016/6/7 7:45:00
  发帖心情 Post By:2016/7/8 11:10:00 [只看该作者]

大红袍老师,代码怎么改,能实现:一是补差单价实现四舍五入到小数点后两位。二是补差单价负值的自动成零。谢谢大红袍老师。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/8 11:18:00 [只看该作者]

dim n As Double = Ar("合同进价") -Ar("标价") * Ar("扣率")

Ar("补差单价") = iif(n < 0, 0, Format(n, "0.00"))


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


加好友 发短信
等级:二尾狐 帖子:503 积分:4002 威望:0 精华:0 注册:2016/6/7 7:45:00
  发帖心情 Post By:2016/7/8 12:12:00 [只看该作者]

谢谢大红袍老师,辛苦了。

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


加好友 发短信
等级:二尾狐 帖子:503 积分:4002 威望:0 精华:0 注册:2016/6/7 7:45:00
  发帖心情 Post By:2016/7/8 12:18:00 [只看该作者]

'以下代码计算补差单价
Dim Ar As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "合同进价","标价","扣率"
        If Ar.IsNull("合同进价") OrElse Ar.IsNull("标价")  OrElse Ar.IsNull("扣率")  Then
            Ar("补差单价") = Nothing
        Else
            Ar("补差单价") = Ar("合同进价") -Ar("标价") * Ar("扣率")
            
        End If
End Select

'以下代码,如果补差单价为负则为零,并小数点后3位
Dim n As Double = Ar("合同进价") -Ar("标价") * Ar("扣率")
Ar("补差单价") = iif(n < 0, 0, Format(n, "0.000"))




大红袍老师,我的代码改完是这样。但补差单价又变成只能计算,而不能人为改动了。怎么办呢。

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/8 12:20:00 [只看该作者]

Dim Ar As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "合同进价","标价","扣率"
        If Ar.IsNull("合同进价") OrElse Ar.IsNull("标价")  OrElse Ar.IsNull("扣率")  Then
            Ar("补差单价") = Nothing
        Else
Dim n As Double = Ar("合同进价") -Ar("标价") * Ar("扣率")
Ar("补差单价") = iif(n < 0, 0, Format(n, "0.000"))
        End If
End Select
 

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


加好友 发短信
等级:二尾狐 帖子:503 积分:4002 威望:0 精华:0 注册:2016/6/7 7:45:00
  发帖心情 Post By:2016/7/8 12:24:00 [只看该作者]

谢谢大红袍老师。

 回到顶部