Foxtable(狐表)用户栏目专家坐堂 → 控制


  共有3323人关注过本帖树形打印复制链接

主题:控制

帅哥哟,离线,有人找我吗?
nxqtxwz
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1495 积分:12175 威望:0 精华:0 注册:2013/3/19 16:41:00
控制  发帖心情 Post By: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


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110765 积分:563757 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/23 11:07:00 [只看该作者]

保存到在BeforeSaveDataRow事件判断,或者自己做一个保存按钮处理


 回到顶部
帅哥哟,离线,有人找我吗?
nxqtxwz
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1495 积分:12175 威望:0 精华:0 注册:2013/3/19 16:41:00
  发帖心情 Post By:2020/6/23 11:16:00 [只看该作者]

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

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


 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110765 积分:563757 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/23 11:20:00 [只看该作者]

请上传实例说明

 回到顶部
帅哥哟,离线,有人找我吗?
nxqtxwz
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1495 积分:12175 威望:0 精华:0 注册:2013/3/19 16:41:00
  发帖心情 Post By: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


 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110765 积分:563757 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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

 回到顶部