您好,欢迎访问全国教育考试教材网
商品分类

VBA编程(基于Access)第一课:VBA的作用及学习方法

1.什么是VBA?

Access 数据库需要VBA 来实现自动化

VB语言是真正的专业编程语言,也是微软的看家语言之一。它与C语言相匹配和补充。 VBA和VB语言具有包容关系。除了使用场景不同外,它们的语法基本相同。

学习VBA基本上可以等同于学习VB。通过学习VBA,可以了解入门编程知识。也有很多人对编程感兴趣并入门。

需要澄清的是,VB语言并没有消亡。 VB系列语言(VB.net、VBA)仍然是十大主流编程语言之一,并且仍然在各个战线(尤其是工业战线)发挥着重要作用。可以毫不夸张地说,学习VB语言的性价比,特别是对于非IT从业者来说,超过了Java、Python等语言,在所有主流编程语言中名列前茅。

与VB的应用场景不同,VBA主要服务于各大Office软件。正如我所说,VBA(包括打包宏)是Office 技术中技术性最强的。

VBA不仅是Office软件实现办公自动化的重要组成部分,也是微软Office软件技术一统天下、难以超越的象征。

VBA的存在足以说明微软是一家试图打破编程领域专业人士与非专业人士之间壁垒的伟大公司(目前是史无前例的,很难说是否还会有其他人)未来)。

Access数据库内置的VBA语言非常实用、功能强大,但有一定的学习难度。它是Access数据库入门五种技术中最难的。

2、VBA有什么用?

对于Access数据库来说,其VBA主要有两个功能:

1.控制形式

2. 进行各种计算

VBA的第一个功能是控制Access数据库的形式。

这项技术是Access数据库入门的基础技术,是刚开始学习Access的女同学必须掌握的。

严格来说,这部分知识并不是VBA技术的核心部分,难度也还不错(比表格、查询、报表技术稍难),而且基本不涉及变量、函数封装的知识。

您只需要掌握一些基本的表单控制VBA技能即可使Access数据库的威力加倍。

以下是一些常见的VBA 使用示例:

1. 刷新表单。表单刷新是实现表单自动化最常用的VBA语句。 me.refresh在Access VBA中可以说是无处不在。

2. 最大化、打开和关闭表单。

3、各部件的控制。例如清除文本框、列表框等。

4.表中每条记录的控制。定位上一项、下一项、第一项、最后一项、添加新记录等。

5.生成并导出各种文件。将查询记录或报告导出为Excel、PDF等文件,或直接打印。

上述操作可以使用VBA语句或宏来完成。

Access封装了大量的宏,是VBA的模块化版本。办公室设计者已经想到了一些上班族常用的操作,并将其封装在宏中。

宏还可以进行一些简单的流程判断,类似于编程。

VBA的第二个功能是执行各种计算。

这部分已经是半专业的编程技术了,涉及到VB编程的知识。

为了说明VBA的计算功能,我们举个例子。现在我们开设了教育培训机构,有赵四、刘能、谢广坤、王老七四位老师。

这四位老师所教授的科目如下:

赵四:GRE中文,每堂课200元

刘能:托福,每节课180元

谢广坤:雅思,每堂课300元

王老七:GRE数学,每节课200元

这四位老师的学费结算方法如下:

1. 按周付费,每周总课时数有所不同。

VBA编程(基于Access)第一课:VBA的作用及学习方法

2. 如果未参加20节课,或刚刚参加20节课,则本周的课时费用为课时数乘以课时费用。

3、超过20节,超出部分单价乘1.5倍。

没问题,您绝对可以使用Excel 完成这项工作。我也同意,如果这个培训学校只有4个老师,Excel就足够了。

但如果学校有100 名教师呢?如果这些老师的报酬和倍数不同怎么办?或者不同的科目有不同的倍数?这个看似简单的计算问题变得极其复杂。

使用Access数据库的教师上课时间计算软件

相信我,在数据量大、逻辑复杂的情况下,用Excel来做这种班费统计工作是相当困难的,甚至是不可能的。

我举的例子其实就是我一位学生的实际需求。 (我一般不接受外包,但这次我是出于同情才这样做的)

出于兴趣,我给他做了这个老师课费统计软件,并用VBA给他封装了计算模块。但问题也随之而来。这个学生的基础不太好。他不仅不知道如何上手(使用Access软件也需要经验和培训),而且根本看不懂代码……这很尴尬。

VBA编程就是这样的。如果没有基础,连模仿猫、模仿老虎都困难。我只好答应他制作一份详细的技术手册,一点一点地教他技术。

使用VBA做计算还是有一定门槛的,并不容易。

从这个案例我们可以得出一些结论:

1、VBA计算能力强,但有一定的技术门槛。

2、VBA高级编程其实并不适合新手。新手只能掌握一些控制形态的技巧。掌握高级编程需要一定的时间和精力。

因此,学习AccessVBA的方法也非常重要,尤其是学习的顺序非常重要。

3.如何学习VBA?

如上所述,VBA技术分为两个层次,难度不同:

1.表单自动化技术。更轻松

2.计算技术。更难

了解了VBA技术的两个方面之后,你就知道学习的顺序了:

一、前期学习VBA的要点

前期学习VBA时,由于学生水平不高,所以主要学习比较简单的形式自动化技术。

现阶段学习VBA的中心应该是围绕服务于Access框架。核心是让Access数据库能够自动运行,优先使用Access,形成技术闭环,尽快解放Access的生产力。

Access的报表功能需要VBA知识

VBA学习现阶段,掌握“现学现学,现卖现卖”的原则就足够了。

别太困惑了。如果问题太复杂,不建议贸然进入不熟悉的轮子。这将使问题变得越来越复杂。

一般来说,上手Access数据库只需要10-30天的时间,不需要很长时间就能熟练使用Access框架。

VBA的入门专题学习主要是熟悉上面提到的各种表单操作。由于这部分技术比较直观,所以只需要几天时间。

要学习用于表单自动化的VBA 技术,实际上不需要专门研究它。你只要按照框架来就可以了。这部分学习VBA确实不难。

2、中后期学习VBA的要点

中后期学习Access数据库VBA技术几乎就是入门编程学习的开始。

是的,一开始学习了VBA之后,接下来我们学习的就是计算机编程知识。

你觉得你很厉害吗?

VBA 编程基本上类似于Java 和Python。计算机都是二进制的,编程的基本原理非常相似。看课本,你会发现书的前半部分的语言基本都是相似的。学习任何编程语言都是一样的,没有那么多的方法。

这部分学习,尤其是自学,是有难度的。我个人不敢说自己已经开始编程了,还在探索和学习中。

这方面的学习注定是痛苦而漫长的,我也很难说自己学到什么程度就够了。我对自己的要求是能够独立完成小程序并卖钱。 (这个要求可能很高)

这部分的研究比较复杂,将单独进行阐述。它属于编程的范畴。这并不容易。有机会的话我们再讨论一下。

用户评论


抓不住i

第一次接触VBA编程,真的有点懵,但看到这篇第一课,感觉有点头绪了。希望后续的教程能更详细一点。

    有19位网友表示赞同!


ok绷遮不住我颓废的伤あ

学习了VBA基础之后,才发现Access的功能原来可以这么强大。感谢作者的分享,学到了很多新知识。

    有12位网友表示赞同!


龙吟凤

我之前用VBA搞过一些小项目,但总是感觉不够深入。这篇第一课让我重新燃起了学习的热情。

    有5位网友表示赞同!


厌归人

这个VBA的作用介绍得挺全面的,我打算用这个方法来提升我的数据库操作能力。

    有16位网友表示赞同!


青山暮雪

第一次看到“学习方法”这个词用在编程上,挺有意思的。希望能从中学到一些实用的技巧。

    有8位网友表示赞同!


你身上有刺,别扎我

学习了VBA之后,发现Access的操作效率提升了不少。这篇第一课对我帮助很大。

    有14位网友表示赞同!


凉话刺骨

这篇文章写得真好,不仅介绍了VBA的作用,还教我们如何学习,让我受益匪浅。

    有17位网友表示赞同!


琴断朱弦

虽然我对VBA不是很熟悉,但看到这篇第一课,我觉得自己也能学会。加油!

    有19位网友表示赞同!


风中摇曳着长发

学习了VBA后,发现Access的数据处理能力确实强大,希望作者能出一套完整的教程。

    有10位网友表示赞同!


初阳

这篇第一课让我明白了VBA在Access中的应用,让我对编程有了更深的认识。

    有9位网友表示赞同!


堕落爱人!

学习了VBA之后,我感觉自己的数据库处理能力得到了很大的提升。感谢作者的教程。

    有10位网友表示赞同!


幸好是你

对于初学者来说,这篇第一课真的很实用,让我对VBA有了更清晰的认识。

    有17位网友表示赞同!


有恃无恐

看了这篇第一课,我决定开始学习VBA编程,希望能提升自己的数据库处理能力。

    有6位网友表示赞同!


◆乱世梦红颜

VBA编程的确是一门很有用的技能,这篇文章让我对学习方法有了新的认识。

    有9位网友表示赞同!


杰克

这篇第一课让我对VBA的作用有了更深的理解,感觉自己的数据库操作能力有望提升。

    有20位网友表示赞同!


炙年

学习了VBA之后,我发现Access的功能真的太多了,希望作者能出一套完整的教程。

    有13位网友表示赞同!


烟雨离殇

这篇文章让我对VBA编程有了全新的认识,希望后续的教程能更深入一些。

    有5位网友表示赞同!


我没有爱人i

这篇第一课让我对VBA在Access中的应用有了更清晰的认识,受益匪浅。

    有13位网友表示赞同!


滴在键盘上的泪

学习了VBA之后,我发现Access的操作变得更加便捷,感谢作者的分享。

    有18位网友表示赞同!


晨与橙与城

这篇第一课让我对VBA编程有了全新的理解,感觉自己的数据库处理能力有望得到提升。

    有9位网友表示赞同!