利用DAO创建数据库和数据表
1-1 利用DAO创建数据库和数据表
首先建立对DAO对象库Microsoft DAO3.6 Object Library的引用.在VBA界面下:
工具-(引用,选中”Microsoft DAO3.6 Object Library”
代码:
Public Sub1_1()
Dim myDb As DAO.Database ‘定义DAO的Database(数据库)对象变量
Dim myTbl As DAO.TableDef ‘定义DAO的TableDef(数据表)对象变量
Dim myData As String ‘定义数据库名称变量
Dim myTable As String ‘定义数据表名称变量
‘设置要创建的数据库名称(包括完整路径)
myData=ThisWorkbook.Path & “\学生成绩管理.mdb”
‘设置要创建的数据表名称
myTable=”期末成绩”
‘删除已经存在的数据库文件
on error resume next
kill myData
on error goto 0
‘创建数据库
Set myDb=CreateDatabase(myData,dbLangChineseSimplified)
‘创建数据表
Set myTbl=myDb.CreateTableDef(myTable)
‘为创建的数据表添加各个字段
With myTbl
.Fields.Append .CreateField(“学号”,dbText,10)
.Fields.Append .CreateField(“姓名”,dbText,6)
.Fields.Append .CreateField(“性别”,dbText,1)
.Fields.Append .CreateField(“班级”,dbText,10)
.Fields.Append .CreateField(“数学”,dbSingle)
.Fields.Append .CreateField(“语文”,dbSingle)
.Fields.Append .CreateField(“物理”,dbSingle)
.Fields.Append .CreateField(“化学”,dbSingle)
.Fields.Append .CreateField(“英语”,dbSingle)
.Fields.Append .CreateField(“总分”,dbSingle)
End With
‘将创建的数据表添加到数据库的TableDefs集合中
myDb.TableDefs.Append myTbl
‘关闭数据库,并释放变量
myDb.Close
Set myDb=Nothing
Set myTbl=Nothing
‘弹出信息
MsgBox”创建数据库成功!” & vbCrLf & “数据库文件名为:” & myData & vbCrLf & “数据表名称为:” & myTable & vbCrLf & “保存位置:” & ThisWorkbook.Path,vbInformation,”创建数据库”
End sub
注:
·CreateDatabase方法创建数据库
set mydb=createdatabase(mydata,dblangchinesesimplified)
mydb:数据库类型变量
dblangchinesesimplified:表达字符串比较规则,这里为简体中文
·CreateTableDef方法创建数据表
Set myTbl=mydb.Createtabledef(mytable)
mytbl:表类型变量
mydb:数据库名
mytable:表名
补充:创建带密码的Access数据库
Set mydb=createdatabase(mydata, dblangchinesesimplified & “;pwd=12345”)
1-2 利用ADOX创建数据库和数据表:
引用:microsoft ADO Ext.2.X for DDL and Securitypublic sub1_2()
dim mycat as new adox.catalog ‘定义ADOX的Catalog对象变量
dim mytbl as new table ‘定义table对象变量
dim mydata as string ‘定义数据库名称变量
dim mytable as string ‘定义数据表名称变量
‘设置要创建的数据库名称(包括完整路径)
mydata=thisworkbook.path & “\学生成绩管理.mdb”
‘设置要创建的数据表名称
mytable=”期末成绩”
‘删除已经存在的数据库文件
on error resume next
kill