乐视1s刷原生安卓7.0:EXCEL打开和读取ACCESS的几个方法

来源:百度文库 编辑:偶看新闻 时间:2024/04/25 16:04:53
EXCEL打开和读取ACCESS的几个方法 

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