以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [原创]菜单代码问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=63759) |
-- 作者:爱相随 -- 发布时间:2015/1/28 10:16:00 -- [原创]菜单代码问题 老师,我在表中设置有“选择行”列为逻辑列和“审核”列为字符列,菜单中有“审核”和“取消审核”按钮,我设置了如下代码,意思是当“选择行”为勾选时,点击“审核”按钮,则在勾选的行的“审核”列填上审核人的姓名,但下面的代码有问题,请老师指点,谢谢。
If User.IsRole("投融资_主管") Then
提示有错误。 [此贴子已经被作者于2015-1-28 10:17:02编辑过]
|
-- 作者:Bin -- 发布时间:2015/1/28 10:19:00 -- 审核按钮? 按钮里怎么会有e.datacol ? If User.IsRole("投融资_主管") Then
For Each r As Row In Tables("贷款信息总表") If r("选择行") = True Then r("FH") = User.Name r.Save() End If Next END IF |
-- 作者:有点甜 -- 发布时间:2015/1/28 10:19:00 -- If User.IsRole("投融资_主管") Then For Each r As Row In Tables("贷款信息总表").Rows If r("选择行") = True Then r("FH") = User.Name r.Save() End If Next End If
|
-- 作者:爱相随 -- 发布时间:2015/1/28 10:41:00 -- 表的PrepareEdit事件代码 1、禁止张三和李四编辑第一列、第二列和第三列。 Select Case User.Name
还有,下面的代码: If e.Row("JBDW") <> User.Group OrElse e.Row("录入人") <> User.NAME OrElse E.Row.IsNULL("fh") = False Then \'在编辑某行前,会自动判断负责此行的部门列是否和登录用户所属分组相同,如果不同,则取消编辑. 第一段和第二段有冲突吗?? 第一段表示只有用户和单位相同,且审核列为空时才能编辑, 第二段表示只有主管才能对“选择行”列进行编辑,并对勾选的行进行审核。 如果有冲突,要使其不冲突,怎么改呢,请老师帮个忙,谢谢!!
[此贴子已经被作者于2015-1-28 10:46:41编辑过]
|
-- 作者:有点甜 -- 发布时间:2015/1/28 10:43:00 -- 允许,就不用写,不允许,才写啊。 |
-- 作者:有点甜 -- 发布时间:2015/1/28 10:44:00 -- If e.Row("JBDW") <> User.Group OrElse e.Row("录入人") <> User.NAME OrElse E.Row.IsNULL("fh") = False Then \'在编辑某行前,会自动判断负责此行的部门列是否和登录用户所属分组相同,如果不同,则取消编辑. e.Cancel = True End If If e.Col.Name = "选择行" Then If User.Roles <> "张经理" Then e.Cancel = True End If End If |
-- 作者:爱相随 -- 发布时间:2015/1/28 10:52:00 -- 以下是引用有点甜在2015-1-28 10:44:00的发言:
If e.Row("JBDW") <> User.Group OrElse e.Row("录入人") <> User.NAME OrElse E.Row.IsNULL("fh") = False Then \'在编辑某行前,会自动判断负责此行的部门列是否和登录用户所属分组相同,如果不同,则取消编辑. e.Cancel = True End If If e.Col.Name = "选择行" Then If User.Roles <> "张经理" Then e.Cancel = True End If End If
感觉这两段放在一起有冲突,实际操作也行不通,除了本人其他人都不能编辑,第二段不起作用,第一段已经把第二段排除了,谢老师帮我解决一下办法,谢谢!!就是第二段是第一段中的例外。。。 [此贴子已经被作者于2015-1-28 10:55:08编辑过]
|
-- 作者:有点甜 -- 发布时间:2015/1/28 10:54:00 -- If e.Row("JBDW") <> User.Group AndAlso e.Row("录入人") <> User.NAME AndAlso E.Row.IsNULL("fh") = False Then \'在编辑某行前,会自动判断负责此行的部门列是否和登录用户所属分组相同,如果不同,则取消编辑. If e.Col.Name = "选择行" Then
|
-- 作者:爱相随 -- 发布时间:2015/1/28 11:02:00 -- 但是老师,改成这样后,在审核人审核之前非本人编辑的行又可以被其他人进行编辑修改啊 [此贴子已经被作者于2015-1-28 11:02:55编辑过]
|
-- 作者:有点甜 -- 发布时间:2015/1/28 11:02:00 -- 你逻辑是什么啊,根据自己的逻辑写代码啊 |