Foxtable(狐表)用户栏目专家坐堂 → 怎么做 一个带判断的计算啊???


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

主题:怎么做 一个带判断的计算啊???

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


加好友 发短信
等级:幼狐 帖子:101 积分:749 威望:0 精华:0 注册:2014/3/16 8:46:00
怎么做 一个带判断的计算啊???  发帖心情 Post By:2014/5/30 23:49:00 [只看该作者]

Dim c As DataCol = DataTables("财务科相关").DataCols("实收工资")
Dim d As DataCol = DataTables("财务科相关").DataCols("应收提成")
    Dim a As String = c.name
    Dim b As String = d.name
For Each dr As DataRow In DataTables("财务科相关").DataRows
    If dr("是否会员") = True Then
        If dr("a") <= 39 Then
           dr("b") = 0
        ElseIf dr("a") > 39 And dr("a") <= 59 Then
           dr("b") = dr("a") * 0.05
        ElseIf dr("a") > 59 And dr("a") <= 99 Then
           dr("b") = 3 + (dr("a") - 60) * 0.1
        ElseIf dr("a") > 99 Then
           dr("b") = 7 + (dr("a") - 100) * 0.2
        End If
    Else
        If dr("a") <= 39 Then
           dr("b") = 0
        ElseIf dr("a") > 39 And dr("a") <= 59 Then
           dr("b") = dr("a") * 0.1
        ElseIf dr("a") > 59 And dr("a") <= 99 Then
           dr("b") = 6 + (dr("a") - 60) * 0.15
        ElseIf dr("a") > 99 Then
           dr("b") = 12 + (dr("a") - 100) * 0.2
        End If
    End If
Next

我写的相关代码如上,附图如下,请大师帮忙!!!!


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

[此贴子已经被作者于2014-5-31 12:57:08编辑过]

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


加好友 发短信
等级:幼狐 帖子:101 积分:749 威望:0 精华:0 注册:2014/3/16 8:46:00
  发帖心情 Post By:2014/5/31 8:47:00 [只看该作者]

前辈们,帮帮忙啊,初学者,好多不懂!!

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


加好友 发短信
等级:幼狐 帖子:197 积分:1733 威望:0 精华:0 注册:2012/2/6 12:55:00
  发帖心情 Post By:2014/5/31 16:45:00 [只看该作者]

你想问什么?你自己写的代码不对?还是想建一个表达式列,自动计算?

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


加好友 发短信
等级:幼狐 帖子:101 积分:749 威望:0 精华:0 注册:2014/3/16 8:46:00
  发帖心情 Post By:2014/6/1 0:39:00 [只看该作者]

一个带判断的表达式
 If dr("a") <= 39 Then
           dr("b") = 0
        ElseIf dr("a") > 39 And dr("a") <= 59 Then
           dr("b") = dr("a") * 0.05
        ElseIf dr("a") > 59 And dr("a") <= 99 Then
           dr("b") = 3 + (dr("a") - 60) * 0.1
        ElseIf dr("a") > 99 Then
           dr("b") = 7 + (dr("a") - 100) * 0.2
        End If
重要的是对输入的值进行判断

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


加好友 发短信
等级:二尾狐 帖子:509 积分:3547 威望:0 精华:3 注册:2012/11/13 15:49:00
  发帖心情 Post By:2014/6/2 1:58:00 [只看该作者]

 If dr(a) <= 39 Then
           dr(b) = 0
        ElseIf dr(a) > 39 And dr(a) <= 59 Then
           dr(b) = dr(a) * 0.05
        ElseIf dr(a) > 59 And dr(a) <= 99 Then
           dr(b) = 3 + (dr(a) - 60) * 0.1
        ElseIf dr(a) > 99 Then
           dr(b) = 7 + (dr(a) - 100) * 0.2
        End If

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


加好友 发短信
等级:狐神 帖子:4759 积分:34603 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2014/6/2 8:26:00 [只看该作者]

我更喜欢用:Select Case

Select Case dr(a)
    Case
is < 39
        
dr(b) = 0
   
Case 40 To 59
       
 dr(b) = dr(a) * 0.05
   
Case 60 To 99
        
dr(b) = 3 + (dr(a) - 60) * 0.1
   
Case is > 99
        
 dr(b) = 7 + (dr(a) - 100) * 0.2

End Select


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


加好友 发短信
等级:幼狐 帖子:101 积分:749 威望:0 精华:0 注册:2014/3/16 8:46:00
  发帖心情 Post By:2014/6/3 19:27:00 [只看该作者]

谢谢各位,我看帮助上面的,列不是要加双引吗?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/6/3 19:33:00 [只看该作者]

以下是引用洗衣粉在2014-6-3 19:27:00的发言:
谢谢各位,我看帮助上面的,列不是要加双引吗?

 

如果是直接写列名,就要加双引号,如果是引用一个变量,就不需要加双引号。


 回到顶部