以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 可否将不加载表的条件写到AfterOpenProject事件中? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=55252) |
-- 作者:wh420 -- 发布时间:2014/8/13 10:56:00 -- 可否将不加载表的条件写到AfterOpenProject事件中? Case "表A" e.Cancel = (_UserGroup = "客服经理") End Select 因为_UserGroup的全局变量是通过登录窗口才有值的放到BeforeLoadOuterTable事件中,登录窗口还没有赋上值给_UserGroup
[此贴子已经被作者于2014-8-13 11:03:19编辑过]
|
-- 作者:wh420 -- 发布时间:2014/8/13 10:57:00 -- 我的权限是通过全局代码设置的,Public _UserGroup As String 如果_UserGroup="客服经理“ 则不准访问表A |
-- 作者:wh420 -- 发布时间:2014/8/13 11:49:00 -- 不知道我说明白没有 |
-- 作者:Bin -- 发布时间:2014/8/13 11:56:00 -- 表不加载,采取动态加载的方式 登陆后再根据 _UserGroup加载 参考帮助动态加载章节 |
-- 作者:有点甜 -- 发布时间:2014/8/13 12:03:00 -- 以下是引用wh420在2014-8-13 11:49:00的发言:
不知道我说明白没有
1、开始的时候,不要加载任何数据表;
2、在AfterOpenProject里面,判断_UserGroup去对应的加载对应的表,比如
DataTables.Load("表A") DataTables.Load("表B") |
-- 作者:wh420 -- 发布时间:2014/8/13 12:13:00 -- 明白了,多谢两位老师。 |
-- 作者:wh420 -- 发布时间:2014/8/13 16:43:00 -- 追问:我有很多表,在AfterOpenProject里面,我用_UserGroup做了判断,如果_UserGroup="经理" 全部加载,如果_UserGroup="项目经理" 那么加载表A、表B、表C、表D. 用e.Cancel = True如何写?
|
-- 作者:有点甜 -- 发布时间:2014/8/13 16:50:00 -- If _UserGroup = "经理" Then For Each tn As String In Connections("数据源名").GetTableNames DataTables.Load(tn) Next Else If _UserGroup="项目经理" Then DataTables.Load("表A") DataTables.Load("表B") DataTables.Load("表C") End If
|
-- 作者:wh420 -- 发布时间:2014/8/13 16:56:00 -- 明白了,那如何开始不加载任何表应在BeforeLoadOuterTable如何设置? |
-- 作者:Bin -- 发布时间:2014/8/13 16:59:00 -- http://www.foxtable.com/help/topics/2752.htm |