设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2197|回复: 9
打印 上一主题 下一主题

[窗体] 窗本关闭事件触发问题

[复制链接]
跳转到指定楼层
1#
发表于 2011-3-7 16:20:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2011-3-7 16:59:31 | 只看该作者
本帖最后由 todaynew 于 2011-3-7 17:00 编辑

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

不要用关闭事件,用卸载事件就可以了。
5#
 楼主| 发表于 2011-3-7 17:32:19 | 只看该作者
卸载事件、失去焦点事件均试过,不行。
6#
 楼主| 发表于 2011-3-7 17:57:13 | 只看该作者
本帖最后由 ycxchen 于 2011-3-7 18:02 编辑

如果新建一个按钮,用单击事件可以解决问题,但为什么窗体本身的关闭等事件不能解决呢?代码在“员工录入”窗体中,盼指教。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
7#
发表于 2011-3-7 19:43:35 | 只看该作者
本帖最后由 todaynew 于 2011-3-7 19:44 编辑
ycxchen 发表于 2011-3-7 17:57
如果新建一个按钮,用单击事件可以解决问题,但为什么窗体本身的关闭等事件不能解决呢?代码在“员工录入” ...


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

不知什么原因,在我的电脑就是不行。
9#
发表于 2011-3-8 12:37:40 | 只看该作者
可以在保存前事件判断,因为关闭窗体前要自动保存数据的,试一试吧?
10#
 楼主| 发表于 2011-3-8 17:05:49 | 只看该作者
好的,谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-16 20:58 , Processed in 0.083237 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表