设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[窗体] 文本框的change事件中出现的这个小问题(如何直接endif)该怎么解决?

[复制链接]
跳转到指定楼层
1#
发表于 2019-3-20 10:36:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
01  Private Sub 数量_Change()
02       If IsNumeric(Me.数量.Text) = False  Then
03          Me.数量.Text = 1
04       End If
05       代码1
06  End Sub

执行的时候,当IsNumeric(Me.数量.Text) = False时,代码执行的顺序是02-03-01-02-03-04-05-06-04-05-06
注意红色的部分,结果就是05行的代码1被重复执行了1次,原因应该是当IsNumeric(Me.数量.Text) = False时,执行了Me.数量.Text = 1,导致if没运行完就又触发了Private Sub 数量_Change()事件,当Private Sub 数量_Change()事件完成后又要去执行前面没执行完的if事件。
请问下各位,这里有什么办法能避免05行的代码1被执行2次吗?也就是说在执行完Me.数量.Text = 1后能直接endif,而不是再次触发Private Sub 数量_Change()事件
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2019-3-20 11:43:57 | 只看该作者
要看你05是什么代码啊。上传附件。
3#
 楼主| 发表于 2019-3-22 08:21:15 | 只看该作者
admin 发表于 2019-3-20 11:43
要看你05是什么代码啊。上传附件。

就是一个简单的由Me.数量.Text计算另一个变量值的代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-1 09:27 , Processed in 0.080084 second(s), 26 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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