Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-宏

详细了解access中的宏

时 间:2012-05-16 09:06:43
作 者:蒋灿辉   ID:24104  城市:上海
摘 要:到底什么是宏呢? 我们把那些能自动执行某种操作的命令统称为“宏”。
正 文:

什么是宏

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

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

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

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

  

插图
为什么要用宏

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

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

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

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

  

插图
查看宏设计窗口

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

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

宏设计窗口

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

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

添加后的宏设计窗口

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

 

 
创建宏

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

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

选择宏命令

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

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

了解宏包含的操作

  虽然建好了整个宏,但这些操作之间是如何执行的?

  其实这很简单,我们再看一个例子,如下图所示。

实例窗体

  在这个例子当中,有三个宏名,这三个宏可以成为一个宏组。如果我们执行整个宏组,这些宏将会按照从上到下的顺序执行,相应的操作也都会从上到下执行,如果我们只是执行这个宏组中的某个宏,那么在执行过程当中,只有这个宏的各个操作会按照从上到下的方向一一执行,而其他宏的操作就不会执行。

  如果宏一的第一个操作条件不满足后,宏一的其他几个操作仍然要执行,在宏的设计表格中,每行的“条件”字段只是对同一行的“操作”字段有约束力,而对其他的操作则不起条件约束作用了。

执行宏

  在ACCESS中,宏并不能单独执行,必须有一个触发器。而这个触发器通常是由窗体、页及其上面的控件的各种事件来担任的。比如在窗体上单击一个按钮,这个单击过程就可以触发一个宏的操作。

  现在建立一个窗体。用一个按钮单击事件来触发我们刚才新建的宏“查询”。首先将表“员工简历”上的“姓名”等字段显示在这个窗体上,然后在这个窗体上再添加一个文本框,用这个文本框来输入要查询的员工姓名,注意还要将这个文本框的名字改为“需要查询的值”,完成之后在窗体上添加一个按钮,并把它的名字改为“查询”。添加好以后就可以在这个按钮的属性上设置宏“查询”的触发事件了。

  首先我们选中这个按钮,然后打开这个按钮的属性,如下图所示。

命令按钮属性框

  在属性选项卡上选择“事件”选项,然后将鼠标移动到“单击”选项右边的方框内,单击鼠标左键,这时在这个方框右侧会出现一个“向下”按钮,单击这个按钮,在弹出的下拉选单中单击“宏1.查询”项,这样可以了。以后当这个窗体以数据表视图出现的时候,单击这个按钮就可以执行我们刚才建立的宏了。

  现在我们将视图切换到窗体的数据表视图。我们可以通过单击记录选定器上的不同按钮移动到不同的员工记录上去,现在我们将我们需要查询的员工姓名输入到文本框“需要查询的值”中去,输入完以后,单击“查询”按钮,现在员工记录已经跳到我们刚才所输入的那个员工位置上去了。 



Access软件网QQ交流群 (群号:54525238)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助