以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]权限管理中如何提取access表中的用户名  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=20952)

--  作者:sunbrain
--  发布时间:2012/6/25 11:02:00
--  [求助]权限管理中如何提取access表中的用户名
在自定义用户管理中我希望加入可视化授权管理,采用的案例就是帮助的案例,现在有个问题请教一下

在授权管理中

 

LoadUserSetting

 

For Each t As Table In Tables \'显示所有表和列

    t.Visible = True

    t.AllowEdit = True

    For Each c As Col In t.Cols

        c.Visible = True

        c.AllowEdit = True

    Next

Next

Tables("授权表").Visible = (User.Type <> UserTypeEnum.User )

If  User.Type <> UserTypeEnum.User Then

    Return

End If

For Each dr As DataRow In DataTables("授权表").Select("用户名 = \'" & User.Name & "\'" )

    If dr.IsNull("列名") Then

        For Each t As Table In Tables

            If t.DataTable.Name = dr("表名") Then

                t.Visible = Not dr("不可见")

                t.AllowEdit = Not dr("不可编辑")

            End If

        Next

    Else

        For Each t As Table In Tables

            If t.DataTable.Name = dr("表名") Then

                For Each c As Col In t.Cols

                    If c.Name = dr("列名") Then

                        c.Visible = Not dr("不可见")

                        c.AllowEdit = Not dr("不可编辑")

                    End If

                Next

            End If

        Next

    End If

Next

 

 我把放大的这行,改成了

Select("用户名 = \'" & _UserName & "\'" )


这相当于是从那个access数据库中提取用户名

但是没有任何效果,甚至那个表名和列明也不显示,请大家帮助看看问题在哪里



 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:管理项目10.table



--  作者:狐狸爸爸
--  发布时间:2012/6/25 11:07:00
--  

把这三行删除:
 
If User.Type <> UserTypeEnum.User Then
    Return
End If

另外,代码也不应该设置在LoadUserSetting事件中,看看这里最后面的总结:
 
http://www.foxtable.com/help/topics/2048.htm