Foxtable(狐表)用户栏目专家坐堂 → [求助]自动赋值的问题


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

主题:[求助]自动赋值的问题

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


加好友 发短信
等级:婴狐 帖子:12 积分:151 威望:0 精华:0 注册:2013/6/4 22:19:00
[求助]自动赋值的问题  发帖心情 Post By:2013/6/7 20:41:00 [只看该作者]

如果第一列的值等于sc则第二列的值为0.05
如果第一列的值为ssc则第二列的值也为0.05
如果第一列的值等于c则第二列的值为0
如果第一列的值等于sc则第二列的值也为0

请问这个要用代码怎么写呢?如果表达式可以用也可以用表达式!!
菜鸟求助!

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

[此贴子已经被作者于2013-6-7 22:00:36编辑过]

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


加好友 发短信
等级:婴狐 帖子:12 积分:151 威望:0 精华:0 注册:2013/6/4 22:19:00
  发帖心情 Post By:2013/6/7 21:57:00 [只看该作者]

If e.DataCol.name ="第一列" Then
    If e.DataRow("第一列")= "sc" Then
        e.DataRow("第二列")=0.05
    Else
        If e.DataRow("第一列")= "ssc" Then
            e.DataRow("第二列")=0.05
        Else
            If e.DataRow("第一列")= "c" Then
                e.DataRow("第二列")=0
            Else
                If e.DataRow("第一列")= "scd" Then
                    e.DataRow("第二列")=0
                End If
            End If
        End If
    End If
End If


自己试着这样写是出来了!但是觉得代码还是不够精炼!望高手指点一二!
[此贴子已经被作者于2013-6-7 21:57:56编辑过]

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


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

试试表达式
IIF([第一列]='sc' or [第一列]='ssc',0.05,IIF([第一列]='c' or [第一列]='scd',0,''))
[此贴子已经被作者于2013-6-7 22:24:51编辑过]

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/6/8 11:30:00 [只看该作者]

用表达式最好.

 

另外你二楼的代码,如果用Select Case语句,会简洁很多:

http://www.foxtable.com/help/topics/0224.htm

 

If e.DataCol.Name = "第一列"

    Select Case e.Datarow("第一列")

        case "a"

               e.datarow(“第二列")  = 0.1

        case "g"

               e.datarow(“第二列")  = 0.2

        case "f"

               e.datarow(“第二列")  = 0.5

        case "=ua"

               e.datarow(“第二列")  = 0.9

        case "ff"

               e.datarow(“第二列")  = 0.11

     end Select

End IF


 回到顶部