Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

加载、打开、当前,更新前、更新后概念模糊

宋和兴  发表于:2011-10-18 19:15:13  
复制

在窗体中,有很多属性掌握得不是秀理性,如:加载、打开、当前,更新前、更新后概念模糊,

 

 

请老师们就以上几个概念给予形象的说明举例,在此我先谢谢了!

 

Top
丘山 发表于:2011-10-18 21:54:29

Open 事件发生在 Load 事件之前,后者在窗体被打开且窗体记录开始显示时被触发。

首次打开窗体时,下列事件将按如下顺序发生:

OpenLoad → Resize → ActivateCurrent

Close 事件发生在 Unload 事件之后,后者在窗体被关闭但尚未从屏幕上删除之前被触发。

当关闭窗体时,下列事件将按如下顺序发生:

UnloadDeactivateClose

当 Close 事件发生时,可以打开另一个窗口或要求输入用户名来产生日志项,以表明使用该窗体或报表的用户。

如果想确定宏或事件过程使用 Open 事件还是 Load 事件,则请注意这两者间的一个显著差别:Open 事件能被取消,而 Load 事件不能被取消。例如,如果在一个事件过程中为窗体的 Open 事件动态生成窗体的记录源,并且如果没有记录可显示,则可以取消窗体的打开操作。同样,Unload 事件可以被取消,但 Close 事件却不能。



丘山 发表于:2011-10-18 22:00:14

在更新控件或记录时,将触发 BeforeUpdate 事件。在一条记录中,当控件失去焦点或用户按 Enter 或 Tab 时,每个控件中更改的数据都将更新。当焦点离开该记录或用户单击“记录”菜单上的“保存记录”时,整条记录都将得到更新,并且数据将保存在数据库中。

在窗体的某一控件中输入新数据或更改数据后,再移到另一条记录或通过单击“记录”菜单上的“保存记录”保存该记录时,窗体的 AfterUpdate 事件将紧跟着该控件的 AfterUpdate 事件发生。移动到另一条记录时,该控件的 ExitLostFocus 事件发生,接着指针移到的记录的 Current 事件发生,然后该记录中第一个控件的 EnterGotFocus 事件发生。若要运行 AfterUpdate 宏或事件过程而不运行 ExitLostFocus 宏或事件过程,请使用“记录”菜单上的“保存记录”命令保存记录。

只有在更改了控件中的数据时,才会运行 BeforeUpdate 宏和事件过程。当计算控件中的值发生更改时,此事件不会发生。只有在更改了记录中一个或多个控件的数据时,才会运行窗体的 BeforeUpdate 宏和事件过程。

对于窗体,可以使用 BeforeUpdate 事件在移到另一记录之前取消对记录的更新。

即使用户在控件中键入了新值,仍必须等到保存数据(更新记录)后 OldValue 属性设置才会更改。如果取消更新,OldValue 属性值将替换控件中的现有值。



总记录:2篇  页次:1/1 9 1 :