以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 请教老师为什么Tables("人员表")并没有被锁定 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=65931) |
-- 作者:lzzhx -- 发布时间:2015/3/25 21:15:00 -- 请教老师为什么Tables("人员表")并没有被锁定 请教老师: 人员表 - AfterLoadTableSetting 事件中,全局变量 _UserGroup = “‘其它操作人员’”下面代码执行后,Tables("人员表")并没有被锁定,请教问题出在什么地方? \'确定表及记录的编辑权限 If _UserGroup = "系统管理员" Then With Tables("人员表") .AllowEdit = True .Cols("用户分组").AllowEdit = True .Cols("用户姓名").AllowEdit = True .Cols("部门编号").AllowEdit = False .Cols("部门编号").Visible = True .Cols("部门").AllowEdit = False .Cols("用户密码").AllowEdit = True .Cols("创建者ID").AllowEdit = False .Cols("创建者名称").AllowEdit = False .Cols("已登录").Visible = True .Cols("编辑者").Visible = True .Cols("编辑者").AllowEdit = False .Cols("IP地址").AllowEdit = False .Cols("IP地址").Visible = True .Cols("范围").Visible = True End With Else If _UserGroup Like "*管理员*" Then With Tables("人员表") .AllowEdit = True .Cols("用户分组").AllowEdit = True .Cols("用户姓名").AllowEdit = True .Cols("部门编号").AllowEdit = False .Cols("部门编号").Visible = True .Cols("部门").AllowEdit = False .Cols("用户密码").AllowEdit = False .Cols("创建者ID").AllowEdit = False .Cols("创建者名称").AllowEdit = False .Cols("已登录").Visible = False .Cols("编辑者").Visible = False .Cols("编辑者").AllowEdit = False .Cols("IP地址").AllowEdit = False .Cols("IP地址").Visible = False .Cols("范围").Visible = False End With Else e.Table.AllowEdit = False \' .Cols("用户分组").AllowEdit = False \' .Cols("用户姓名").AllowEdit = False \' .Cols("部门编号").AllowEdit = False \' .Cols("部门编号").Visible = True \' .Cols("部门").AllowEdit = False \' .Cols("用户密码").AllowEdit = False \' .Cols("创建者ID").AllowEdit = False \' .Cols("创建者名称").AllowEdit = False \' .Cols("已登录").Visible = False \' .Cols("编辑者").Visible = False \' .Cols("编辑者").AllowEdit = False \' .Cols("IP地址").AllowEdit = False \' .Cols("IP地址").Visible = False \' .Cols("范围").Visible = False \' End With End If End If |
-- 作者:有点甜 -- 发布时间:2015/3/25 21:18:00 -- 代码没有问题,你单独在命令窗口运行代码是否有效? |
-- 作者:lzzhx -- 发布时间:2015/3/25 21:19:00 -- 后来在倒数第4行增加了一个消息框,发现每次打开窗口,消息框要弹出2次,好象 AfterLoadTableSetting事件的代码执行了2次似的,但表就是不锁定。 |
-- 作者:lzzhx -- 发布时间:2015/3/25 21:20:00 -- 没有在命令窗口试过,但设置属性时可以锁定 |
-- 作者:有点甜 -- 发布时间:2015/3/25 21:21:00 -- 以下是引用lzzhx在2015/3/25 21:19:00的发言:
后来在倒数第4行增加了一个消息框,发现每次打开窗口,消息框要弹出2次,好象 AfterLoadTableSetting事件的代码执行了2次似的,但表就是不锁定。
单独执行
DataTables("人员表").AllowEdit = False
------------------
应该是你表名写错了,注意是不是副本表。 |
-- 作者:lzzhx -- 发布时间:2015/3/25 21:24:00 -- 在命令窗口执行后表锁定了。 不是副本表
|
-- 作者:有点甜 -- 发布时间:2015/3/25 21:26:00 -- 直接去afteropenproject写入代码,有可能是你其它地方重新设置了其可以编辑了。
DataTables("人员表").AllowEdit = False |
-- 作者:lzzhx -- 发布时间:2015/3/25 21:26:00 -- 同样的代码,在命令窗口执行后表就锁定了,但放在 AfterLoadTableSetting事件中表就锁不住 |
-- 作者:有点甜 -- 发布时间:2015/3/25 21:27:00 -- 呃,肯定是你其它地方重新设置了其可以编辑了。 |
-- 作者:lzzhx -- 发布时间:2015/3/25 21:32:00 -- 加了1个消息框,执行后出现2次消息框,程序执行了2遍,就是找不到原因 \'确定表及记录的编辑权限 If _UserGroup = "系统管理员" Then With Tables("人员表") .AllowEdit = True .Cols("用户分组").AllowEdit = True .Cols("用户姓名").AllowEdit = True .Cols("部门编号").AllowEdit = False .Cols("部门编号").Visible = True .Cols("部门").AllowEdit = False .Cols("用户密码").AllowEdit = True .Cols("创建者ID").AllowEdit = False .Cols("创建者名称").AllowEdit = False .Cols("已登录").Visible = True .Cols("编辑者").Visible = True .Cols("编辑者").AllowEdit = False .Cols("IP地址").AllowEdit = False .Cols("IP地址").Visible = True .Cols("范围").Visible = True End With Else If _UserGroup Like "*管理员*" Then With Tables("人员表") .AllowEdit = True .Cols("用户分组").AllowEdit = True .Cols("用户姓名").AllowEdit = True .Cols("部门编号").AllowEdit = False .Cols("部门编号").Visible = True .Cols("部门").AllowEdit = False .Cols("用户密码").AllowEdit = False .Cols("创建者ID").AllowEdit = False .Cols("创建者名称").AllowEdit = False .Cols("已登录").Visible = False .Cols("编辑者").Visible = False .Cols("编辑者").AllowEdit = False .Cols("IP地址").AllowEdit = False .Cols("IP地址").Visible = False .Cols("范围").Visible = False End With Else Tables("人员表").AllowEdit = False \' .Cols("用户分组").AllowEdit = False \' .Cols("用户姓名").AllowEdit = False \' .Cols("部门编号").AllowEdit = False \' .Cols("部门编号").Visible = True \' .Cols("部门").AllowEdit = False \' .Cols("用户密码").AllowEdit = False \' .Cols("创建者ID").AllowEdit = False \' .Cols("创建者名称").AllowEdit = False \' .Cols("已登录").Visible = False \' .Cols("编辑者").Visible = False \' .Cols("编辑者").AllowEdit = False \' .Cols("IP地址").AllowEdit = False \' .Cols("IP地址").Visible = False \' .Cols("范围").Visible = False \' End With MessageBox.Show("试验!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning) End If End If
|