Foxtable(狐表)用户栏目专家坐堂 → 狐表对权限的管理比较分散,能不能像EXCEL服务器那样集中定义对一个表的权限


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

主题:狐表对权限的管理比较分散,能不能像EXCEL服务器那样集中定义对一个表的权限

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


加好友 发短信
等级:婴狐 帖子:24 积分:296 威望:0 精华:0 注册:2011/6/7 21:15:00
狐表对权限的管理比较分散,能不能像EXCEL服务器那样集中定义对一个表的权限  发帖心情 Post By:2011/6/18 0:55:00 [显示全部帖子]

项目事件为BeforeLoadInnerTable,我想实现业务员只能加载自己登记的客户数据,但如果当前用户是“管理组”则都可以加载,下面的代码我看不出有什么问题,但在打开数据库的时候却提示是错误的,我应该怎么写这个代码呢?还有如何实现动态过滤呢,比如上级可以看到或有此权限的人可以看到,我目前的感觉是狐表对权限的管理比较分散,EXCEL服务器相对来说能够比较集中的定义对一个表的权限,狐表任何一个小小的问题都必须根据一个事件设置权限,不知是不是我不够熟悉所致。

 

If e.DataTableName = "客户登记表"
    e.Filter = "[业务员] = '" & e.User.Name & "' Or e.User.Group = '管理组'"
End If


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


加好友 发短信
等级:婴狐 帖子:24 积分:296 威望:0 精华:0 注册:2011/6/7 21:15:00
  发帖心情 Post By:2011/6/18 18:29:00 [显示全部帖子]

非常感谢您的回复,狐表确实比EXCEL服务器要更强、更美、更完善,我个人相信狐表的市场也一定会赶超EXCEL服务器。

另外,我还有一个问题,就是我做了“客户登记表、客户联系人、客户沟通记录”这三个表,客户登记表与客户联系人、客户沟通记录分别做了关联,我现在想在添加客户记录的时候,当选择客户名称已后,客户联系人只显示客户名称跟我所选的客户名称相同的联系人,我通过在列表项目选择,然后过滤掉跟我所选的客户名称不相同的联系人,表达式中却没当前表的选择项目,我应该怎么现实?

 

 


图片点击可在新窗口打开查看此主题相关图片如下:未标题-1.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:未标题-2.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:婴狐 帖子:24 积分:296 威望:0 精华:0 注册:2011/6/7 21:15:00
  发帖心情 Post By:2011/6/20 9:16:00 [显示全部帖子]

我同时设定了两个IF,只有“管理组”和“财务部”的用户进去是正常的,其它用户进去会提示下面的错误,是为什么?

 

If e.DataTableName = "客户登记表" Then
    If e.User.Group <> "管理组" Then '如果不是管理组
        If e.User.Group <> "财务部" Then
            e.Filter = "[业务员] = '" & e.User.Name & "'"   '则设置加载条件
        End If
    End If
End If

 


此主题相关图片如下:1.jpg
按此在新窗口浏览图片

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


加好友 发短信
等级:婴狐 帖子:24 积分:296 威望:0 精华:0 注册:2011/6/7 21:15:00
  发帖心情 Post By:2011/6/21 13:36:00 [显示全部帖子]

我将“客户登记表”中的“客户名称”做为“客户沟通记录表”的一个列表项目,在过沟条件中我希望“客户登记表”中的“业务员”等于系统登录名称,表达式应该怎样写呢?

 

 

[业务员] = User.Name,是这样,还是在表达式中根本无法这样过滤呢?


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


加好友 发短信
等级:婴狐 帖子:24 积分:296 威望:0 精华:0 注册:2011/6/7 21:15:00
  发帖心情 Post By:2011/6/21 14:57:00 [显示全部帖子]

在列的项目列表里还需不需要填呢,我填上去,好像还是不行呢,你看看下面我改的代码:

 

Tables("客户沟通记录").Cols("客户名称").ComboList = DataTables("客户登记表").GetComboListString("客户名称", "业务员 = '" & User.Name & "'")


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


加好友 发短信
等级:婴狐 帖子:24 积分:296 威望:0 精华:0 注册:2011/6/7 21:15:00
  发帖心情 Post By:2011/6/21 15:30:00 [显示全部帖子]

好的,你帮我看看,

 

  

另外,我在表里按下面添加了会提供出错,不知是何原因?

 

在项目事件AfterOpenProject中设置如下代码:


Tables("客户沟通记录").Cols("客户名称").Combolist = DataTables("客户联系人").GetComboListString("客户名称")

 

'从客户联系人表提取客户名称列的内容, 作为客户沟通记录表客户名称列的列表项目

 

 

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:新快印管理系统.table


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


加好友 发短信
等级:婴狐 帖子:24 积分:296 威望:0 精华:0 注册:2011/6/7 21:15:00
  发帖心情 Post By:2011/6/21 17:27:00 [显示全部帖子]

以下是引用狐狸爸爸在2011-6-21 14:06:00的发言:

在项目事件AfteropenProject设置代码:

 

Tables("表名").Cols("列名").ComboList = DataTables("客户登记表").GetComboListString("客户名称", "业务员 = '" & User.Name & "'")

 

具体参考:

http://help.foxtable.com/topics/1435.htm

 

你让我把这个代码填上去,但在客户沟通记录那里不会出现列表项目呀

 

你看看下面我改的代码:

 

Tables("客户沟通记录").Cols("客户名称").ComboList = DataTables("客户登记表").GetComboListString("客户名称", "业务员 = '" & User.Name & "'")

 

[此贴子已经被作者于2011-6-21 14:35:23编辑过]


 回到顶部