⽤vba程序进⾏多条件引⽤表格数据_动态建⽴数据库和数据库
表的⽅法
vba排序函数sort用法⼤家好,今⽇继续讲解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
这句的解释在上⼀讲中已经详细的讲过了,没有记录集的返回
运⾏结果:
打开数据库和表:
今⽇内容回向:
1 如何创建⼀个数据库?
2 如何创建数据库中的表?

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。