以文本方式查看主题

-  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=177321)

--  作者:xiaofei_00
--  发布时间:2022/5/17 16:09:00
--  老大我的问题出在哪里了?正确代码是什么?万分感谢
Dim r As Row = Tables("ftdjb").Current
If r IsNot Nothing Then
    If r.isnull("审核")  OrElse r.isnull("批准")  Then
        MessageBox.Show("无审核/批准签字确认,不能确认晒图/发图!", "提示") 
    Else
        If User.Group = "晒图员"  Then 
            r("晒图") = True
            r.Save()
        Else
            MessageBox.show("你无权确认晒图/发图 !!!")
        End If
    End If
End If

这是我模仿您前几天给我写的代码,我的目的是想实现以下功能:晒图员在 审核、批准都已经签字确定的情况下在 “已晒图”  “已发图” 列打钩确认,若“已晒图”  “已发图”为空,则给出提示,"无审核/批准签字确认,不能确认晒图/发图!"

我是把这段程序放在了 表属性 -事件-BeforeCheckRow  下边了,但是无法得到我要的结果,没有任何反应,老大我的问题出在哪里了?正确代码是什么?万分感谢

--  作者:有点蓝
--  发布时间:2022/5/17 16:25:00
--  
按钮有按钮写代码的用法,表事件有表事件写代码的用法。不是随便套就能使用的,在用之前先仔细看过表事件的帮助说明。

先看看这个:http://www.foxtable.com/webhelp/topics/1639.htm,看帮助说明【修改行复选框状态前执行。复选框指的是行号的勾选(http://www.foxtable.com/webhelp/topics/1776.htm),和逻辑列的勾选没有半毛钱的关系


应该到datacolchanging事件处理

If e.DataCol.Name = "已晒图" orelse e.DataCol.Name = "已发图" Then 
    If e.datarow.isnull("审核")  OrElse e.datarow.isnull("批准")  Then
e.cancel=true
        MessageBox.Show("无审核/批准签字确认,不能确认晒图/发图!", "提示") 
    Else
        If User.Group <> "晒图员"  Then 
e.cancel=true
            MessageBox.show("你无权确认晒图/发图 !!!")
        End If
    End If
End If


--  作者:xiaofei_00
--  发布时间:2022/5/17 16:49:00
--  
这知识都学杂了,哈哈
感谢

--  作者:狐狸爸爸
--  发布时间:2022/5/17 17:05:00
--  
回头重看一遍帮助,梳理一下知识点。
--  作者:xiaofei_00
--  发布时间:2022/5/17 17:27:00
--  
主要是基础知识没学扎实,光想着需求了。还得沉下心来学习才行。领导光提需求不给时间,惨啊