设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[模块/函数] 通过按钮更改的控件值为什么不能触发更新事件?

[复制链接]
跳转到指定楼层
1#
发表于 2012-2-26 15:40:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
哪个大侠有空帮忙解决一个问题:通过按钮更改的控件值为什么不能触发更新事件?该如何解决?
Private Sub CountPlus_Click()
Dim C As Integer
C = Val(Me.数量)
Me.数量 = C - 1
If Me.数量.Value < 0 Then
MsgBox "不良数量不可小于0!" & Chr(13) & "至少等于0!", vbOKOnly, "计数错误!"
Me.数量 = 0
End If
End Sub
Private Sub CountReduce_Click()
Dim C As Integer
C = Val(Me.数量)
Me.数量 = C + 1
End Sub

这是一个通过两个按钮(一个增加,一个减小)控制“数量”这个控件的值,可是点击“增加”或“减小”按钮后,控件值更改了,却没有触发更新事件,这是为什么?该如何解决?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2012-2-26 15:42:05 | 只看该作者
补充更新事件代码(“占比率”与“数量”为子窗体控件,“抽检数量”为主窗体控件):
Private Sub 数量_afterUpdate()
Me.占比率 = Val(Me.数量) / Val([Forms]![IQCMaterial]![抽检数量])
End Sub
3#
发表于 2012-2-26 16:29:39 | 只看该作者
对,本来就不会触发!
4#
 楼主| 发表于 2012-2-26 16:34:28 | 只看该作者
那要怎么解决呢?帮主大人
5#
发表于 2012-2-26 17:27:09 | 只看该作者
上传附件吧!
6#
发表于 2012-2-26 17:51:39 | 只看该作者
方法不是没有,我的方法是用sendkey把控件上的内容截取然后粘帖,^x然后^v然后再发一个enter

点击这里给我发消息

7#
发表于 2012-2-26 20:13:11 | 只看该作者
本帖最后由 t小宝 于 2012-2-26 20:13 编辑

通过代码更改控件值确实不能触发更新事件!
解决办法是:用代码更改控件值后执行更新事件过程代码。
Private Sub CountPlus_Click()
Dim C As Integer
C = Val(Me.数量)
Me.数量 = C - 1
If Me.数量.Value < 0 Then
MsgBox "不良数量不可小于0!" & Chr(13) & "至少等于0!", vbOKOnly, "计数错误!"
Me.数量 = 0
End If
数量_afterUpdate
End Sub
Private Sub CountReduce_Click()
Dim C As Integer
C = Val(Me.数量)
Me.数量 = C + 1
数量_afterUpdate
End Sub

点评

这样也是没法触发的  发表于 2012-2-26 21:33

点击这里给我发消息

8#
发表于 2012-2-27 09:46:16 | 只看该作者
7楼没有触发更新事件,但是一种常用的解决方法。
想在代码中触发可以更改文本框的Text属性而不是Value,要先让文本框获得焦点,这样:
Me.数量.SetFocus
Me.数量.Text=0

6楼也是这个原理。
9#
发表于 2012-2-27 10:06:43 | 只看该作者
你想在按钮事件后,触发更新事件!
为何不把更新事件中的代码直接写到按钮事件的代码后面!
10#
 楼主| 发表于 2012-2-29 10:27:44 | 只看该作者
感谢各位的指点,Henry版主真是一语惊醒梦中人呀,这是就最简单直接的解决方法,也许我们学习ACCESS就要用这种精神。小宝版主与Joseph的办法也可以,感谢你们的新方法。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-15 04:23 , Processed in 0.100047 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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