使用MS Access与VBA
Microsoft Access是微软的另一款产品,用于创建计算机数据库。它可以在Microsoft Windows操作系统、网站或便携媒体上使用。虽然仅使用Microsoft Office Access就可以创建性能良好的数据库,但有时可能需要更复杂的数据库,可能需要执行一些功能,如自动化某些流程并将数据库对象绑定在一起。这些都可以通过在VBA中编程和编写代码技术来实现。学习VBA的Microsoft Access将向Microsoft Office Access 2007中的编程工具定向,并将您指出您可以在其中了解更多有关VBA代码和脚本的资源。
什么是vba?
Visual Basic for Applications或VBA是VB(Visual Basic)的子集,它在其中一个Microsoft Office应用程序内运行。VB应用程序以自己的权利作为应用程序推出,而VBA是托管语言,必须由主机应用程序推出,例如Word,Excel或Access。VBA通过指向主机应用程序的对象库,使用主机应用程序非常轻松地进行交互。对象库是将主机应用程序的所有对象暴露给VBA的文件。能够引用这些对象使您可以通过编写程序或代码来操纵这些对象。
VBA与VB非常相似,但它不包含VB的所有功能,因为它托管在另一个环境中。托管环境,例如MS Word或Access,为使用VBA创建基础。
Access中VBA的结构与布局
VBA是一种现代编程语言,与其他结构化编程语言非常相似,主要用于Microsoft Office及其相关应用程序。Microsoft Access含有自己的编程语言,称为VBA或Visual Basic for Applications。虽然VBA支持微软的Visual Basic的外观和感觉,但它既不是Visual Basic,也不是Visual Basic .NET。Access VBA专门为Microsoft Access设计并支持Microsoft Access对象模型。访问VBA脚本为数据库表单提供动态方面。
VBA不是a面向面向对象的编程语言,如C ++但它有一些相同的基本概念。VBA由一些核心元素组成,它们构成了VBA环境的基本框架。这里我们讨论了VBA的核心元素,特别是与MS访问:
- 对象:在VBA中,几乎所有内容都被视为一个对象。表单,报告,字段,查询以及应用程序被视为对象。您可以创建一个包含数据和对象可以执行的操作的整个对象。可以在这些对象之间创建关系。例如,您还可以引用其他库对象,例如,您可以使用来自Access数据库的数据在访问中执行单词邮件合并。
- 属性:这是对象向用户展示和行为的方式。我们可以通过编程更改属性,例如更改表单如何在屏幕上查看或表单的颜色。
- 方法:方法是可以由对象或上执行的操作。这些是我们可以在对象上呼叫的动作来使它做点什么。例如,我们可以通过调用其移动方法在屏幕上移动表单。可以预览或打印报告对象。如果底层数据已更改,则可以重新查询表单对象。
- 事件:事件是发生在对象上的事情。当用户执行某项操作时,表单的操作随之发生。当我们点击“关闭”按钮时,特定的屏幕或窗口将关闭。我们用VBA编写的大多数程序都是响应事件发生的。事件用于将编程逻辑连接到应用程序。Microsoft Access是基于事件驱动编程模型的。没有必要编写一个控制所有子程序流的主程序。这部分已经被内置到MS Access中,不管你是否使用它。例如,打开访问表单时,会引发OnOpen事件。可以使用此事件编写一段代码来初始化表单,或根据某些筛选条件在表单上显示某些参数。
VBA代码包含在子或函数过程中。模块充当子程序和功能程序的容器。在MS访问中,有两种模块:
- 标准模块:这些模块是主导航窗格中显示的模块,当主导航栏的菜单中选择了选项模块时。这些模块与任何特定对象(例如表单或报告)无关,并且可以从任何对象调用它们。
- 类模块:类模块与特定对象相关联,比如表单或报告。此外,开发人员可以创建自己的类模块。类模块看起来与标准模块完全相同,但是,它们不显示在主数据库窗口中。
有三种不同类型的类模块:
•形成班级模块
•报告类模块
•自定义类模块
类模块链接到它们的对象,并且导出时,模块将与对象一起导出。表单和报告类模块包含与表单或报告有关的子和函数过程。
结论
宏可用于简单任务,例如打开或关闭表单,但它们不能用于构建强大的应用程序。迟早您必须使用VBA完成程序化任务。使用VBA,您可以创建自己的个人功能。宏不可能实现此功能。此外,当性能是一个问题时,VBA代码比宏快。因此,要生成具有导航界面,表单,子表单,查询和报告的数据库,它是最好使用VBA脚本或编程来集成、连接和自动化数据库的所有功能。