设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 4591|回复: 8

[Access本身] 如何在判断文本框空值,并提示后,将焦点回到空白的文本框内?

[复制链接]
发表于 2006-4-23 04:19:00 | 显示全部楼层 |阅读模式
我在用下面的VBA语句判断(成本)框内为空值,并提示后,如何将焦点回到(成本)框内,继续输入?

Private Sub 成本_LostFocus()
If IsNull(成本) = True Then
MsgBox "请填入正确的成本!"
End If
End Sub


简单问题困扰了我。

谢谢。
发表于 2006-4-23 04:28:00 | 显示全部楼层
用exit事件
 楼主| 发表于 2006-4-23 04:46:00 | 显示全部楼层
具体怎么写呢?麻烦写个例子可以吗?
发表于 2006-4-23 04:53:00 | 显示全部楼层
写在控件的更新前事件中
If IsNull(成本) = True Then
MsgBox "请填入正确的成本!"
cancel=true

 楼主| 发表于 2006-4-23 05:56:00 | 显示全部楼层
楼上的方法我试过了,没有用。空值也没有提示出来。
发表于 2006-4-23 06:14:00 | 显示全部楼层
Private Sub 成本_LostFocus() '失去焦点事件
If IsNull(成本) Then
    MsgBox "请填入正确的成本!"
    Me.其它文本框.SetFocus '先移到别的文本框
    Me.成本.SetFocus '然后返回到成本文本框
End If
End Sub


[此贴子已经被作者于2006-4-22 22:15:21编辑过]

 楼主| 发表于 2006-4-23 06:43:00 | 显示全部楼层
搞定了,呵呵。

只是奇怪为什么必须要先把焦点移到别的框里面,然后再移回来?而不能直接在失去焦点之后移回来。



谢谢楼上的大大。
发表于 2006-4-23 14:24:00 | 显示全部楼层
以下是引用markatcn在2006-4-22 22:43:00的发言:


搞定了,呵呵。

只是奇怪为什么必须要先把焦点移到别的框里面,然后再移回来?而不能直接在失去焦点之后移回来。

谢谢楼上的大大。



Private Sub 成本_Exit(Cancel As Integer)
If IsNull(成本) Then
    MsgBox "请填入正确的成本!"
    Cancel = True
End If
End Sub
发表于 2009-7-3 20:43:27 | 显示全部楼层
这也正是我想要的,爽呀
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-6-30 01:17 , Processed in 0.081183 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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