Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
设计了一个用户权限管理表,在项目事件中MainTableChanging写入以下代码,但在程序登录输入完成用户名和密码(成功登录后会给全局变量_username赋值用户名,这个用户名在用户权限表中也是存在的,也同时已分配打开表的权限)后会自动关闭程序进程退出,请教此段代码有问题吗?项目事件中MainTableChanging和登录窗口执行有冲突吗?怎样调整?
Dim dr As DataRow
dr=DataTables("用户权限").find("用户='" & _username & "' and 表名='" & e.newtablename & "' and 停用=0")
If dr IsNot Nothing Then
Vars("QX_gridname")=dr("表名")
Vars("QX_opengrid")=dr("打开表")
If vars("QX_opengrid")=True The
MainTable=Tables(vars("QX_gridname"))
DataTables(vars("QX_gridname")).allowedit=Vars("QX_editgrid")
Else
e.cancel=True
messagebox.show("您无权限打开所选表,请和系统管理员联系!","提示")
End If
Else
e.cancel=True
messagebox.show("当前用户权限未分配,请检查权限分配表,和系统管理员联系!","提示")
End If
End If
设想是在切换表时,先读取用户权限表,然后判断能否打开程序和分配相应的权限。
想动态管理用户权限,还有很多权限没有列出来,比如打印,锁定行等共有20个单独权限和表相关,这20个单独权限每个表可以动态设置管理的。
请教老大如何解决这个问题?
报错原因,要有例子才能知道。
建议这种禁止表的功能,还是设置在AfterOpenProject事件中为好。
取消了在项目事件中的定义,通过自定义函数已实现获取权限!