以文本方式查看主题

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

--  作者:njzwm
--  发布时间:2021/12/1 20:29:00
--  单元格输入提示问题
我想在单元格“完成”打钩后相关表锁定记录,在打钩时有提示出现,警告打完钩后数据将会被锁定,我在表格属性中的“DAtaColchanged”里写了如下语句,但是如果我选择“否”的话执行后就会重复提示。原因是如果我不加语句“Tables("业务记录总表").Current("完成") = False”的话,完成如论如何都已打钩,但是加了这句后狐表由于cell的内容有一次changed又要重新再来提示遍,请问大侠如何解决,有什么简易好办法解决这个问题,谢谢!

Dim Result As DialogResult
Result = MessageBox.Show("数据正确吗,是否要锁定记录?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If Result = DialogResult.Yes Then
DataTables.Save()
        DataTables("业务记录总表").ReplaceFor("_locked",e.newvalue,"营业序号=\'" & e.DataRow("营业序号") & "\'")
        DataTables("服务明细").ReplaceFor("_locked",e.newvalue,"营业序号=\'" & e.DataRow("营业序号") & "\'")
        DataTables("消费明细").ReplaceFor("_locked",e.newvalue,"营业序号=\'" & e.DataRow("营业序号") & "\'")
MessageBox.Show("        记录已锁定!","提示")
Else
Tables("业务记录总表").Current("完成") = False
    MessageBox.Show("        已放弃锁定记录.","提示")
End If
[此贴子已经被作者于2021/12/1 20:36:21编辑过]

--  作者:有点蓝
--  发布时间:2021/12/2 8:44:00
--  
先看看:http://www.foxtable.com/webhelp/topics/0604.htm



If e.DataCol.Name = "完成" Then
    
If e.DataRow("完成") = true Then
Dim Result As DialogResult
Result = MessageBox.Show("数据正确吗,是否要锁定记录?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If Result = DialogResult.Yes Then

        DataTables("业务记录总表").ReplaceFor("_locked",e.newvalue,"营业序号=\'" & e.DataRow("营业序号") & "\'")
        DataTables("服务明细").ReplaceFor("_locked",e.newvalue,"营业序号=\'" & e.DataRow("营业序号") & "\'")
        DataTables("消费明细").ReplaceFor("_locked",e.newvalue,"营业序号=\'" & e.DataRow("营业序号") & "\'")
DataTables.Save()
MessageBox.Show("        记录已锁定!","提示")
Else
e.DataRow("完成") = False
    MessageBox.Show("        已放弃锁定记录.","提示")
End If
    End If
End If

--  作者:njzwm
--  发布时间:2021/12/2 10:47:00
--  
谢谢,完满解决!