以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  求助 按照条件筛选列代码  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=82166)

--  作者:celchentao
--  发布时间:2016/3/12 23:06:00
--  求助 按照条件筛选列代码
求助 按照条件筛选列代码
表A列包含(1-1  1-2  1-3  1-4  1-5   2-1 2-2 2-3 2-4 2-5........的列  如果  用户名为1  要动态显示 包含“1-”的列  其他列全部隐藏    用户2 登录  要动态显示 包含“2-”的列  其他列全部隐藏 
请问老师  代码该如何写?

--  作者:sjx71
--  发布时间:2016/3/13 0:12:00
--  
列名不能以数字开头,也不能包含除下划线(_)之外的符号

你可以给列起名 列1_1 , 列1_2 , 列1_3 , 列2_1  ,列2_2 等

用户名分别叫 1, 2 。。。

这样你在项目事件 MainTableChanged 中写入以下代码即可实现你想要的功能



If CurrentTable.Name = "表A" Then
    Select Case user.name
        Case "1"
            For Each c As Col In Tables("表A").Cols
                If c.name.contains("列1_") Then
                    c.visible = True
                Else
                    c.visible = False
                End If
            Next
            
        Case "2"
            For Each c As Col In Tables("表A").Cols
                If c.name.contains("列2_") Then
                    c.visible = True
                Else
                    c.visible = False
                End If
            Next
            
    End Select
End If

--  作者:大红袍
--  发布时间:2016/3/14 13:49:00
--  

msgbox(user.name & "_")

 

For Each c As Col In Tables("表A").Cols
    If c.name.contains(user.name & "_") Then
        c.visible = True
    Else
        c.visible = False
    End If
Next