设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[窗体] 求解:如何让文本框重新获取焦点?

[复制链接]
跳转到指定楼层
1#
发表于 2010-9-11 15:57:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 cookyliang 于 2010-9-11 16:01 编辑

问题的前提是:
当文本框输入的内容被检验有错误时,将弹出错误提示对话框,要求重新输入并默认只能选择“确定”键。
问题出现于:
在选择“确定”键后,焦点不能重新回到这个需要重新输入的文本框内。
具体请见附件
感谢回复~~

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享分享 分享淘帖 订阅订阅
2#
发表于 2010-9-11 17:01:40 | 只看该作者
应该在更新前写入这段代码,更新后事件是无法判断的.

Private Sub DOCID_BeforeUpdate(Cancel As Integer)
    If Len(Me.DOCID) <> Len("ED-C1-O-年年月月-流水号") Then
      
       If MsgBox("该合同编号不符合标准格式!请重新输入。" & vbNewLine & "" & vbNewLine & "标准格式为:ED-C1-O-年年月月-流水号", vbOKOnly + vbExclamation, "操作出错!") = vbOK Then
'         Me.DOCID = "ED-C1-O-年年月月-流水号"
         Cancel = True
'         Me.DOCID.SetFocus
         Me.DOCID.SelStart = Len(Me.DOCID) - 8 'SelStart 属性指定或确定所选文本起始点;或者在未选取任何文本时指定或确定插入点的位置。Integer 型,可读写。
         Me.DOCID.SelLength = Len(Me.DOCID) 'SelLength 属性选取文本的数量,起始点由SelStart决定。
      End If
   
    End If
End Sub
3#
发表于 2010-9-12 03:31:04 | 只看该作者
hjb016 说的不错!
4#
发表于 2010-9-12 07:19:37 | 只看该作者
5#
发表于 2012-8-17 17:41:58 | 只看该作者
hjb016 发表于 2010-9-11 17:01
应该在更新前写入这段代码,更新后事件是无法判断的.

Private Sub DOCID_BeforeUpdate(Cancel As Integer ...

管用,顶起
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-19 06:31 , Processed in 0.087224 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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