Office中国论坛/Access中国论坛

标题: 窗本关闭事件触发问题 [打印本页]

作者: ycxchen    时间: 2011-3-7 16:20
标题: 窗本关闭事件触发问题
本帖最后由 ycxchen 于 2011-3-7 16:25 编辑

我想在窗体关闭前对新录入的记录进行一次检查,于是,在窗体关闭事件中写入如下代码,但不能触发,是不是窗体关闭前对本身文本框的值不进行判别的?盼指教。
Private Sub Form_Close()
If NewRecord Then '检查是否是新记录,以便退出时提示。


If IsNull(Me.
姓名) Or IsNull(Me.性别) Or IsNull(Me.出生日期) Or IsNull(Me.参加工作日期) Then

MsgBox ("
请认真检查姓名、出生日期、入单位日期、参加工作日期等各项数据是否已经录入!")

Exit Sub

End If
end if

作者: todaynew    时间: 2011-3-7 16:59
本帖最后由 todaynew 于 2011-3-7 17:00 编辑

你的两个if的判断与你想要的判断不符。
当在newrecord中输入数据后,这条记录已经不是newrecord了,而应该是最后一条记录。所以第一个if应该修改为判断是否为最后一条记录。
如果连续的输入数据,并想对新输入的数据做判断,那就只能加一个逻辑型字段来区别新输入的记录和既有的记录。
作者: ycxchen    时间: 2011-3-7 17:14
谢谢指教!其实,修改为判断是否为最后一条记录的办法试过了,不行。
作者: todaynew    时间: 2011-3-7 17:21
ycxchen 发表于 2011-3-7 17:14
谢谢指教!其实,修改为判断是否为最后一条记录的办法试过了,不行。

不要用关闭事件,用卸载事件就可以了。
作者: ycxchen    时间: 2011-3-7 17:32
卸载事件、失去焦点事件均试过,不行。
作者: ycxchen    时间: 2011-3-7 17:57
本帖最后由 ycxchen 于 2011-3-7 18:02 编辑

如果新建一个按钮,用单击事件可以解决问题,但为什么窗体本身的关闭等事件不能解决呢?代码在“员工录入”窗体中,盼指教。[attach]45048[/attach]
作者: todaynew    时间: 2011-3-7 19:43
本帖最后由 todaynew 于 2011-3-7 19:44 编辑
ycxchen 发表于 2011-3-7 17:57
如果新建一个按钮,用单击事件可以解决问题,但为什么窗体本身的关闭等事件不能解决呢?代码在“员工录入” ...


卸载事件和关闭事件均可以。
你可以这样测试,先不要第一层的if,看看事件是否能够触发。我测试是可以触发。
然后再按需要设计第一层的IF即可。
作者: ycxchen    时间: 2011-3-8 09:28
todaynew 发表于 2011-3-7 19:43
卸载事件和关闭事件均可以。
你可以这样测试,先不要第一层的if,看看事件是否能够触发。我测试是可以 ...

不知什么原因,在我的电脑就是不行。
作者: aslxt    时间: 2011-3-8 12:37
可以在保存前事件判断,因为关闭窗体前要自动保存数据的,试一试吧?
作者: ycxchen    时间: 2011-3-8 17:05
好的,谢谢!




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3