Foxtable(狐表)用户栏目专家坐堂 → [求助]加载时显示合法数据


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

主题:[求助]加载时显示合法数据

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


加好友 发短信
等级:九尾狐 帖子:2239 积分:18446 威望:0 精华:0 注册:2011/11/26 20:21:00
[求助]加载时显示合法数据  发帖心情 Post By:2012/9/23 21:43:00 [只看该作者]

使用条件:局域网内使用。
使用场景:几个部门都要登记发生的办公费用。
要求:各个部门进入之后,只能看到、而且只能登记本部门的费用。


如果设计一个窗口,通过窗口的加载条件是可以做到的。
不过做窗口呢,要增加一些代码,不用窗口,能不能做到?

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:根据机构显示数据表.table


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


加好友 发短信
等级:四尾狐 帖子:832 积分:5867 威望:0 精华:6 注册:2011/5/27 11:41:00
  发帖心情 Post By:2012/9/24 9:21:00 [只看该作者]

楼主这个是可以做到的,问题的前题是您要先启用自定义登录系统才行,也就是说给每个人分配帐户(_Username)与组别(_UserGroup),然后在您需要统计的部门费用表中增加一列部门列,这样任何一个人登录,他的所属部门被保存到了_UserGroup中,所以我们就可以在部门费用表中的

PrepareEdit

事件中填加代码

 

If e.Col.Name = "部门" AndAlso e.Row("部门") <> _UserGroup Then
    e.Cancel =
True
End
If

 

这样不是一个部门的人就不能处理该部门的数据了

 

然后填加的时候,你就在

DataRowAdding

事件中填加

e.datarow("部门") =_UseGroup

这样他填加的也是本部门的数据,试试吧,看看行不行


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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/9/24 9:43:00 [只看该作者]

使用条件:局域网内使用。
使用场景:几个部门都要登记发生的办公费用。
要求:各个部门进入之后,只能看到、而且只能登记本部门的费用。

用户登录以后,根据用户的信息,决定显示的数据数据就可以了。

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


加好友 发短信
等级:九尾狐 帖子:2239 积分:18446 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2012/9/24 10:28:00 [只看该作者]

上面的做法做到了只能登记本部门的记录,但好象不能做到“只能看到”本部门的记录。

我想,是不是要在项目属性里的MainTableChanged事件里,加上代码过滤就OK


If MainTable.Name = "收货单" Then
    Tables("收货单").Filter = "OrgID = '" & UserGroup & "'"
End If

这样,登陆的用户根本看不到其他机构登记的费用了。
[此贴子已经被作者于2012-9-24 10:55:51编辑过]

 回到顶部