Foxtable(狐表)用户栏目专家坐堂 → 三个条件只要满足一个的表达问题


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

主题:三个条件只要满足一个的表达问题

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


加好友 发短信
等级:童狐 帖子:299 积分:2563 威望:0 精华:0 注册:2018/2/3 10:48:00
三个条件只要满足一个的表达问题  发帖心情 Post By:2020/10/11 19:19:00 [只看该作者]

以下两段代码,我感觉应当是一样的,为什么实际是不同的结果呢?感觉是三个条件只要满足一个就删除这行,为什么要先看一下第一个条件的结果呢?



For Each dr As DataRow In DataTables("供应商付款收piao").Select("")
    Dim r As DataRow
    r = DataTables("采购合同").Find("客户编号 = '" & dr("客户编号") & "'" )
    If r IsNot Nothing Then
        If Round2(dr("fa piao应付款金额(元)"),2) = 0.00 AndAlso Round2(dr("合同应付款金额(元)"),2) = 0.00 Then 
            dr.Delete()
        End If
    Else If Round2(dr("fa piao应付款金额(元)"),2) = 0.00 Then
        dr.Delete()
    End If
Next


For Each dr As DataRow In DataTables("供应商付款收piao").Select("")
    Dim r As DataRow
    r = DataTables("采购合同").Find("客户编号 = '" & dr("客户编号") & "'" )
    If r IsNot Nothing  AndAlso  Round2(dr("fa piao应付款金额(元)"),2) = 0.00 AndAlso Round2(dr("合同应付款金额(元)"),2) = 0.00 Then 
            dr.Delete()
    Else If Round2(dr("fa piao应付款金额(元)"),2) = 0.00 Then
        dr.Delete()
    End If
Next


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


加好友 发短信
等级:超级版主 帖子:106207 积分:540158 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/10/11 21:14:00 [只看该作者]

不一样的,第一段代码只要【If r IsNot Nothing Then】不成立就执行Else If;第二段代码要3个条件同时不成立才能执行Else If

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


加好友 发短信
等级:童狐 帖子:299 积分:2563 威望:0 精华:0 注册:2018/2/3 10:48:00
  发帖心情 Post By:2020/10/11 21:27:00 [只看该作者]

想明白了。不过好象不是蓝老师说的,第二段应当是3个条件有一个不成立就执行else if 了

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


加好友 发短信
等级:超级版主 帖子:106207 积分:540158 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/10/11 21:48:00 [只看该作者]

嗯,是的,其中一个不成立就执行

 回到顶部