以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  控制  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=151429)

--  作者:nxqtxwz
--  发布时间:2020/6/23 10:41:00
--  控制

老师您好,我想实现:

如果表的当前记录填写不完整,保存、退出、转换表时提醒并选择。

我下面的代码放在MainTableChanging事件中,现在只是在转换表是起作用,其它情况下都不能控制,应如何改写代码呢?

 

If e.OldTableName = "晨午检" Then
    Dim b As Row = Tables("晨午检").Current
    If b.IsNull("报告日期") OrElse b.Isnull("报告人") OrElse b.Isnull("班级") OrElse b.Isnull("学生姓名") OrElse b.Isnull("性别") OrElse b.Isnull("年龄") OrElse b.Isnull("症状") OrElse b.Isnull("家长姓名")  OrElse b.Isnull("家庭住址")  OrElse b.Isnull("联系电话")  Then
        Dim Result As DialogResult
        Result = MessageBox.Show("填写不完整,如果退出则删除当前记录。是否退出?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
        If Result = DialogResult.Yes Then
            b.Reject
        Else
            msgbox("不退出")
        End If
    Else
        b.save
 Tables("晨午检").Current.Locked = True

    End If
End If


--  作者:有点蓝
--  发布时间:2020/6/23 11:07:00
--  
保存到在BeforeSaveDataRow事件判断,或者自己做一个保存按钮处理


--  作者:nxqtxwz
--  发布时间:2020/6/23 11:16:00
--  
以下是引用有点蓝在2020/6/23 11:07:00的发言:
保存到在BeforeSaveDataRow事件判断,或者自己做一个保存按钮处理

老师,写在这个事件中报未知的编译错误怎么办呢?


--  作者:有点蓝
--  发布时间:2020/6/23 11:20:00
--  
请上传实例说明
--  作者:nxqtxwz
--  发布时间:2020/6/23 11:30:00
--  
以下是引用有点蓝在2020/6/23 11:20:00的发言:
请上传实例说明

老师,就是下面的代码,放在BeforeSaveDataRow事件中出现编译错误怎么修改呢?

 

If e.OldTableName = "晨午检" Then
    Dim b As Row = Tables("晨午检").Current
    If b.IsNull("报告日期") OrElse b.Isnull("报告人") OrElse b.Isnull("班级") OrElse b.Isnull("学生姓名") OrElse b.Isnull("性别") OrElse b.Isnull("年龄") OrElse b.Isnull("症状") OrElse b.Isnull("家长姓名")  OrElse b.Isnull("家庭住址")  OrElse b.Isnull("联系电话")  Then
        Dim Result As DialogResult
        Result = MessageBox.Show("填写不完整,如果退出则删除当前记录。是否退出?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
        If Result = DialogResult.Yes Then
            b.Reject
        Else
            msgbox("不退出")
        End If
    Else
        b.save
 Tables("晨午检").Current.Locked = True

    End If
End If


--  作者:有点蓝
--  发布时间:2020/6/23 11:59:00
--  
每个事件的e参数都不一样的:http://www.foxtable.com/webhelp/topics/0604.htm

BeforeSaveDataRow事件没有e.OldTableName这种用法:http://www.foxtable.com/webhelp/topics/0628.htm