VBA创建Access数据库的4种方法

Excel由于本身的局限性,存储数据量过大的时候,往往会导致工作簿假死无反应,电脑卡顿等情况。那么,将数据存取到Access数据库中就是一种好的解决方法。今天,我们谈谈怎么使用Excel VBA来创建数据库,数据表的几种方法。

本次所有方法创建的数据表如下图:

方法一:使用Access.Application(Access对象库)创建数据库。

在编写代码之前,我们需要先引用Access对象库。操作方法:单击VBE窗口上的【工具】按钮,在弹出的快捷菜单中单击【引用】按钮,

接下来,在弹出的对话框选择【Microsoft Access 16.0 Object Library】。单击确定即引用了Access对象库。

注意:不同Office版本的Access对象库名称略有不同。如下表:

Microsoft Access 9.0 Object Library Microsoft 2000

Microsoft Access 10.0 Object LibraryMicrosoft 2002

Microsoft Access 11.0 Object LibraryMicrosoft 2003

Microsoft Access 12.0 Object LibraryMicrosoft 2007

Microsoft Access 14.0 Object LibraryMicrosoft 2010

Microsoft Access 15.0 Object LibraryMicrosoft 2013

Microsoft Access 16.0 Object LibraryMicrosoft 2016

这样,我们就搭建好了编程环境,然后输入下图代码即可。

方法二:使用DAO对象(Data Access Object)创建数据库(已被ADOX取代)。

DAO(Data Access Object) 数据访问对象是一个面向对象的数据库接口,它显露了 Microsoft Jet 数据库引擎(由 Microsoft Access 所使用),并允许 Visual Basic 开发者通过 ODBC 像直接连接到其他数据库一样,直接连接到 Access 表。DAO 最适用于单系统应用程序或小范围本地分布使用。

同样在编写代码之前,我们需要先引用DAO对象库。操作方法:单击VBE窗口上的【工具】按钮,在弹出的快捷菜单中单击【引用】按钮,接下来,在弹出的对话框选择【Microsoft DAO 3.6 Object Library】。单击确定即引用了DAO对象库。

注意:若Excel版本低于Excel 2003,则可能是【Microsoft DAO 3.51 Object Library】。

然后输入如下代码即可。

DAO创建数据库方法:

Workspace.CreateDatabase(Name,Locale,Options)

Workspace:表示使用的工作环境,一般省略。

Name :数据库路径和名称

Locale :指定字符串比较的规则

Options :可选项,指定数据格式的版本及数据库是否加密

DAO创建数据表方法:

database.CreateTableDef(name,attributes,source,connect)

database :数据库对象

name :数据表名称

attributes :表的特征

source :外部数据表的名称

connect :数据源信息

方法三:使用ADOX对象(Microsoft ActiveX Data Objects Extensions for Data Definition Language and Security)创建数据库。

Microsoft ActiveX Data Objects Extensions for Data Definition Language and Security (ADOX) 是对 ADO 对象和编程模型的扩展。它可用于创建、修改和删除模式对象。它还包括安全对象,可用于维护用户和组,以及授予和撤消对象的权限。 要通过开发工具使用 ADOX,需要建立对 ADOX 类型库的引用"Microsoft ADO Ext. for DDL and Security"。

同样在编写代码之前,我们需要先引用ADOX对象库。操作方法:单击VBE窗口上的【工具】按钮,在弹出的快捷菜单中单击【引用】按钮,接下来,在弹出的对话框选择【Microsoft ADO Ext 6.0 for DDL and Security】。单击确定即引用了ADOX对象库。

注意:若Excel版本低于Excel 2007,则可能是【Microsoft ADO Ext 2.x for DDL and Security】。

然后输入如下代码即可。

ADOX创建数据库方法:myCat.Create (ConnectString)

myCat :ADOX.Catalog对象

ConnectString:数据库连结字

连结字:

Excel2007以下版本 Provider:=Microsoft.Jet.OLEDB.4.0;Data Source=

Excel2007以上版本Provider:=Microsoft.ACE.OLEDB.12.0;Data Source=

ADOX创建数据表方法:myCat.Tables.Append(Item)

myCat.Tables:ADOX数据表对象

Item :数据表对象

方法四:使用ADO对象(Microsoft ActiveX Data Objects)+ADOX对象(Microsoft ActiveX Data Objects Extensions for Data Definition Language and Security)+SQL语句创建数据库。

ADO (ActiveX Data Objects,ActiveX数据对象)是Microsoft提出的应用程序接口(API)用以实现访问关系或非关系数据库中的数据。例如,如果您希望编写应用程序从DB2或Oracle数据库中向网页提供数据,可以将ADO程序包括在作为活动服务器页(ASP)的HTML文件中。当用户从网站请求网页时,返回的网页也包括了数据中的相应数据,这些是由于使用了ADO代码的结果。

其中ADO+SQL用于创建表和字段,ADOX用于创建数据库

同样在编写代码之前,我们需要先引用ADO对象库和ADOX对象库(引用ADOX对象库见方法三)。操作方法:单击VBE窗口上的【工具】按钮,在弹出的快捷菜单中单击【引用】按钮,接下来,在弹出的对话框选择【Microsoft ActiveX Data Object 6.0 Library】。单击确定即引用了ADO对象库。

注意:若Excel版本低于Excel 2007,则可能是【Microsoft Active Data Object 2.x Library】。

然后输入如下代码即可。

本文来自企鹅号 - Excellenter媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏MasiMaro 的技术博文

WinSock2 API

title: WinSock2 API tags: [WinSock, 网络编程, WinSock2.0 API, 动态加载, WinSock 异步函数] ...

17310
来自专栏码洞

深入Python多进程编程基础

多进程编程知识是Python程序员进阶高级的必备知识点,我们平时习惯了使用multiprocessing库来操纵多进程,但是并不知道它的具体实现原理。下面我对多...

12820
来自专栏大内老A

在一个空ASP.NET Web项目上创建一个ASP.NET Web API 2.0应用

由于ASP.NET Web API具有与ASP.NET MVC类似的编程方式,再加上目前市面上专门介绍ASP.NET Web API 的书籍少之又少(我们看到的...

537100
来自专栏张善友的专栏

Net Framework 2.0 事务处理

事务 处理事务是构建许多业务逻辑的一个重要方面。 .NET Framework 2.0 中的事务 在 .NET Framework 2...

18680
来自专栏大内老A

[WCF权限控制]从两个重要的概念谈起:Identity与Principal[上篇]

在安全领域,认证和授权是两个重要的主题。认证是安全体系的第一道屏障,守护着整个应用或者服务的第一道大门。当访问者叩门请求进入的时候,认证体系通过验证对方提供凭证...

23390
来自专栏散尽浮华

linux运维中的命令梳理(二)

回想起来,从事linux运维工作已近5年之久了,日常工作中会用到很多常规命令,之前简单罗列了一些命令:http://www.cnblogs.com/keving...

29880
来自专栏葡萄城控件技术团队

ASP.NET MVC 5 - 控制器

MVC代表: 模型-视图-控制器 。MVC是一个架构良好并且易于测试和易于维护的开发模式。基于MVC模式的应用程序包含: · Models: 表示该应用程序的数...

21180
来自专栏码洞

深入Python多进程编程基础——图文版

多进程编程知识是Python程序员进阶高级的必备知识点,我们平时习惯了使用multiprocessing库来操纵多进程,但是并不知道它的具体实现原理。下面我对多...

13510
来自专栏菩提树下的杨过

Silverlight在线创建PDF(支持中文)

用MS的silverlight来生成Adobe的pdf文档?象不象到肯德基买麦当劳? 哈... 言归正传: 首先要用到下面二个开源库 1.开源项目 http:...

214100
来自专栏xingoo, 一个梦想做发明家的程序员

Spark源码分析之Spark Shell(下)

继上次的Spark-shell脚本源码分析,还剩下后面半段。由于上次涉及了不少shell的基本内容,因此就把trap和stty放在这篇来讲述。 上篇回顾:S...

333100

扫码关注云+社区

领取腾讯云代金券