以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助] 按钮失效  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=144749)

--  作者:susanhe
--  发布时间:2019/12/28 15:30:00
--  [求助] 按钮失效
老师,如何只要选中某行任意单元格,只要这行中无论哪个列含有字符 “bb",就使按钮失效。感谢。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:pp.foxdb


--  作者:有点蓝
--  发布时间:2019/12/28 15:36:00
--  

AfterSelChange事件


If Forms("窗口1").Opened Then
    Forms("窗口1").Controls("Button1").Enabled = not e.Table.Rows(e.NewRange.RowSel)(e.NewRange.ColSel) Like "*bb*"
End If

--  作者:susanhe
--  发布时间:2019/12/28 15:48:00
--  
谢谢老师,可是这个只能指定的单元格,按钮才会反应。可不可只要点到这一行中的任意单元格,都起作用 ?
--  作者:有点蓝
--  发布时间:2019/12/28 16:01:00
--  
If Forms("窗口1").Opened Then
    Dim r As Row = e.Table.Rows(e.NewRange.RowSel)
    Dim b As Boolean = True
    For Each c As Col In e.Table.Cols
        If r(c.Name) Like "*bb*"
            b = False
            Exit For
        End If
    Next
    Forms("窗口1").Controls("Button1").Enabled = b
    
End If

--  作者:susanhe
--  发布时间:2019/12/28 18:14:00
--  
谢谢老师,可能表达有误。 只要列三内容含有\'\'bb\'\',不是整行的内容都含个这个"bb"然后点到这一行的任意单元格上都生效。再次麻烦老师了。
--  作者:susanhe
--  发布时间:2019/12/29 20:31:00
--  
麻烦老师,帮忙看一下。
--  作者:有点蓝
--  发布时间:2019/12/29 20:33:00
--  
If Forms("窗口1").Opened Then
    Forms("窗口1").Controls("Button1").Enabled = not e.Table.Rows(e.NewRange.RowSel)("列3") Like "*bb*"
End If