浅谈静态局部变量及其在VBA中的巧用

2017-06-01 23:41管丽娟
电脑知识与技术 2017年8期

管丽娟

摘要:论文首先阐述了变量的相关知识点,然后根据变量的作用域和生存期对VBA中的变量分类作简要介绍,并采用实例对静态局部变量与动态局部变量的进行剖析,最后根据静态局部变量的特点,并结合本人的教学实践,实现了具有特殊效果的窗体设计。

关键词:VBA;变量作用域;变量生存期;静态局部变量

中图分类号:TP312 文献标识码:A 文章编号:1009-3044(2017)08-0081-02

变量是指程序运行时其值可以改变的数据,每一个变量都必须有一个名称(通常用标识符来命名),用以标识其在内存单元的存储位置,内存位置上的数據就是该变量的值。变量是内存中的临时单元,变量的类型决定了变量存取数据的类型,能参与什么哪些运算以及用它来保留在程序执行过程中的中间结果和最后结果,这是程序设计语言课中的一个基础知识点,比如《Visual Basic》、《C|语言》等课程中都有这一知识点的介绍。怎样才能正确有效使用变量?理清变量在程序中的作用范围和持续时间是非常关键,因为变量的作用范围定义不当和持续时间的问题,将会导致数据传递失败和数据消失,是一个不可忽视的问题,特别是在基于面向对象程序设计理念进行应用系统开发时尤为重要。

1VBA中变量的分类与区别

1.1变量的分类

VBA(VisualBasic ForApplications)是VisualBasic简化的编程语言,作为一种嵌入式语言,与Access配套使用,多用于高级窗体和报表设计。变量的作用范围也称为变量的作用域,在VBA中按作用域变量可分为局部变量,模块变量,全局变量3类;变量的持续时间也称为变量的生存期,即从变量定义语句所在的过程第一次运行到程序代码执行完毕并将控制权交回主调过程为止的时间,局部变量按生命周期可分为动态局部变量和静态局部变量2类。下面结合本人的教学实践,谈谈静态局部变量在VBA中灵活运用。

1.2静态局部变量与动态局部变量的区别

为了更好运用静态局部变量,理清静态局部变量与动态局部变量的区别成为急需解决的关键问题,拟通过上机试运行下面两段程序来进行理解学习。

1)动态局部变量应用举例

程序运行结果:三次显示都是m的值为1

2)静态局部变量应用举例

程序运行结果:三次显示分别是m的值为1;m的值为2;m的值为3

分析比较结果得出静态局部变量与动态局部变量的区别:动态局部变量在过程调用结束时自行消失,即再次被调用时变量会初始化;而静态局部变量可在程序示例间保留它的值,即再次被调用时仍保留它上一次的值,也就是说静态局部变量的生存期是整个模块执行的时间。2静态局部变量的巧用

因为静态局部变量的生存期是整个模块执行的时间,在利用VBA进行小型数据库开发时,如能巧妙地运用静态局部变量,将达到事半功倍的效果。

1)利用静态局部变量进行用户只有进行三次登录权限的窗体设计,界面图1所示:

编写代码时,只需在“登录”按钮的单击事件中,设置一个静态局部变量,每单击一次“登录”按钮,让静态局部变量记数一次,当记数达到3时将终止用户继续登录。具体代码如下:

2)利用静态局部变量进行动画窗体延时效果的设计

登录成功后,可以不直接跳转到系统主界面,而是来一段系统功能简介或系统使用说明,并配以动画效果,持续时间最好控制在30-60秒内,这样做既能让用户对系统或使用说明有一定了解,又能避免用户产生厌烦情绪。为实现这一功能设计了“欢迎”窗体,界面如图2所示。

编写代码时,只需在“欢迎”窗体的Timer事件中,设置一个静态局部变量i,每间隔TimerInterval时段,即每执行一次Timer事件,i就计数一次,至到执行的次数满足延时的时间时停止。具体代码如下:

为了达到延时效果,还需设置将Me.TimerInterval属性设置为100毫秒,通过执行300次,即300*100=30000毫秒,最终实现延时30秒的效果。如对窗体横向滚动效果代码进行改写,即可实现纵向滚动或闪烁等效果的延时。

3结束语

论文首先就变量的概念和特点及其功能进行了相关介绍,紧接着对变量的作用范围和持续时间将会影响数据传递和存储进行剖析,并对VBA中的变量进行分类和区分,最后根据静态局部变量的特点,并巧妙地运用到窗体设计中,实现了窗体的特殊效果。通过以上内容探讨和研究,对变量有了更深层次的理解和认识,该知识点的理解和掌握有助于其他程序设计语言学习,程序设计时切忌死记硬背,要灵活运用,从而达到提高编程能力的目的。