数据库的建立解析,动态数据库的建立的过程及维护解析?

营销圈公众号引导关注

《VBA数据库解决方案》教程是我推出第二套教程,目前已经是第一版修订了。这套教程定位于中级,是学完字典后的另一个专题讲解。数据库是数据处理的利器,教程中详细介绍了利用ADO连接ACCDB和EXCEL的方法和实例操作,教程第一版的修订内容主要是完成所有程序文件的32位和64位OFFICE系统测试。

这套教程共两册,八十四讲,今后一段时间会给大家陆续推出修订后的教程内容。今日的内容是第11讲:动态数据库的建立。

数据库的建立解析,动态数据库的建立的过程及维护解析?

第十一讲 利用VBA代码,动态建立数据库

大家好,今日继续讲解VBA数据库解决方案的第11讲内容,如何动态的建立数据库。

VBA代码数据库解决方案一书写到这里,已经讲了很多,相信大家对于数据库的概念应该了然于胸了。我们也开始逐步讲解数据库的实际操作,有的朋友说你示例总数据库是事先建立的,是否可以用VBA代码动态建立数据库呢?今日的这讲我们就解决这个问题。在程序中动态的建立数据库是完全可以实现的,今日的内容需要用到的知识点为ADOX,我们要先对这个知识点进行必要的讲解。

1 什么是ADOX

ADOX是Microsoft ActiveX Data Objects Extensions for Data Definition Language and Security 的简写,是对ADO对象和编程模型的扩展。可用于创建、修改和删除模式对象,如表格的创建,安全对象的实施,可用于维护用户和组,以及授予和撤消对象的权限。

要通过开发工具使用ADOX,首先需要建立对 ADOX 的引用。引用对象为:“Microsoft ADO Ext. for DDL and Security.”当然也可以在过程中创建,我这时讲到引用和过程中创建,朋友们不会陌生了。这和ADO的应用和创建是一个道理。

2 ADOX的对象

ADOX的对象主要用下面的内容

2.1 Catalog 包含描述数据源模式目录的集合。

2.2 Column 表示表、索引或关键字的列。

2.3 Group 表示在安全数据库内有访问权限的组帐号。

2.4 Index 表示数据库表中的索引。

2.5 Key 表示数据库表中的主关键字、外部关键字或唯一关键字。

2.6 Procedure 表示存储的过程。

2.7 Table 表示数据库表,包括列、索引和关键字。

3 ADOX对象的方法

3.1 Append(Columns) 将新的 Column 对象添加到 Columns 集合。

3.2 Append(Groups) 将新的 Group 对象添加到 Groups 集合。

3.3 Append(Indexes) 将新的 Index 对象添加到 Indexes 集合。

3.4 Append(Keys) 将新的 Key 对象添加到 Keys 集合。

3.5 Append(Procedures) 将新的 Procedure 对象添加到 Procedures 集合。

3.6 Append(Tables) 将新的 Table 对象添加到 Tables 集合。

3.7 ChangePassword 更改用户帐号的密码。

3.8 Create 创建新的目录。

3.9 Delete 删除集合中的对象。

3.10 Refresh 更新集合中的对象,以反映针对提供者可用的和指定的对象。

4 ADOX对象的属性

4.1 Count 指示集合中的对象数量。

4.2 DefinedSize 指示列的规定最大大小。

4.3 DeleteRule 指示主关键字被删除时将执行的操作。

4.4 IndexNulls 指示在索引字段中有 Null 值的记录是否有索引项。

4.5 Name 指示对象的名称。

4.6 NumericScale 指示列中数值的范围。

4.7 Precision 指示列中数据值的最高精度。

4.8 PrimaryKey 指示索引是否代表表的主关键字。

4.9 RelatedColumn 指示相关表中相关列的名称(仅关键字列)。

4.10 SortOrder 指示列的排序顺序(仅索引列)。

4.11 Type(关键字) 指示关键字的数据类型。

5 利用ADOX创建一个数据库的实例

我们看下面的代码:

Sub mynz_11’创建数据库及表

Dim catADO As Object

Dim strPath, strTable, strSQL As String

Set catADO = CreateObject(“ADOX.Catalog”)

strPath = ThisWorkbook.Path & “\mydata2.accdb” ‘此处是一个完整的路径

strTable = “员工记录” ‘表名称

If Dir(strPath) <> “” Then Kill strPath ‘如果有一个名称相同的表,那么删除

catADO.Create “Provider=Microsoft.ACE.OLEDB.12.0;Data Source=” & strPath ‘打开数据库的连接

‘下面的代码将创建一个名为“员工记录”的表包含的字段有员工编号、姓名、性别、部门、职务、备注

strSQL = “CREATE TABLE ” & strTable _

& “(员工编号 long not null primary key,” _

& “姓名 text(20) not null,” _

& “性别 text(1) not null,” _

& “部门 text(20) not null,” _

& “职务 text(20) ,” _

& “备注 text(20))”

catADO.ActiveConnection.Execute strSQL

MsgBox “创建数据库成功!” & vbCrLf _

& “数据库文件名为:” & strPath & vbCrLf _

& “数据表名称为:” & strTable & vbCrLf _

& “保存位置:” & ThisWorkbook.Path, _

vbOKOnly + vbInformation, “创建数据库”

Set catADO = Nothing

End Sub

代码截图:

数据库的建立解析,动态数据库的建立的过程及维护解析?

代码的解读:由于大部分在代码有注释只需要再解释两个语句:

1) strSQL = “CREATE TABLE ” & strTable

SQL 中的CREATE TABLE 语句用于创建数据库中的表。SQL CREATE TABLE 语法:

CREATE TABLE 表名称(列名称1 数据类型,列名称2 数据类型,列名称3 数据类型,….)

2) catADO.ActiveConnection.Execute strSQL

这句的解释在上一讲中已经详细的讲过了,没有记录集的返回

运行结果:

数据库的建立解析,动态数据库的建立的过程及维护解析?

打开数据库和表:

数据库的建立解析,动态数据库的建立的过程及维护解析?

今日内容回向:

1 如何创建一个数据库?

2 如何创建数据库中的表?

好了,这篇文章的内容营销圈就和大家分享到这里,如果大家对网络推广引流和网络创业项目感兴趣,可以添加微信:Sum8338 备注:营销圈引流学习,我拉你进直播课程学习群,每周135晚上都是有实战的推广引流技术和网络创业项目课程分享,当然是免费学!

版权声明:本站部分文章来源互联网用户自发投稿,主要目的在于分享信息,版权归原作者所有,不承担相关法律责任。如有侵权请联系我们反馈邮箱yingxiaoo@foxmail.com,我们将在7个工作日内进行处理,如若转载,请注明本文地址:https://www.yingxiaoo.com/74913.html