以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]权限设置的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=88021)

--  作者:g1j2h3
--  发布时间:2016/7/25 11:18:00
--  [求助]权限设置的问题

在下表中,审批完之后还需要采购员对发票是否回来和发票回来的时间两列进行补登,另外还能对新增加的行进行编辑,如何设置代码?

 


图片点击可在新窗口打开查看此主题相关图片如下:ltu.png
图片点击可在新窗口打开查看

--  作者:大红袍
--  发布时间:2016/7/25 11:52:00
--  

 PrepareEdit事件

 

If e.Col.Name = "审批" AndAlso e.Row("审批") = True Then
    If e.Col.Name = "发票是否收到" OrElse e.Col.Name = "发票收到日期" Then
        e.cancel = False
    Else
        e.cancel = True
    End If
End If


--  作者:g1j2h3
--  发布时间:2016/7/25 12:13:00
--  

我这样设置代码对吗?

If User.Group = "总经理" Then
    Tables("采购明细").Current("审批人") = User.Name
    Tables("采购明细").Current("审批时间") = Date.Today()
Else
    MessageBox.show("你无审批权限!")
End If
If User.Group = "总经理" Then
    Tables("采购明细").Current("审批人") = Nothing
    Tables("采购明细").Current("审批时间") = Nothing
Else
    MessageBox.show("你无取消审批权限!")
End If
If e.Row.IsNull("审批人") = False Then \'如果审批人列不为空
    e.Cancel = True \'则禁止编辑
End If

If e.Col.Name = "审批" AndAlso e.Row("审批") = True Then
    If e.Col.Name = "发票是否收到" OrElse e.Col.Name = "发票收到日期" Then
        e.cancel = False
    Else
        e.cancel = True
    End If
End If


--  作者:大红袍
--  发布时间:2016/7/25 12:17:00
--  

这样写

 

If e.Row("审批") = True Then
    If e.Col.Name = "发票是否收到" OrElse e.Col.Name = "发票收到日期" Then
        e.cancel = False
    Else
        e.cancel = True
    End If
End If


--  作者:g1j2h3
--  发布时间:2016/7/25 12:21:00
--  
老师,你太牛了,不大功夫,帮我解决了好几天的问题,谢谢
--  作者:g1j2h3
--  发布时间:2016/7/25 13:16:00
--  

老师,这样设置完之后,采购员打开程序后,提示“你无审批权限”,关不掉?如何修改


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20160725134536.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2016/7/25 13:47:01编辑过]

--  作者:大红袍
--  发布时间:2016/7/25 14:40:00
--  

首先,按住ctrl不放打开项目。

 

http://www.foxtable.com/webhelp/scr/1057.htm

 

 

 然后,把事件代码放到startEdit事件去。