Office中国论坛/Access中国论坛

标题: [求助]列表框的问题 [打印本页]

作者: isyuan    时间: 2007-2-18 00:45
标题: [求助]列表框的问题
条件:通过上方的“类别”和“专业”的选择,使中间的列表框(List9)的内容发生变化。该功能已经做好了,是通过改变列表框的RowSource属性实现的。
目的:再根据列表框中的内容,动态的即时的显示右下方的人数合计(Label41)。
问题:列表框的内容改变之后,右下方的人数合计不能动态的即时的显示(如图一)。当把鼠标点在列表框里时,这时候右下方的人数合计才能显示出来(如图二)。

附代码如下:
Private Sub List9_AfterUpdate()
Dim SumRs As Integer
Dim y As Integer
For y = 0 To List9.ListCount - 1
SumRs = SumRs + Val(List9.Column(5, y))
Next y
Label41.Caption = "人数合计" & Str(SumRs)
End Sub

是怎么回事,应该怎么解决?请高手指点迷津!谢谢![attach]23144[/attach]
[attach]23145[/attach]

作者: 红尘如烟    时间: 2007-2-18 13:06
在List9的AfterUpdate事件代码最后加 Me.Repaint强制刷新试试

作者: isyuan    时间: 2007-2-19 03:56
不行,但我找到原因了。
在“帮助”里查到如下:

  • 当使用 Visual Basic 或含有 [url=mkMSITStore:C:\Program%20Files\Microsoft%20Office\OFFICE11\2052\vbaac10.chm::/html/acactSetValue.htm]SetValue[/url] 操作的[url=mkMSITStore:C:\Program%20Files\Microsoft%20Office\OFFICE11\2052\vbaac10.chm::/html/acevtAfterUpdate.htm#]宏[/url]来更改控件的数据时,不会触发这些事件。但是,如果随后移到另一条记录或保存该记录,该[url=mkMSITStore:C:\Program%20Files\Microsoft%20Office\OFFICE11\2052\vbaac10.chm::/html/acevtAfterUpdate.htm#]窗体的[/url] AfterUpdate 事件便会发生。



  • 当更新控件或记录时,将会触发 AfterUpdate 事件。在一条记录中,当控件失去焦点或用户按 Enter 或 Tab 时,每个控件中被更改的数据才会更新;当焦点离开记录或用户单击“记录”菜单中的“保存记录”时,整条记录会更新且数据会保存到数据库中。[em09]




    欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3