百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Access数据库宏与VBA代码的使用(精品一)

haoteby 2025-07-06 12:15 50 浏览

Access数据库的宏相当于实现某一功能的一系列命令和操作,我们无需写代码,系统已经将主体代码集成一块,我们只需要做一些简单的操作即可,而VBA代码则是实实在在的代码写到程序里面,我们可以自己编写,也可以将宏转换为VBA代码然后进行修改和编辑。

宏的使用

下面我们先来学习宏的使用,首先创建一个能够实现简单功能的宏,点击创建选项卡,选择宏后,一个宏就创建好了,点击右键保存,命名后,可以添加我们想要实现特定功能的宏:

可以看到右侧有很多种类型的宏,我们选择“用户界面命令”中的一种“MessageBox”宏,这个宏的功能就是在运行它的时候能够弹出一个对话框,对话框上可以显示我们想要的信息,当然还可以对其它一些属性进行设置,将图标直接拖到主体区域即可,直接出现了下面的界面:

可以看到,在消息一行我们键入想要弹出的信息,第二行就是是否发出声音,第三行是发出警告,第四行是标题:

设置好这个宏后,我们可以运行一下,运行有两种方法,一种是在宏打开状态下,点击设计选项卡下的叹号,这个和我们之前讲过的查询比较类似,点击后即是运行状态啦,第二种是将这个宏关闭,然后在宏模块下找到这个宏双击即可运行,看看运行后的结果是什么样子:

可以很清楚地看到,在弹出的对话框上的信息都是按照我们的意愿设计的,有标题和信息,还有警告,点击确定就没啦。

大家可以看到,这个宏是可以折叠的,点击左上角的小十字就实现了,如果想展开,点击它就可以了,如果将它关闭再次想要修改的时候,可以在左侧窗格内右键点击该宏,进入设计视图就可以修改了:

除了直接创建宏的方法,我们还有一种创建宏的方法,就是通过窗体中的控件来实现宏的创建,首先创建一个空白窗体,在窗体上加一个“按钮”控件:

加完“按钮”之后,在属性表中选择“事件”选项,在右侧的浏览选择“宏生成器”

点击确定,可以看到这个界面和我们直接创建宏是一样的了,我们可以在右侧找到相应的宏拖到界面当中即可:

继续键入弹出消息标题等:

此时,运行窗体,然后点击窗体上的按钮,就会弹出这个对话框:

其实,我们也可以在界面中的下拉条中选择宏命令,只要熟悉这些宏命令,是可以轻松找到的:

VBA代码的创建

Access数据库的VBA代码窗口,给我们提供了编程的平台,我们可以通过这个平台来写一些自己想要实现一些特定功能的代码。VBA代码的书写格式比较简单,所以没有学过编程的人也同样可以轻车熟路,只要仔细学习都能够成为数据库的编程高手。

下面我们先来创建一个VBA代码窗口,点击创建选项卡,在“宏与代码”中,可以看到模块、类模块和Visual Basic编辑器,这些都可以进入到VBA代码窗口:

下面这个就是弹出的Visual Basic编辑器,可以看到有菜单栏、工具栏、工程管理器和代码窗口等:

我们在代码窗口可以写代码,这些代码是对Access数据库中的对象进行操作的,VBA是嵌入到数据库内部的,与我们最简单的VB6.0软件最大的不同就是在语法格式上对对象的引用不同,在VB6.0软件中,我们对数据库的引用相对要繁琐一些,因为它是属于数据库外部的,而VBA是在数据库内部的,引用要简单一些,可以打个比方,一个班级只有一个人叫小明,所以老师直接点小明,大家都知道指的是谁,如果一个学校点名,点小明,就有可能有重名的,所以必须指定是哪个年级和哪个班级的小明。

我们还可以通过窗体中的对象事件来打开Visual Basic编辑器,打开窗体的设计视图,选择对象按钮后,在属性表中事件的单击项中选择事件过程:

然后,点击右侧的浏览,则Visual Basic编辑器就打开了,就可以进行我们的代码编写啦,在代码窗口中有对象和过程,可以实现不同的功能和操作:

我们还可以通过视图打开立即窗口和监视窗口等,这些窗口都是在代码调试过程中起作用的,而在左侧的资源管理器中是管理主体程序和各种模块以及类模块用的:

VBA代码子程序和函数

首先,我们创建一个空白窗体,将窗体上放置一个按钮控件:

点击该按钮的事件选项,选择右侧的浏览标识后,会弹出VBA代码编辑器:

此时,我们可以在代码窗口编写代码,我们在单击按钮事件中加入这个代码【MsgBox ("弹出消息框")】:

当我们运行窗体,点击控件时,这些代码就会执行,而实现的功能就是弹出一个消息框,我们将刚刚创建的窗体进行保存后,运行窗体进入到窗体视图后,点击按钮就会响应这些代码,可以看到点击按钮后弹出了一个消息框:

其实,我们还可以通过定义一个过程,用单击事件来调用这个过程,也可以实现类似的功能,那么如何定义一个过程呢?首先进入到VBA代码编辑器,点击菜单栏的插入,选择过程后,就会出现下面的界面:

我们为这个过程起个名称,类型选择“子程序”,范围选择“公共的”,点击确定后,在xxk()过程中加入弹出消息框代码,并且在按钮单击事件中调用这个过程,实际相当于调用子程序:

此时,我们保存窗体,运行窗体点击按钮就会出现下面的界面,这个功能和我们刚刚的功能是完全一样的,这样做的好处是,在别的事件中也可以调用同样功能的子过程,这样可以减少代码的编写:

我们也可以定义函数,然后在事件在调用定义好的函数,如何定义函数呢?在进入到VBA代码编辑器,点击菜单栏的插入,选择过程后,在弹出的界面中类型项选择“函数”,确定后,可以发现在下面我们可以去定义函数了:

下面我们定义一个函数,也让它实现弹出一个消息框,用法基本与子程序是一致的:

运行窗体,进入窗体视图来看看效果,可以看到弹出函数定义的信息啦:

VBA代码创建“属性”

首先打开VBA代码编辑器,选择添加过程:

在弹出的对话框中,类型选择属性并给这个属性一个名称:

可以看到,在程序窗口中多出一些属性代码,上面的属性代码表示获取,下面的属性代码表示设置:

在进行属性代码编写前,我们要定义一个字符串变量,以便我们在属性代码中使用,那么如何定义一个字符串变量呢?其实也比较简单,我们只需要在最上面的位置定义即可,定义的语法格式是固定的:

属性中Property Let是设置变量用的,而Property Get是取回属性用的:

运行窗体后,点击按钮,可以看到下面的效果:

从之前我们讲到的了程序和函数有什么区别呢,其实了程序是没有返回值的,而函数却可以有返回值的。

结语:喜欢的请关注、转发,下期更精彩!

相关推荐

一日一技:用Python程序将十进制转换为二进制

用Python程序将十进制转换为二进制通过将数字连续除以2并以相反顺序打印其余部分,将十进制数转换为二进制。在下面的程序中,我们将学习使用递归函数将十进制数转换为二进制数,代码如下:...

十进制转化成二进制你会吗?#数学思维

六年级奥赛起跑线:抽屉原理揭秘。同学们好,我是你们的奥耀老师。今天一起来学习奥赛起跑线第三讲二进制计数法。例一:把十进制五十三化成二进制数是多少?首先十进制就是满十进一,二进制就是满二进一。二进制每个...

二进制、十进制、八进制和十六进制,它们之间是如何转换的?

在学习进制时总会遇到多种进制转换的时候,学会它们之间的转换方法也是必须的,这里分享一下几种进制之间转换的方法,也分享两个好用的转换工具,使用它们能够大幅度的提升你的办公和学习效率,感兴趣的小伙伴记得点...

c语言-2进制转10进制_c语言 二进制转十进制

#include<stdio.h>intmain(){charch;inta=0;...

二进制、八进制、十进制和十六进制数制转换

一、数制1、什么是数制数制是计数进位的简称。也就是由低位向高位进位计数的方法。2、常用数制计算机中常用的数制有二进制、八进制、十进制和十六进制。...

二进制、十进制、八进制、十六进制间的相互转换函数

二进制、十进制、八进制、十六进制间的相互转换函数1、输入任意一个十进制的整数,将其分别转换为二进制、八进制、十六进制。2、程序代码如下:#include<iostream>usingna...

二进制、八进制、十进制和十六进制等常用数制及其相互转换

从大学开始系统的接触计算机专业,到现在已经过去十几年了,今天整理一下基础的进制转换,希望给还在上高中的表妹一个入门的引导,早日熟悉这个行业。一、二进制、八进制、十进制和十六进制是如何定义的?二进制是B...

二进制如何转换成十进制?_二进制如何转换成十进制例子图解

随着社会的发展,电器维修由继电器时代逐渐被PLC,变频器,触摸屏等工控时代所替代,特别是plc编程,其数据逻辑往往涉及到数制二进制,那么二进制到底是什么呢?它和十进制又有什么区别和联系呢?下面和朋友们...

二进制与十进制的相互转换_二进制和十进制之间转换

很多同学在刚开始接触计算机语言的时候,都会了解计算机的世界里面大多都是二进制来表达现实世界的任何事物的。当然现实世界的事务有很多很多,就拿最简单的数字,我们经常看到的数字大多都是十进制的形式,例如:我...

十进制如何转换为二进制,二进制如何转换为十进制

用十进制除以2,除的断的,商用0表示;除不断的,商用1表示余0时结束假如十进制用X表示,用十进制除以2,即x/2除以2后为整数的(除的断的),商用0表示;除以2除不断的,商用1表示除完后的商0或1...

十进制数如何转换为二进制数_十进制数如何转换为二进制数举例说明

我们经常听到十进制数和二进制数,电脑中也经常使用二进制数来进行计算,但是很多人却不清楚十进制数和二进制数是怎样进行转换的,下面就来看看,十进制数转换为二进制数的方法。正整数转二进制...

二进制转化为十进制,你会做吗?一起来试试吧

今天孩子问把二进制表示的110101改写成十进制数怎么做呀?,“二进制”简单来说就是“满二进一”,只用0和1共两个数字表示,同理我们平常接触到的“十进制”是“满十进一”,只用0-9共十个数字表示。如果...

Mac终于能正常打游戏了!苹果正逐渐淘汰Rosetta转译

Mac玩家苦转译久矣!WWDC2025苹果正式宣判Rosetta死刑,原生游戏时代终于杀到。Metal4光追和AI插帧技术直接掀桌,连Steam都连夜扛着ARM架构投诚了。看到《赛博朋克2077》...

怎么把视频的声音提出来转为音频?音频提取,11款工具实测搞定

想把视频里的声音单独保存为音频文件(MP3/AAC/WAV/FLAC)用于配音、播客、听课或二次剪辑?本文挑出10款常用工具,给出实测可复现的操作步骤、优缺点和场景推荐。1)转换猫mp3转换器(操作门...

6个mp4格式转换器测评:转换速度与质量并存!

MP4视频格式具有兼容性强、视频画质高清、文件体积较小、支持多种编码等特点,适用于网络媒体传播。如果大家想要将非MP4格式的视频转换成MP4的视频格式的话,可以使用MP4格式转换器更换格式。本文分别从...