如题:
    如何将Access数据库的所有表或视图都列举出来呢?同时也能将表对应的字段也列出来?

解决方案 »

  1.   

    Dim tempName As String
    dim i as long
    Dim db As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    db.ConnectionString = "provider=microsoft.jet.oledb.4.0;" & "data source=" & App.Path & "\dev.mdb"
    db.Open
    '所有表名       
    Set rs = db.OpenSchema(adSchemaTables)
    Do While Not rs.EOF
        tempName = rs!TABLE_NAME
            Debug.Print tempName
        rs.MoveNext
    Loop
    rs.Close
    '所有字段名
    rs.Open "select * from 表的名称", db
    ii = rs.Fields.Count 
    For i = 0 To ii - 1
        Debug.Print rs.Fields(i).Name
    Next i
      

  2.   

    我只要显示自己创建的table不包括视图及系统表,又如何呢
      

  3.   

    '加一个判断TABLE
    If rs!TABLE_TYPE="TABLE" Then
            Debug.Print tempName
    End If
      

  4.   

    access:
    lj = 连接字符串
    Dim adoCN   As New ADODB.Connection                '定义数据库的连接
    Dim strCnn   As New ADODB.Recordset
    Dim rstSchema As New ADODB.Recordset
    Dim STR1 As String
    Dim OUT As String
    Dim I As Integer
       STR1 = lj
       adoCN.Open STR1
             
       Set rstSchema = adoCN.OpenSchema(adSchemaTables)
         
       Do While Not rstSchema.EOF
            If rstSchema!TABLE_TYPE = "TABLE" Then
               OUT = rstSchema!TABLE_NAME & ""
                List1.AddItem OUT
            End If
            rstSchema.MoveNext
       Loop