设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

123下一页
返回列表 发新帖
查看: 4014|回复: 25
打印 上一主题 下一主题

[窗体] 很烦的数据输入问题,如何避免控件值为空

[复制链接]
跳转到指定楼层
1#
发表于 2012-1-10 12:42:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 简 于 2012-1-10 12:54 编辑

在数据输入中,要求工厂,发件日期,产品代号,外协单位等几个控件的值不准为空,必须要在该控件上输入值后才能输入后面的值。所以如果为空,则msgbox提示,同时焦点落在该控件上。

我做出来的结果,不管是采用更新后事件,还是采用Form_Error事件,都是弹出msgbox提示,焦点老是不能落在控件,而是落在下一控件上,让我很无奈。

失去焦点事件虽然能达到上述目的,但又有个问题,就是不能返回上一个控件,而且稍不注意,所输入的数据值就乱套了。很郁闷。

传上附件,请大家帮忙参考下,在此先谢了。


本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2012-1-10 13:07:23 | 只看该作者
很烦的压缩文件,还要密码{:soso_e101:}
3#
 楼主| 发表于 2012-1-10 20:55:10 | 只看该作者
bbpst 发表于 2012-1-10 13:07
很烦的压缩文件,还要密码

怪了,以前从来不要密码的呀,估计是不是论坛改版的缘故呢。我解压了来看,密码就是:www.office-cn.net。你复制粘贴即可。
4#
发表于 2012-1-10 21:12:44 | 只看该作者
只做了一个,依次类推。

本帖子中包含更多资源

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

x
5#
发表于 2012-1-11 01:01:21 | 只看该作者
本帖最后由 Henry D. Sy 于 2012-1-11 01:01 编辑
  1. Dim ctl As Control
  2.     For Each ctl In Me.Controls
  3.         If TypeOf ctl Is TextBox Or TypeOf ctl Is ComboBox Then
  4.             If IsNull(ctl) Then
  5.                 MsgBox ctl.Name & "不可为空!"
  6.                 ctl.SetFocus
  7.                 Exit Sub
  8.             End If
  9.         End If
  10.     Next
复制代码
6#
 楼主| 发表于 2012-1-11 07:24:44 | 只看该作者
很奇怪,楼上两位朋友的代码放在我的数据库里,焦点就是不落在为空的控件上。这是怎么回事呢,难道我的office2003有问题??要知这个问题是很简单的,并不难,我杂就实现不了呢?
7#
 楼主| 发表于 2012-1-11 07:30:57 | 只看该作者
再问问,我用MsgBox Nz(Len(Me.cbogongchang))来测试,我对Me.cbogongchang不输入数据,这时弹出的提示框按理说应该为0,但显示的却是空白,这是怎么回事呢。
8#
发表于 2012-1-11 08:55:46 | 只看该作者
我理解,字段已有空值了,NZ才会为0,你的字段是否是此情况?
9#
发表于 2012-1-11 10:19:00 | 只看该作者
MsgBox Nz(Len(Me.cbogongchang), 0)
10#
发表于 2012-1-11 12:01:17 | 只看该作者
用一个简单点的方法试一下,先用代码将焦点移开(随便移到一个可以接受焦点的控件,这个控件应该没有什么得到焦点、失去焦点等等的事件发生),然后再移回来。
其实有些事件中有一个cancel参数,在不满足你的要求时将其设置为true,焦点就不会移出,但有时这样很烦人的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-2-25 23:12 , Processed in 0.113868 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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