一种基于Access的应用程序菜单设计

时间:2022-03-20 09:28:52

一种基于Access的应用程序菜单设计

摘要:对于开发基于数据库的中小型管理系统来说,采用Access 数据库应用程序直接能满足实际需求,其界面友好、易学好懂、开发简单、接口方便、功能强大,对程序设计能力的依赖性不高,使其成为最受欢迎的数据库管理系统之一。菜单操作是用户在使用应用程序时最有效的操作方法,但Access中没有专门的菜单设计器,文章介绍了利用宏来实现菜单的设计,为Access应用程序的开发者提供借鉴。

关键词:数据库管理;Access;宏;菜单

中图分类号:TP311 文献标识码:A 文章编号:1009-2374(2009)15-0073-02

Microsoft的数据库管理系统Access是一个桌面型的小型关系数据库,是当今业界最具影响力的应用系统,对于开发基于数据库的中小型管理系统来说,采用Access 数据库应用程序能直接满足实际需求,其界面友好、易学好懂、开发简单、接口方便、功能强大,对程序设计能力的依赖性不高,使其成为最受欢迎的数据库管理系统之一。

菜单(Menu)作为所有应用系统实现其功能的首选,而被开发者和用户所喜闻乐见,对于多数IDE(Integration Development Development)来说,它们本身大都提供了较为健壮的菜单设计器,使得其菜单设计变得十分简单。虽然在Access中没有专门的菜单设计器,但我们仍然可以利用宏来方便的进行菜单设计。

一、自定义全局菜单的设计

(一)菜单的类型

Access中涉及到的菜单一般有如下几种:

1.内置菜单。系统默认提供的命令列表,它涵盖了Access的所有功能和操作,是开发和设计应用程序的有力工具。

2.全局菜单。一种特殊的命令列表,Access所有窗口中皆显示此菜单。

3.快捷菜单。在工具栏、属性表、控件、对象或屏幕区域(如标题栏或窗口背景)上单击鼠标右键时所显示的命令列表。命令列表会根据单击对象的不同而改变。

在Access中,全局菜单和快捷菜单既可以是内置的也可以是自定义的,内置菜单(系统的)主要用于开发设计阶段,自定义菜单(应用程序的)主要用于应用程序中。本文主要讨论用Access的宏来进行自定义菜单的设计(全局菜单、快捷菜单)。

(二)设计过程

绝大部分的Windows应用程序都有自己的特殊菜单,要想在自己的应用程序中加入个性化的菜单,我们可以通过宏来方便的实现。

1.准备窗体。首先,创建一个名为My Form的窗体,本窗体用于承载自定义全局菜单。然后打开窗体的属性窗口,在“其它”选项页中的“菜单栏”属性(MenuBar)输入框中输入将要运行的菜单宏名称(如Main Menu)。即表示在运行My Form窗体时用MainMenu宏生成的菜单来取代Access内置全局菜单。

2.设计菜单宏

(1)主菜单设计。首先,进行主菜单的设计,其操作步骤为:1)选择Access对象――宏;2)用“新建”的方法打开Access宏设计器;3)选择Add Menu操作,并输入其操作参数;4)重复第3)步,直到输入完整个主菜单项,最后将其保存为“Main Menu”(注意此宏名称要与My Form窗体之“菜单栏”属性对应),具体如图1所示:

(2)一级子菜单设计。上述宏设计器中的“菜单宏名称”作为主菜单的下拉菜单项或一级子菜单,需要另外创建一个宏来进行设计。其操作步骤为:1)创建一个新宏;2)输入每个宏组的宏名(该宏名将作为下拉菜单项或一级子菜单名称显示),选择相应的操作并输入其操作参数;3)若某个一级子菜单下还有二级子菜单,则其操作应选为“Add Menu”,并输入相应操作参数;4)重复2)、3)步骤,直到输入完该主菜单下全部一级子菜单项,最后将其保存。

注意:保存时,宏名称一定要与主菜单中指定的某个“菜单宏名称”相对应。二级子菜单的设计与一级子菜单相同,其保存的宏名称为一级子菜单宏所指定的菜单宏名称。

3.菜单宏特殊符号处理

(1)访问键(&)。一种组合键,它能够不使用鼠标而将焦点移到菜单、命令或控件上。一般使用Alt加上字符组合键的方法(如Alt+F)。用来快速访问、执行某个菜单命令。

在Access宏中使用“&”符号为某个命令设置访问键,具体方法为:

为主菜单项设置访问键时,直接在其宏的“操作参数”之“菜单名称”栏内输入:(&字母),加上括号是为了与Windows风格相适应。

为子菜单项设置访问键时,直接在其“宏名”栏内输入:(&字母)。

在宏中定义的访问键,可直接应用于菜单,而不须另外激活。

(2)快捷键(^、{ })。能够直接执行菜单命令的功能键或组合键。一般用于子菜单项上。在Access中使用“^”或“{ }”符号来设置快捷键。在菜单中定义快捷键需要二个步骤来完成。一是要在菜单宏的“宏名”栏内输入相应的组合键,例如F5或Ctrl+O。此组合键是为了显示而输入的,它并不作用于菜单。二是要创建一个名称为AutoKeys的宏组来为组合键赋值(激活)。即为每组组合键设置相应的操作,使其作用于菜单。

(3)分隔线(-)。能够将菜单项进行适当分组,使得菜单更加直观和便于操作。设置方法为:在宏组间适当位置插入一个空行,在“宏名”栏内输入“-”(西文负号)即可。

(4)菜单状态设置。Windows风格的菜单项往往能随着操作对象的改变而随之增减或变灰、变实,即所谓敏感菜单,利用Access的SetMenuItem操作可以很方便的实现。一般情况下,使得菜单变为敏感是在程序中实现的,Access的VBA提供了这样的开发环境。

SetMenuItem操作的语法为:

DoCmd.SetMenuItem menuindex[, commandindex][, subcommandindex][, flag]

Menuindex:菜单索引值(见上文),从-1 开始的整数,代表活动窗口中的有效菜单索引,即主菜单项的编号。

Commandindex:命令索引值(见上文),从 0 开始的整数,代表由 menuindex 参数所选择的菜单上的有效命令索引,即一级子菜单项的编号。

Subcommandindex:子命令索引值,从 0 开始的整数,代表由 commandindex 参数所选择的子菜单上的有效子命令索引,即二级子菜单的编号。

Flag:固有常量,用来表示菜单项状态,它是如下常量之一:

AcMenuCheck 勾选

AcMenuGray 变灰

AcMenuUncheck 去掉勾选

acMenuUngray(默认值) 变实

二、自定义快捷菜单的设计

自定义快捷菜单的设计与自定义全局菜单的设计大同小异,其区别有二点:

1.在主菜单设计中忽略“菜单名称”,因为快捷菜单无须显示其主菜单名称。其一级子菜单项和二级子菜单项的设计与自定义全局菜单一样。

2.在菜单承载窗体属性窗口的“其它”选项中,将其设置成某个宏的名称,如:Main Menu。

三、结语

综上所述,在自定义菜单设计(包括全局菜单和快捷菜单)过程中,我们必须注意以下几个主要环节和步

骤:

1.创建一个承载窗体用来显示菜单,将其“菜单栏”属性(Menu Bar)或“快捷菜单栏”属性(Shortcut Menu Bar)设置成某个宏的名称。

2.设计由上述窗体指定了属性的菜单宏。

3.在菜单宏的设计过程中注意访问键、快捷键的定义和激活,使用分隔线使菜单更直观和清晰。

4.使用DoCmd对象的SetMenuItem操作,灵活设置菜单状态,使之成为一个敏感菜单。

我们对Access应用程序中的菜单所采用的设计思想和实现方法具有简单、快速、方便等特点,也具有良好的功能扩展能力,对于类似的计算机管理信息系统软件的设计和实现方面,也具有一定的参考价值。

参考文献

[1]寥信彦.Access 2002中文版入门与提高实用教程[M].北京:中国铁道出版社,2002.

[2]武马群.数据库应用技术Access 2000[M].北京:北京工业大学出版社,2005.

[3]Junwei Cao,Daniel P Spooner,James D Funereal Agent based resource management for grid computing[C]. In: Proc of the 2nd IEEE/ACM International Symposium on Cluster Computing and the Grid(CCGRID'02). Los Alamitos: IEEE Computer Society Press,2002.

[4]Buyya R,Chapin S,DiNucci D. Architectural Models for Resource Management in the Grid [EB/OL]. www.Buyya.eom/papers/gridmodels.pdf

[5]Karl,Donald,Ian Foster,Modeling Stateful Resources with Web Services [EB/OL]. /wsrf/ws-wsrf.pdf

[6]龚伟.用Visual Basic、ASP、Access 2002制作考试系统[M].北京:人民邮电出版社,2002.

[7]罗彬,刘独玉.用VB6. 0 设计Access 数据库的安全性[J].四川轻化工学院学报,2000,13(2).

作者简介:陈敏琳(1966-),女,湖南常德人,湖南文理学院助理实验师,研究方向:计算机应用。

上一篇:浅析混凝土裂缝的原因与处理 下一篇:高校后勤社会化管理工作的改革与创新