以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  审批反馈问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=170872)

--  作者:ycs5801
--  发布时间:2021/8/10 10:27:00
--  审批反馈问题

If User.Group = "经理" Then
    Tables(
"表A").Current("审批人") = User.Name
    Tables(
"表A").Current("审批日期") = Date.Today()
Else

    MessageBox.show(
"你无审批权限!")
End
If

当然还得来个取消审批的按钮,代码为:

If User.Group = "经理" Then
    Tables(
"表A").Current("审批人") = Nothing
    Tables(
"表A").Current("审批日期") = Nothing
Else

    MessageBox.show(
"你无取消审批权限!")
End
If

最后将表事件PrepareEdit的代码设置为:

If e.Row.IsNull("审批人") = False Then \'如果审批人列不为空
    e.Cancel =
True \'则禁止编辑
End
If



根据帮助上的文档,经理审批完,怎样在软件中同步信息,让录入员无法对改行进行编辑?是必须用openqq吗?


--  作者:有点蓝
--  发布时间:2021/8/10 10:37:00
--  
要使用openqq
--  作者:ycs5801
--  发布时间:2021/8/10 10:46:00
--  
让录入员定时刷新行不行?是不是存在刷新间隔时间中,如果经理已经审批完毕,而录入员还在修改数据,这样造成已经审批的数据还是被录入员修改了。
--  作者:有点蓝
--  发布时间:2021/8/10 10:50:00
--  
会有这种情况。

或者做个保存按钮,保存的时候,每个被改过的行,都先到数据库查询一下是否被审核了,没有再保存

--  作者:ycs5801
--  发布时间:2021/8/10 10:54:00
--  
对对,我就是要这样的方法,哈哈,谢谢,openqq看起来挺麻烦。
--  作者:ycs5801
--  发布时间:2021/8/10 10:55:00
--  
老师,有没有示例语句啊?
--  作者:有点蓝
--  发布时间:2021/8/10 11:01:00
--  
Dim dr As DataRow
dr = 
DataTables("产品").sqlFind("产品编号 = \'" & 
Tables("产品").current("产品编号") & "\' and 审核=true"\'找出编号为03的产品
if dr is nothing then
Tables("产品").current.save
else
msgbox("已经审核")
Tables("产品").current.datarow.reject
end if

--  作者:ycs5801
--  发布时间:2021/8/10 11:07:00
--  
多谢
--  作者:ycs5801
--  发布时间:2021/8/10 14:13:00
--  
Dim dr As DataRow
dr = DataTables("当日上报").sql find("门店全称 = \'" & Tables("当日上报").current("门店全称") &  "\' and 上报时间=\'" & Tables("当日上报").current("上报时间") & "\' and 审核=true") \'找出当前行数据库中是否存在已审核
If dr Is Nothing Then
    Tables("当日上报").current.save
Else
    msgbox("已经审核,请联系行政部门退回再报!")
    Tables("当日上报").current.DataRow.reject
End If

这个做成了一个按钮公式,点了之后没反应,即使已经被审核了,也没反应,哪里有错呢?

--  作者:有点蓝
--  发布时间:2021/8/10 14:22:00
--  
什么数据库?对方审核后保存了吗?

有符合条件的数据吗?