设计了一个用户权限管理表,在项目事件中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
设想是在切换表时,先读取用户权限表,然后判断能否打开程序和分配相应的权限。
[此贴子已经被作者于2011-7-21 16:05:23编辑过]