Foxtable(狐表)用户栏目专家坐堂 → 请问这个多条件判断的代码该如何写?


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

主题:请问这个多条件判断的代码该如何写?

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


加好友 发短信
等级:幼狐 帖子:142 积分:1000 威望:0 精华:0 注册:2014/2/20 13:25:00
请问这个多条件判断的代码该如何写?  发帖心情 Post By:2014/4/13 21:02:00 [只看该作者]

请大神帮助
如我有一表,含有A,B,C,D,E,F(逻辑判断列)四列
如果:A不为空,则E=及格
A,B都不为空,则E=中
A,B,C都不为空,则E=良
A,B,C,D不为空,则E=优,且F(打勾)
谢谢

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


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

http://www.foxtable.com/help/topics/0102.htm
看这里的“IIF”
(泛提泛答)
[此贴子已经被作者于2014-4-13 21:08:47编辑过]

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


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

编写datacolchanged事件

 

Select Case e.DataCol.name
    Case "A", "B", "C", "D"
        If e.DataRow.isnull("A") = False Then
            If e.DataRow.isnull("B") = False Then
                If e.DataRow.isnull("C") = False Then
                    If e.DataRow.isnull("D") = False Then
                        e.DataRow("E") = "优"
                        e.DataRow("F") = True
                    Else
                        e.DataRow("E") = "良"
                    End If
                Else
                    e.DataRow("E") = "中"
                End If
            Else
                e.DataRow("E") = "及格"
            End If
        Else
            e.DataRow("E") = Nothing
        End If
End Select

[此贴子已经被作者于2014-4-13 21:16:53编辑过]

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


加好友 发短信
等级:幼狐 帖子:142 积分:1000 威望:0 精华:0 注册:2014/2/20 13:25:00
  发帖心情 Post By:2014/4/13 21:18:00 [只看该作者]

感谢,感谢,我试试先

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


加好友 发短信
等级:幼狐 帖子:142 积分:1000 威望:0 精华:0 注册:2014/2/20 13:25:00
  发帖心情 Post By:2014/4/13 21:20:00 [只看该作者]

谢谢,是得系统地学习一下

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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/4/14 8:13:00 [只看该作者]

Select e.DataCol.Name
    Case "A","B","C","D"
        Dim s1() As String = {"优","良","中","及格"}
        Dim s2() As String = {"D","C","B","A"}
        For i As Integer = 0 To s1.Length - 1
            If e.DataRow.IsNull(s2(i)) = False Then
                e.DataRow("E") = s1(i)
                Exit For
            End If
        Next
        If e.DataRow.IsNull(s2(0)) = False Then
            e.DataRow("F") = True
        End If
End Select

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


加好友 发短信
等级:幼狐 帖子:142 积分:1000 威望:0 精华:0 注册:2014/2/20 13:25:00
  发帖心情 Post By:2014/5/22 10:31:00 [只看该作者]

专家您好,已经按照您的提示进行了代码编辑,但还是无法“E”列也就是实例中“钢瓶状态”的变化,请问有什么别的原因吗?谢谢上例子
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:boc库存及订单管理项目.zip


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


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

 哪张表,哪个事件,什么问题?

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


加好友 发短信
等级:幼狐 帖子:142 积分:1000 威望:0 精华:0 注册:2014/2/20 13:25:00
  发帖心情 Post By:2014/5/22 10:42:00 [只看该作者]

不好意思专家,是入库明细表, datacolchanged事件
举例:“采购入库日期”不为空时,“钢瓶状态” = “采购入库”;“销售出库日期”不为空时,"钢瓶状态" = “销售出库”
就是钢瓶状态的变化是因为事件触发而引起的,事件就是“采购入库”的时间和“销售出库”的时间空与否
 
陈述完毕,谢谢

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


加好友 发短信
等级:幼狐 帖子:142 积分:1000 威望:0 精华:0 注册:2014/2/20 13:25:00
  发帖心情 Post By:2014/5/22 10:43:00 [只看该作者]

但现在采购时间有了,状态是有变化,但销售时间赋值后状态没有相应地变化为“销售出库”

 回到顶部
总数 37 1 2 3 4 下一页