以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  代码不往下执行了.  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=47486)

--  作者:fox-man
--  发布时间:2014/3/11 12:14:00
--  代码不往下执行了.

If Tables("订单").Current.IsNull("数量") = 0  Then
    MessageBox.Show("数量不能为0!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    e.Cancel= True
Else  
    Ctype(ApplicationMenu.LeftItems("Save"), RibbonMenu.Button).PerformClick()
    Tables("订单").Current.Locked = True  
    For Each dr As Row In Tables("订单").Rows
        dr("审核") = 1
    Next   
End If

按钮事件,怎么数量不为0时还弹出提示,而不往下执行呢?


--  作者:狐狸爸爸
--  发布时间:2014/3/11 12:16:00
--  

Messagebox.show(Tables("订单").Current("数量"))

If Tables("订单").Current.IsNull("数量") = 0  Then
    MessageBox.Show("数量不能为0!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    e.Cancel= True
Else  
    Ctype(ApplicationMenu.LeftItems("Save"), RibbonMenu.Button).PerformClick()
    Tables("订单").Current.Locked = True  
    For Each dr As Row In Tables("订单").Rows
        dr("审核") = 1
    Next   
End If


--  作者:fox-man
--  发布时间:2014/3/11 12:23:00
--  
以下是引用狐狸爸爸在2014-3-11 12:16:00的发言:

Messagebox.show(Tables("订单").Current("数量"))

If Tables("订单").Current.IsNull("数量") = 0  Then
    MessageBox.Show("数量不能为0!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    e.Cancel= True
Else  
    Ctype(ApplicationMenu.LeftItems("Save"), RibbonMenu.Button).PerformClick()
    Tables("订单").Current.Locked = True  
    For Each dr As Row In Tables("订单").Rows
        dr("审核") = 1
    Next   
End If

 

 

不行啊,当数量大于0时,有两个提示,第一个提示的是数量..第二个提示还是数量不能为0   不往下执行.


如果数量大于0,那应该继续往下执行才是正确的.


--  作者:程兴刚
--  发布时间:2014/3/11 12:26:00
--  

If Tables("订单").Current isnot nothing

    If Tables("订单").Current("数量") = 0  Then
        MessageBox.Show("数量不能为0!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
        e.Cancel= True
    Else  
        Ctype(ApplicationMenu.LeftItems("Save"), RibbonMenu.Button).PerformClick()
        Tables("订单").Current.Locked = True  
        For Each dr As Row In Tables("订单").Rows
            dr("审核") = 1
        Next    
    End If

End If

 

注:您的这一句:If Tables("订单").Current.IsNull("数量") = 0  Then

      这里的0相当于逻辑值false,也就是您在判断当前行的数量列不为空时,则提示,和数量列是否为0没任何关系。


--  作者:狐狸爸爸
--  发布时间:2014/3/11 12:30:00
--  

老程说的对,应该:

 

If Tables("订单").Current.IsNull("数量")  orelse  Tables("订单").Current("数量") = 0 Then
    MessageBox.Show("数量不能为0!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    e.Cancel= True
Else  
    Ctype(ApplicationMenu.LeftItems("Save"), RibbonMenu.Button).PerformClick()
    Tables("订单").Current.Locked = True  
    For Each dr As Row In Tables("订单").Rows
        dr("审核") = 1
    Next   
End If


--  作者:fox-man
--  发布时间:2014/3/11 12:35:00
--  
以下是引用程兴刚在2014-3-11 12:26:00的发言:

If Tables("订单").Current isnot nothing

    If Tables("订单").Current("数量") = 0  Then
        MessageBox.Show("数量不能为0!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
        e.Cancel= True
    Else  
        Ctype(ApplicationMenu.LeftItems("Save"), RibbonMenu.Button).PerformClick()
        Tables("订单").Current.Locked = True  
        For Each dr As Row In Tables("订单").Rows
            dr("审核") = 1
        Next    
    End If

End If

 

注:您的这一句:If Tables("订单").Current.IsNull("数量") = 0  Then

      这里的0相当于逻辑值false,也就是您在判断当前行的数量列不为空时,则提示,和数量列是否为0没任何关系。

实际数量大于0的时候,还是提示数量不能为0,不往下执行.



--  作者:狐狸爸爸
--  发布时间:2014/3/11 12:42:00
--  

那就做个简单的例子,发上来说话吧