EXCEL打开和读取ACCESS的几个方法

来源:百度文库 编辑:神马文学网 时间:2024/04/28 13:08:28
1----Public Sub 例7_1()
Dim myData As String
Dim myDb As DAO.Database
'指定要打开的数据库名称
myData = ThisWorkbook.Path & "\NewData.mdb"
'判断数据库文件是否存在,如果不存在,就弹出警告信息
If Dir(myData) = "" Then
MsgBox "指定的数据库不存在!", vbCritical, "无法打开数据库"
Exit Sub
End If
'打开数据库
Set myDb = OpenDatabase(myData, True, False, ";pwd=H1X2L3")
'显示打开信息
MsgBox "已经成功打开指定的数据库!", vbInformation, "打开数据库"
myDb.Close    '关闭数据库
Set myDb = Nothing    '释放变量
End Sub
2----Public Sub 例7_2()
Dim myDb As DAO.Database
Dim mytbl As DAO.TableDef
mydata = ThisWorkbook.Path & "\客户管理.mdb"    '指定数据库文件
Dim i As Integer
'准备工作表
Cells.Clear
i = 2
Range("A1:B1") = Array("表名称", "表类型")
'建立与数据库的连接
Set myDb = OpenDatabase(mydata)
'开始获取表信息
For Each mytbl In myDb.TableDefs
Cells(i, 1) = mytbl.Name    '获取表名称
Cells(i, 2) = TypeToTable(mytbl.Attributes)    '获取数据表类型
i = i + 1
Next mytbl
Cells.Columns.AutoFit
'关闭数据库
myDb.Close
'释放变量
Set mytbl = Nothing
Set myDb = Nothing
End Sub
Public Function TypeToTable(myValue As Long) As String
Select Case myValue
Case 2: TypeToTable = "ACCESS TABLE"
Case -2147483648#: TypeToTable = "SYSTEM TABLE"
Case 0: TypeToTable = "TABLE"
End Select
End Function
3---Public Sub 例7_3()
Dim myDb As DAO.Database
Dim mytbl As DAO.TableDef
mydata = ThisWorkbook.Path & "\客户管理.mdb"    '指定数据库文件
Dim i As Integer
'准备工作表
Cells.Clear
i = 2
Range("A1") = "数据表名称"
'开始获取数据表名称
Set myDb = OpenDatabase(mydata)
For Each mytbl In myDb.TableDefs
If Left(mytbl.Name, 4) <> "MSys" Then
'或者使用语句
'If mytbl.Attributes = 0 Then
Cells(i, 1) = mytbl.Name    '获取数据表名称
i = i + 1
End If
Next mytbl
Cells.Columns.AutoFit
'关闭数据库
myDb.Close
'释放变量
Set mytbl = Nothing
Set myDb = Nothing
End Sub