人人好,今日继续解说VBA数据库解决方案的第11讲内容,若何动态的确立数据库。VBA代码数据库解决方案一书写到这里,已经讲了许多,信赖人人对于数据库的观点应该了然于胸了。我们也最先逐步解说数据库的实际操作了,有的同伙说你示例总数据库是事先确立的,是否可以用VBA代码动态确立数据库呢?今日的这讲我们就解决这个问题。在程序中动态的确立数据库是完全可以实现的,今日的内容需要用到的知识点为ADOX,我们要先对这个知识点举行需要的解说。
一 什么是ADOX:ADOX是Microsoft ActiveX Data Objects Extensions for Data Definition Language and Security 的简写,是对ADO工具和编程模子的扩展。可用于建立、修改和删除模式工具,如表格的建立,平安工具的实行,可用于维护用户和组,以及授予和打消工具的权限。
要通过开发工具使用ADOX,首先需要确立对 ADOX 的引用。引用工具为:”Microsoft ADO Ext. for DDL and Security.”固然也可以在历程中建立,估量我这时讲到引用和历程中建立,同伙们不会陌生了。这和ADO的应用和建立是一个原理。
二 ADOX的工具有哪些,ADOX的工具主要用下面的内容
1 Catalog 包罗形貌数据源模式目录的聚集。
2 Column 示意表、索引或关键字的列。
3 Group 示意在平安数据库内有接见权限的组账号。
4 Index 示意数据库表中的索引。
5 Key 示意数据库表中的主关键字、外部关键字或唯一关键字。
6 Procedure 示意存储的历程。
7 Table 示意数据库表,包罗列、索引和关键字。
三 ADOX的方式有哪些
1 Append(Columns) 将新的 Column 工具添加到 Columns 聚集。
2 Append(Groups) 将新的 Group 工具添加到 Groups 聚集。
3 Append(Indexes) 将新的 Index 工具添加到 Indexes 聚集。
4 Append(Keys) 将新的 Key 工具添加到 Keys 聚集。
5 Append(Procedures) 将新的 Procedure 工具添加到 Procedures 聚集。
6 Append(Tables) 将新的 Table 工具添加到 Tables 聚集。
7 ChangePassword 更改用户账号的密码。
8 Create 建立新的目录。
9 Delete 删除聚集中的工具。
10 Refresh 更新聚集中的工具,以反映针对提供者可用的和指定的工具。
四 ADOX 属性
1 Count 指示聚集中的工具数目。
2 DefinedSize 指示列的划定最大巨细。
3 DeleteRule 指示主关键字被删除时将执行的操作。
4 IndexNulls 指示在索引字段中有 Null 值的纪录是否有索引项。
5 Name 指示工具的名称。
6 NumericScale 指示列中数值的局限。
7 Precision 指示列中数据值的最高精度。
8 PrimaryKey 指示索引是否代表表的主关键字。
9 RelatedColumn 指示相关表中相关列的名称(仅关键字列)。
10 SortOrder 指示列的排序顺序(仅索引列)。
11 Type(关键字) 指示关键字的数据类型。
五 我们下面看看一个实例若何行使ADOX建立一个数据库
我们看下面的代码:
Sub mynzSetData() ‘建立数据库及表
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
这句的注释在上一讲中已经详细的讲过了,没有纪录集的返回
运行效果:
打开数据库和表:
本文来源于自互联网,不代表n5网立场,侵删。发布者:虚拟资源中心,转载请注明出处:https://www.n5w.com/255055.html