以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]迷糊。。。按钮可用问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=50347)

--  作者:viking
--  发布时间:2014/5/5 11:44:00
--  [求助]迷糊。。。按钮可用问题
请教一下各位老师,帮忙看下下面这个代码:
问题:1、虽然写了: If user.Name = e.Table.Current("业务负责") Then
              但是,并没有起作用。
        2、我想“利润单.利润明细单”中子表中只要有一行数据的“账单编号”不是空值,那么“删除利润单按键”不可用
             可现在代码的效果:只有选中子表中“账单编号”不是空值的行,按键不可用
 
求老师给改下,谢谢

 

 

If e.Table.Current IsNot Nothing Then  \'如果当前表中没有对应的内容,那么执行下边
    If Forms("营业报账").Opened      \'如果窗口打开
        If Tables("利润单.利润明细单").Current.isnull("账单编号") =  False  Then
            If user.Name = e.Table.Current("业务负责") Then
                Forms("营业报账").Controls("删除利润单按键").Enabled = True
                Forms("营业报账").Controls("删除利润明细按键").Enabled = True
            Else
                Forms("营业报账").Controls("删除利润单按键").Enabled = False
                Forms("营业报账").Controls("删除利润明细按键").Enabled = False
            End If
        End If
    End If
End If


--  作者:lsy
--  发布时间:2014/5/5 11:49:00
--  
例子发上来。
--  作者:有点甜
--  发布时间:2014/5/5 11:56:00
--  

 是不是这个意思?

 

If e.Table.Current IsNot Nothing Then  \'如果当前表中没有对应的内容,那么执行下边
    If Forms("营业报账").Opened      \'如果窗口打开
        Dim flag As Boolean = False
        For Each r As Row In Tables("利润单.利润明细单").Rows
            If r.IsNull("账单编号") Then
                flag = True
                Exit For
            End If
        Next
        If flag = False AndAlso user.Name = e.Table.Current("业务负责") Then
            Forms("营业报账").Controls("删除利润单按键").Enabled = True
            Forms("营业报账").Controls("删除利润明细按键").Enabled = True
        Else
            Forms("营业报账").Controls("删除利润单按键").Enabled = False
            Forms("营业报账").Controls("删除利润明细按键").Enabled = False
        End If
    End If
End If


--  作者:viking
--  发布时间:2014/5/5 14:50:00
--  

If e.Table.Current IsNot Nothing Then  \'如果当前表中没有对应的内容,那么执行下边
    If Forms("营业报账").Opened      \'如果窗口打开
        Dim flag As Boolean = False
        For Each r As Row In Tables("利润单.利润明细单").Rows
            If r.IsNull("账单编号") Then
                flag = True
                Exit For
            End If

 

想问下这段的意思是什么啊?


--  作者:有点甜
--  发布时间:2014/5/5 15:02:00
--  
以下是引用viking在2014-5-5 11:44:00的发言:
 
        2、我想“利润单.利润明细单”中子表中只要有一行数据的“账单编号”不是空值,那么“删除利润单按键”不可用
             可现在代码的效果:只有选中子表中“账单编号”不是空值的行,按键不可用

 

 

是这个意思......


--  作者:viking
--  发布时间:2014/5/5 15:34:00
--  

但是出了一个新问题:当“利润单.利润明细单”中的所有数据的账单编号列全都不是空值的时候,按键可用,希望不可以用啊!!

 

 

If e.Table.Current IsNot Nothing Then  \'如果当前表中没有对应的内容,那么执行下边
    If Forms("营业报账").Opened      \'如果窗口打开
        Dim flag As Boolean = False      ’假设flag都是空值
        For Each r As Row In Tables("利润单.利润明细单").Rows    
            If r.IsNull("账单编号") Then
                flag = True       ‘如果("利润单.利润明细单").账单编号列中  值=flag ,那么出局,如果不等于继续?   (是这个意思吗????)
                Exit For     
            End If

[此贴子已经被作者于2014-5-5 15:34:04编辑过]

--  作者:有点甜
--  发布时间:2014/5/5 15:42:00
--  
以下是引用viking在2014-5-5 15:34:00的发言:

但是出了一个新问题:当“利润单.利润明细单”中的所有数据的账单编号列全都不是空值的时候,按键可用,希望不可以用啊!!

 

 [此贴子已经被作者于2014-5-5 15:34:04编辑过]

 

呃,你是希望可用,还是希望不可用?和5楼的有矛盾啊。


--  作者:viking
--  发布时间:2014/5/5 15:46:00
--  

我希望,只要子表的数据中,其中有一行的账单编号列不是空值,那么(按键)就不可用,包括全部数据的账单编号都不是空值的情况。


--  作者:有点甜
--  发布时间:2014/5/5 16:02:00
--  
以下是引用viking在2014-5-5 15:46:00的发言:

我希望,只要子表的数据中,其中有一行的账单编号列不是空值,那么(按键)就不可用,包括全部数据的账单编号都不是空值的情况。

 

哦,那代码就是写反了,改一下

 

        Dim flag As Boolean = False
        For Each r As Row In Tables("利润单.利润明细单").Rows
            If r.IsNull("账单编号") = False Then
                flag = True
                Exit For
            End If
        Next