设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[窗体] 求教:一个主窗体合计问题

[复制链接]
跳转到指定楼层
1#
发表于 2015-6-14 17:30:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教各位老师
       主窗体合计文本框引用子窗体控件,为什么数量变更后,主窗体合计不变,只有光标移下一笔记录才会变呢?有没有什么方法修改数量后就发生变化呢?谢谢!!!


本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享分享 分享淘帖 订阅订阅
2#
发表于 2015-6-14 19:30:44 | 只看该作者
s's's's's's's's's's's
3#
 楼主| 发表于 2015-6-15 07:47:07 | 只看该作者
不能沉,问题没能解决,顶一下...

点击这里给我发消息

4#
发表于 2015-6-15 10:32:56 | 只看该作者
个人理解获得焦点后不移开,应该是数据未更新,所以合计没变。
5#
 楼主| 发表于 2015-6-15 11:03:12 | 只看该作者
zhidao 发表于 2015-6-15 10:32
个人理解获得焦点后不移开,应该是数据未更新,所以合计没变。

只能说这笔记录未完全更新,但数量 AfterUpdate 事件已触发了。
6#
发表于 2015-6-15 11:24:51 | 只看该作者
如下试试

本帖子中包含更多资源

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

x
7#
发表于 2015-6-15 14:15:53 | 只看该作者
建议楼主先了解下窗体事件触发顺序再来研究这个问题。以下摘自网络(印象中论坛上应该有,但是没找到):
处理窗体中的数据
        在窗体中的记录间移动并对数据进行更改时,将发生窗体事件和控件事件。例如,第一次打开一个窗体时,将按照下列顺序发生相应的事件:
        Open(打开,窗体) → Load(加载,窗体) → Resize(调整大小,窗体) → Activate(激活,窗体) → Current(成为当前,窗体) → Enter(进入,控件) → GotFocus(获得焦点,控件)
        类似地,在关闭窗体时,也将按照下列顺序发生相应的事件:
Exit(退出,控件) → LostFocus(失去焦点,控件) → Unload(卸载,窗体) → Deactivate(停用,窗体) → Close(关闭,窗体)
        如果已经对控件中的数据进行更改,控件和窗体的 BeforeUpdate (更新前)事件和 AfterUpdate (更新后)事件都将在 Exit 事件发生之前发生。

使用子窗体

        如果打开的窗体中包含有子窗体,则在加载主窗体之前先加载子窗体及其控件。因而,子窗体及其控件的事件(例如,Open 事件、Current 事件、Enter 事件和 GotFocus 事件)将在主窗体的事件发生之前先发生。但子窗体不会发生 Activate 事件,因此在打开主窗体时仅触发主窗体的 Activate 事件。
        类似地,当关闭包含子窗体的窗体时,在窗体卸载之后子窗体及其包含的控件也会卸载。子窗体不会发生 Deactivate 事件,因此在关闭主窗体时仅触发主窗体的 Deactivate 事件。对应于控件、窗体和子窗体的事件将按照下列顺序发生。
        1.  对应于子窗体控件的事件(例如 Exit 和 LostFocus)
        2. 对应于窗体控件的事件(包括子窗体控件)
        3. 对应于窗体的事件(例如 Deactivate 和 Close)
        4.  对应于子窗体的事件
         注释   因为子窗体的事件是在主窗体关闭后发生的,所以某些事件(例如,从子窗体的某个事件中取消主窗体的关闭)将不会发生。您可能需要将这些类型的验证移动到主窗体的事件中。

按上面的顺序,我们可以知道。修改一条记录,那么控件的顺序便是:
Open(打开,窗体) → Load(加载,窗体) → Resize(调整大小,窗体) → Activate(激活,窗体) → Current(成为当前,窗体) → Enter(进入,控件) → GotFocus(获得焦点,控件)→BeforeUpdate (更新前,控件)和 AfterUpdate (更新后,控件)Exit(退出,控件) → LostFocus(失去焦点,控件)
由于求和的文本控件是基于记录文本控件的基础上计算的。因此,应该要等到记录更新后才重新计算的,所以会有一些延时的。
做子窗体查询时,我往往是通过控件更新后或者更改事件来刷新数据的。当然,最好的还是用按钮来执行,不用考虑触发事件的顺序。
8#
 楼主| 发表于 2015-6-15 16:15:31 | 只看该作者
谢谢版主如此详细说明,非常感谢,弄明白了!
9#
 楼主| 发表于 2015-6-15 16:20:51 | 只看该作者

谢谢!受教了,

点击这里给我发消息

10#
发表于 2015-6-15 17:45:31 | 只看该作者
讲解得很详细,受教了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-29 15:38 , Processed in 0.083231 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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