• 网站导航

数据库的建立过程(建立数据库的两种方法)

更新时间:2021-09-23 12:55:10 来源:  网络
近期可能很多人都在关注数据库的建立过程相关的内容,今日小编也是在网上找了很多关于 数据库的建立过程 相关信息并整理如下,希望对大家有所帮助:

【分享成果,随喜正能量】自己的事情,永远不要寄托希望于他人身上,踏踏实实,去把事情一步一步完善。别人的事情,随缘尽善就可以,别费劲所有的心力去试图捞别人于苦海中。世事变迁,境遇沉浮本就不受人管控,唯一要做的就是在力所能及的范围里顺应时代的洪流。顺势为之,道法自然。

《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 如何创建数据库中的表?

本讲内容参考程序文件:VBA与数据库操作(第一册).xlsm


数据库的建立过程(建立数据库的两种方法)

我20多年的VBA实践经验,全部浓缩在下面的各个教程中:

第7套教程(共三册):《VBA之EXCEL应用》:是对VBA基本的讲解

第1套教程(共三册):《VBA代码解决方案》:是入门后的提高教程

第4套教程(16G):VBA代码解决方案之视频(第一套的视频讲解)

第3套教程(共两册):《VBA数组与字典解决方案》:是对数组和字典的专题讲解

第2套教程(共两册):《VBA数据库解决方案》:是对数据库的专题讲解

第6套教程(共两册):《VBA信息获取与处理》:讲解VBA的网络及跨程序应用

第5套教程(共两册):VBA中类的解读和利用:类及接口技术的讲解

第8套教程(共三册):VBA之Word应用(最新教程):word中VBA的利用

上述教程的学习顺序:

① 7→1→3→2→6→5或者7→4→3→2→6→5。

② 7→8

以上就是关于数据库的建立过程 相关问题啦,如需了解更多关于数据库的建立过程问题,关注我们的下次更新哦