您现在的位置: 中国男护士网 >> 考试频道 >> 计算机等级 >> 二级辅导 >> ACCESS >> 辅导 >> 正文    
  ACCESS入门教程(十五)宏的使用 【注册男护士专用博客】          

ACCESS入门教程(十五)宏的使用

www.nanhushi.com     佚名   不详 

什么是宏

  到底什么是宏呢? 我们把那些能自动执行某种操作的命令统称为“宏”。

  宏也是一种操作命令,它和菜单操作命令都是一样的,只是它们对数据库施加作用的时间有所不同,作用时的条件也有所不同。菜单命令一般用在数据库的设计过程中,而宏命令则用在数据库的执行过程中。菜单命令必须由使用者来施加这个操作,而宏命令则可以在数据库中自动执行。

  在ACCESS中,一共有五十三种基本宏操作,这些基本操作还可以组合成很多其他的“宏组”操作。在使用中,我们很少单独使用这个或那个基本宏命令,常常是将这些命令排成一组,按照顺序执行,以完成一种特定任务。这些命令可以通过窗体中控件的某个事件操作来实现,或在数据库的运行过程中自动来实现。

  事件操作即像“单击”按钮、“双击”列表选项这些行为都是对控件的事件操作。所以我们常常会听到别人说“单击‘某某’按钮执行‘某某宏命令’”,就是这个意思。

  

插图

 
为什么要用宏

  先看个例子,有这样一个窗体,上面有一个数据表。现在在这个数据表中添加一个功能,用一个文本框输入要查询的内容,而用一个“查询”按钮来完成查询的工作,并将查询后的数据打印在报表上。

  在窗体那一课里讲的命令按钮向导就能实现这个功能,但对于每个控件来说,要实现相应的功能光凭借向导是远远不够的。

  要让这些控件实现一定的功用,在ACCESS中有四种办法。当然最简单的就是使用控件向导了,除此之外还有“宏”、“VBA”和“SQL语言”,使用这些方法可以使控件完成几乎所有的数据库操作。而这其中,向导最简单,但实现的功能有限,而宏虽然只有53种基本操作,但可以组合成很多种宏组命令,这样就能实现很多ACCESS中有关窗体、报表、查询的功能,使用起来也非常方便。而VBA和SQL语言相对起来对用户的要求也要高一些,当然VBA和SQL语言可以实现的功能也更加全面,自主性也更强,但它们都要写程序。对于很多普通的用户,他们不要求会得太多,只要能完成手上的工作就可以了,所以这时使用宏就是他们最好的选择了。

  使用宏非常方便,不需要记住各种语法,也不需要编程,只需利用几个简单宏操作就可以对数据库完成一系列的操作,中间过程完全是自动的。

  

插图

查看宏设计窗口

  磨刀不误砍柴功,要学会使用宏,我们先来看看宏的设计窗口吧。

  将鼠标移动到数据库窗口中的宏对象上,单击左键,就切换到“宏”对象上了,现在的所有操作都是针对宏的了。在这个窗口右侧的“创建方法和已有对象列表”列表栏中什么都没有,这是因为宏的创建方法非常简单,也很单一,所以既不需要有什么“宏向导”,也不必有很多的视图,在宏的创建过程中只有一个设计窗口。这个设计窗口非常简单,现在我们将鼠标移动到数据库窗口的“新建”菜单上,单击鼠标左键,就会在屏幕上弹出宏设计窗口,如下图所示。在这个窗口中就可以设计宏了。

宏设计窗口

  在宏的设计窗口中,“操作”下面的那一列就是宏所能执行的各种操作,在ACCESS2000中,一共有五十三种基本操作,这些操作我们可以通过单击这列中任何一个值弹出的下拉选单中来选择,而“备注”下面的那一列中可以输入执行这种操作时的备注。

  在宏设计器中,还有两个列的内容是可选的,这就是“宏名”和“条件”字段,现在将鼠标移动到工具栏上,单击“宏名”按钮“宏名”按钮,就会发现在宏设计器上出现了一个“宏名”列,并且这个“宏名”按钮也凹陷下去,同样单击工具栏上的“条件”按钮“条件”按钮,在设计器上就会再出现一个“条件”列。这时的“条件”按钮处于凹陷状态。此时的宏的设计窗口如下图所示。

添加后的宏设计窗口

  宏名这一列就是用来定义一个或一组宏操作的名字,以后要执行这个宏操作时,只要直接运行就可以了。如果我们想在宏执行某个操作之前,对宏是否能执行进行一些限制,就需要在条件这一列中输入相应的条件表达式,这样可以实现在宏执行之前先判断条件是否满足,如果满足则执行这个宏,如果不满足,则不能执行这个宏。

创建宏

  讲了宏的设计窗口,现在该亲手来创建一个宏了。首先我们要打开一个数据库,单击数据库窗口选项卡上的“宏”对象,然后单击数据库窗口上的“新建”选项。这时就弹出了宏设计器窗口。

  因为这“宏名”和“条件”两列并不是宏设计窗口上的默认选项,没有这两列,如果要用到这两个选项,就需要单击工具栏上的这两个选项。现在这两列都出现在窗口上了。这时我们就可以先为这个宏取个宏名,就叫“查询”吧,然后我们将鼠标移动到操作这一列的第一行中,左键单击下拉框右面的“向下”按钮,这时就会弹出一个下拉菜单,在这个菜单上选择所需的操作命令,然后单击这个选项,那这个操作就会出现在这个下拉框中了。现在我们要执行一个叫“Gotocontrol”宏命令,那么就在这个下拉框中选中这个操作命令,如下图所示。

选择宏命令

  在选择了基本宏操作后,我们还要在宏设计窗口下部的操作参数“控件名称”中输入此操作需要的参数,为了确定操作对象的焦点,我们在这个位置输入“姓名”,这样当我们执行这个宏的时候窗口上的焦点就会移动到“姓名”这个字段上来了。基本上每个操作都有操作参数,有的多一些,有的少一些,有的是必须填写的,有的则可以取默认的值。只有设置好参数的宏操作才是合法的。不然ACCESS就不会接受。

  刚才我们所做的只是这个宏的第一个操作,将查询的焦点移到“姓名”这个字段上,下一步我们要再加一个操作去找到“姓名”这个字段中的相应记录。要实现这些,就将鼠标移动到表格的第二行,然后在操作这一个格选取“FINDRECORD”,现在我们来设定操作参数,参数“查找内容”这一栏中,我们输入“=[需要查询的值].value”,这个“需要查询的值”是窗体上一个专门用来输入查询值的文本框的名字,而“匹配”这一栏中选择“整个字段”,“格式化搜索”选“是”,其他的几个参数都可以取默认,将这些选好以后。“查询”宏就建好了。当然别忘了保存整个宏啊。

补充一:打开/关闭宏设计窗体中的条件和宏名栏

  要打开宏设计窗体中的条件或宏名栏,只要将鼠标移动到工具栏上的“条件”或“宏名”按钮上,然后单击这个按钮,看到这个按钮凹陷下去,这时在设计窗体上就打开了“条件”或“宏名”栏。

  而要关闭这两个栏或其中的一个栏时,也只要将鼠标再移动到工具栏上的“条件”或“宏名”按钮上,单击这个按钮左键,当这个按钮变平以后,“条件”或“宏名”栏就关闭了。 

  

插图
补充二:为宏的操作设定条件

  在宏执行之前给宏设定条件是非常普遍的一种做法,这样就可以有条件地执行某些宏命令,在这个输入框内我们可以像在给查询制定规则那样使用“表达式生成器”来完成条件的设定,要打开“表达式生成器”只要在这个条件网格内单击鼠标右键,并单击弹出菜单上的“生成器......”命令就可以了,如下图所示。  

表达式生成器

补充三:调试宏

  在Access中,可以直接执行创建好的宏,这通过在宏设计器窗口中单击工具栏上的“执行”按钮就可以执行宏了,但常常会遇到一些问题,这时就需要依靠Access提供的测试功能来修改错误,其中一个主要的方法就是单步执行宏。

  首先要单击“执行”菜单上的“单步”命令。这时会弹出一个对话框,如下图所示,在这个对话框上,单击“单步”按钮以执行显示在“宏单步执行”对话框中的操作,单击“停止”按钮,以停止宏的执行并关闭对话框。单击“继续”按钮,以关闭单步执行并执行宏的未完成部分。

单步执行对话框

  如果宏中存在错误,在按照上述过程单步执行宏时将会在窗口中显示“操作失败”对话框,这个对话框将显示出错误操作的操作名称、参数以及相应的条件。利用该对话框可以了解在宏中出错的操作,然后,单击“暂停”按钮进入宏设计窗口对出错宏进行相应的操作修改。

补充四:将宏转化为模块补

  将宏保存为模块,可以加速宏操作的执行速度。要将宏转化为模块,只要在数据库窗口中,选中这个宏,然后“文件”菜单下的“另存为”命令,如下图所示,然后选择将它保存为模块。并单击“确定”按钮就可以将这个宏保存为同名的“模块”了。

另存宏对话框

宏转化对话框

 

文章录入:杜斌    责任编辑:杜斌 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     

    联 系 信 息
    QQ:88236621
    电话:15853773350
    E-Mail:malenurse@163.com
    免费发布招聘信息
    做中国最专业男护士门户网站
    最 新 热 门
    最 新 推 荐
    相 关 文 章
    没有相关文章
    专 题 栏 目

      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)                            【进男护士社区逛逛】
    姓 名:
    * 游客填写  ·注册用户 ·忘记密码
    主 页:

    评 分:
    1分 2分 3分 4分 5分
    评论内容:
  • 请遵守《互联网电子公告服务管理规定》及中华人民共和国其他各项有关法律法规。
  • 严禁发表危害国家安全、损害国家利益、破坏民族团结、破坏国家宗教政策、破坏社会稳定、侮辱、诽谤、教唆、淫秽等内容的评论 。
  • 用户需对自己在使用本站服务过程中的行为承担法律责任(直接或间接导致的)。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表网友个人观点,与本网站立场无关。