Foxtable(狐表)用户栏目专家坐堂 → 请教满足两个条件的代码?


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

主题:请教满足两个条件的代码?

美女呀,离线,留言给我吧!
yuemiao816
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:54 积分:523 威望:0 精华:0 注册:2010/1/21 20:36:00
请教满足两个条件的代码?  发帖心情 Post By:2011/1/24 10:29:00 [只看该作者]

If e.DataCol.name = "第六列" Then
Select Case e.DataRow("第六列")
Case e.DataRow("第四列") <= 3 And e.DataRow("第五列") >= 10
     e.DataRow("第六列") = "可以休假"

Case Else
            e.DataRow("第六列") = "不可以"

    End Select
End If

 

我想写一个代码,如果第四列的数字小于等于3,第五列的数字大于等于10,那么第六列就显示可以休假,否则显示不可以。我照猫画虎的编了个很白的代码,结果是一点反应没有,请各位狐朋们帮我改改啊~


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


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

呵呵,你还没有掌握Select Case,这个语句是判断某个值,建议你回头再看一下编程基础,掌握一下常用的语法。

这个应该用If

 

If e.DataCol.name = "第六列" Then
    if  e.DataRow("第四列") <= 3 And e.DataRow("第五列") >= 10
         e.DataRow("第六列") = "可以休假"

    Else
         e.DataRow("第六列") = "不可以"

    End If

End If

[此贴子已经被作者于2011-1-24 10:41:07编辑过]

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


加好友 发短信
等级:婴狐 帖子:54 积分:523 威望:0 精华:0 注册:2010/1/21 20:36:00
  发帖心情 Post By:2011/1/24 10:44:00 [只看该作者]

谢谢!开始我也心思了半天IF,但是因为没搞清这两个的差别,所以还是用SELECT写了,难怪没反应~~图片点击可在新窗口打开查看

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


加好友 发短信
等级:婴狐 帖子:54 积分:523 威望:0 精华:0 注册:2010/1/21 20:36:00
  发帖心情 Post By:2011/1/24 10:48:00 [只看该作者]

不过我照着上面的代码写了,然后我在第四列和第五列里分别填上数字,但是没反应,我在第六列里乱写个数字什么的,第六列才根据前面四五列的条件出现文字~这是怎么回事呢?

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2011/1/24 10:53:00 [只看该作者]

If e.DataCol.name = "第六列" Then

 

上面代码的意思是,如果变动的是第六列才运行代码


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


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

呵呵,因为你设置的代码,只有第六列发生变化才会执行,实际上你的代码应该这样写:

 

Select Case e.DataCol.name 

    Case "第四列", "第五列"

        if  e.DataRow("第四列") <= 3 And e.DataRow("第五列") >= 10
             e.DataRow("第六列") = "可以休假"

        Else
             e.DataRow("第六列") = "不可以"

        End If

End Select


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


加好友 发短信
等级:婴狐 帖子:54 积分:523 威望:0 精华:0 注册:2010/1/21 20:36:00
  发帖心情 Post By:2011/1/24 10:57:00 [只看该作者]

哈哈~谢谢各位大侠!今天又学了不少~

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/1/24 14:54:00 [只看该作者]

If e.DataCol.name = "第六列" Then

 

Select Case e.DataCol.name 

    Case "第六列"

 

道理一样的.


 回到顶部