Foxtable(狐表)用户栏目专家坐堂 → 按照视频里的做,达不到效果


  共有2452人关注过本帖树形打印复制链接

主题:按照视频里的做,达不到效果

帅哥哟,离线,有人找我吗?
有点甜
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/3/27 12:06:00 [显示全部帖子]

你逻辑有问题。

 

你授权表,应该有这些列,如 表名、列名、窗口名、控件名、菜单名、功能区、功能组 ......

 

表的权限、窗口的权限、菜单的权限,分开处理的才对。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/3/27 12:07:00 [显示全部帖子]

你提示的错误,应该是你LoadUserSetting事件代码有问题吧?贴出代码看看。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/3/27 14:59:00 [显示全部帖子]

加入一个【类型】列,标记好此行,是窗口权限、还是表格权限、还是菜单权限

 

For Each dr As DataRow In DataTables("授权表").Select("分组 = '" & User.Group & "' and 类型='表格'" )


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/3/27 15:00:00 [显示全部帖子]

或者是修改代码

 

For Each dr As DataRow In DataTables("授权表").Select("分组 = '" & User.Group & "'" )

    If Tables.Contains(dr("表名")) Then

 

 

   End If

Next


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/3/27 17:31:00 [显示全部帖子]

上传你的mdb数据库,不然无法打开项目测试。

 

http://www.foxtable.com/webhelp/scr/1057.htm

 

注意红色代码

 

Tables("授权表").Visible = (User.Type <> UserTypeEnum.User )
If User.Type = UserTypeEnum.User Then
    For Each dr As DataRow In DataTables("授权表").Select("分组 = '" & User.Group & "'" )
        If Tables.Contains(dr("表名")) Then
            If dr.IsNull("列名") Then
                Tables(dr("表名")).Visible = Not dr("不可见")
                Tables(dr("表名")).AllowEdit = Not dr("不可编辑")
                RibbonTabs("编辑").Visible = False
            Else
                Tables(dr("表名")).Cols(dr("列名")).Visible = Not dr("不可见")
                Tables(dr("表名")).Cols(dr("列名")).AllowEdit = Not dr("不可编辑")
                RibbonTabs("编辑").Visible = True
            End If
        End If
    Next
End If  '以上为细化权限管理


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/3/27 18:44:00 [显示全部帖子]

1、注意红色代码

 


For Each dr As DataRow In DataTables("授权表").Select("分组 = '" & _usergroup & "' ")
    If dr.Isnull("列名") Then
        Tables(dr("表名")).Visible = not dr("不可见")
        Tables(dr("表名")).AllowEdit = not dr("不可编辑")
    Else
        Tables(dr("表名")).cols(dr("列名")).Visible = not dr("不可见")
        Tables(dr("表名")).cols(dr("列名")).AllowEdit = not dr("不可编辑")
    End If
Next

 

2、你不能使用 user.name、user.group, 改成这样_username、_usergroup


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/3/28 9:16:00 [显示全部帖子]

以下是引用mxy8898在2018/3/28 8:50:00的发言:
以上方法都试过,不好用,而且出新问题,不能直接启动了,启动画面晃下就闪退,没任何提示。图片点击可在新窗口打开查看

 

我测试没问题。

 

LoadUserSetting事件,不需要写任何代码的,删除你原来的代码。

 

其余都不需要修改,请使用你原来的项目测试。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/3/28 15:07:00 [显示全部帖子]

登陆窗口Enter事件代码问题,删除即可。 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:药店水质分析系统 (2).table


 回到顶部