Access数据库程序设计(第二版)课件ch10-设计事件驱动与模块程序.pptVIP

Access数据库程序设计(第二版)课件ch10-设计事件驱动与模块程序.ppt

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

分析程序运行即定义了a,b两个全局变量,窗体运行时执行了Load事件后两个变量都为1,当点击了Command1,在Command1_Click过程中定义了一个局部变量a,根据规定这个a变量自动初始化为0,并且在本过程内部屏蔽了全局变量a,所以此时的MsgBox函数显示出a,b的值分别为0和1;当点击了Command2,Command2_Click过程MsgBox函数显示出a,b的值均为1。变量的生命周期变量的生命周期是指变量值的有效存活期。对于模块级和全局变量,其生命周期与应用程序的生命周期相同,也就是说,应用程序运行时,该变量总是起作用的。局部变量的生命周期又分为两种情况:1.用Dim定义的局部变量用Dim定义的局部变量或直接使用一个新变量名,其值只能在所属过程或函数的活动期间有效。当退出该过程或函数时,该变量和它的值都将被清除。当该过程或函数被再次调用执行时,将重新创建和初始化该变量。2.用Static定义的静态变量用Static定义的变量称为静态变量,在所属的过程或函数执行结束后,其值仍然存在。在下次调用该过程时,其值不被重置,仍保留原来(上次运行结束时)的结果,直到模块被复位或重新启动。例如,在一个函数中编写如下代码:StaticaAsIntegera=a+1说明由于用Static定义的变量a是一个静态变量,所以在第一次执行该函数时,a的结果是1。函数执行完毕后,变量a仍然保存在内存中。第二次再执行该函数时就在原来1的基础上再次加1,所以第二次运行完毕后变量a的结果为2。如果要清除过程中的静态变量,选择“运行”菜单的“重新设置”命令。10.2Access常用的对象事件在前面的章节中我们已经学习了事件和事件过程,在本节中我们将主要讨论Access中的对象事件。我们知道VBA是面向对象的高级程序语言,在VBA中有一类特殊的过程,它们的执行是通过动作来触发执行的。这就是一种事件驱动机制。那么我们怎样来理解呢?其实在日常生活中,我们无时无刻不处在事件以及对事件的处理中。例如,交通路口指示灯的变化、电话铃响、有人喊我们的名字等等,这些都是事件。当这些事件发生时,我们会采取相应的行动;如果交通灯是红色的,就要停下来;电话铃响了,就要接电话。由此可以看出,作为客体的我们也可以叫做一个被事件驱动的人。在Access中通过对窗体或报表上的控件等对象施加某种动作,例如,用鼠标单击按钮、窗体或报表的打开等,这样就发生了事件。如何处理、响应这些事件呢?在Access中是通过两种方式来处理窗体、报表或控件的事件响应。一是使用宏对象来设置事件属性;二是为某个事件编写VBA代码过程,这样的代码过程称为事件过程或事件响应代码。编写事件过程是最常用的事件处理方法。在VBA中,使用一种特殊的命名方式来命名事件过程,这种格式的一般形式是:“对象名_事件”。当该对象发生事件时,系统就去寻找相应的处理过程来处理它,也就是说,每个事件都可以由一段程序驱动来响应。Access窗体、报表和控件的事件有很多,下面我们将介绍一些常用的事件过程。键盘事件键盘事件是用户操作键盘所引发的事件,常用的键盘事件有键按下(KeyDown)、键释放(KeyUp)、击键(KeyPress)等。1.键按下事件当在某对象上按下键盘上的任意键时都会触发该事件,其事件定义格式如下:PrivateSub对象_KeyDown(KeyCodeAsInteger,ShiftAsInteger)参数:KeyCode为按键的位置码,Shift为3个状态键(Shift、Ctrl和Alt)的状态。2.键释放事件当在某对象上释放键盘上的任意键时都会触发该事件,其事件定义格式如下:PrivateSub对象_KeyUp(KeyCodeAsInteger,ShiftAsInteger)3.击键事件当在某对象上按下键盘上的任意字符按键时都会触发该事件,其事件定义格式如下:PrivateSub对象_KeyPress(KeyAsciiAsInteger)参数:KeyAscii为返回按键的Ascii码值。例以下示例确定是否已经按下Shift、Ctrl或Alt按键。要求:新建一个窗体名称为Form1,在窗体上放置一个文本框对象,名称为ytest1,显示内容为“键盘事件的测试”,然后打开文本框的属性对话框,在事件选项卡下选择“键按下”事件过程。其代码如下:PrivateSubytest_KeyDown(KeyCodeAsInteger,ShiftAsInteger)DimintShiftDownAsInteger,intAltDownAsIntegerDimintCtrl

文档评论(0)

kd8w + 关注
实名认证
文档贡献者

kd8w

1亿VIP精品文档

相关文档