引用Microsoft ADO Ext. 2.x for DDL and Security
Sub disptables(mydbpath As String) '显示指定数据库中所有表名
Dim msg As String
Dim mycat As New ADOX.Catalog
   msg = ""
Set mycat.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
      "Data Source=" & mydbpath & ";"
For i = 0 To mycat.Tables.Count - 1
   If Left(mycat.Tables.Item(i).Name, 4) <> "MSys" Then '去掉系统表
msg = msg & mycat.Tables.Item(i).Name & vbCrLf
End If
Next
MsgBox msg
End Sub

解决方案 »

  1.   

    请问为什么执行到这一句:
    Set mycat.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
          "Data Source=" & mydbpath & ";"
    就会提示“compile error: object required”的错误提示呢??
    我有给mydbpath 参数符于正确的数据库绝对路径和数据库名了。
      

  2.   

    引用Microsoft ADO Ext. 2.x for DDL and Security
    Sub disptables(mydbpath As String) '显示指定数据库中所有表名
    Dim msg As String
    Dim mycat As New ADOX.Catalog
    dim cn as new adodb.connection   msg = ""
    cn.open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
          "Data Source=" & mydbpath & ";"
    Set mycat.ActiveConnection = cnFor i = 0 To mycat.Tables.Count - 1
       If Left(mycat.Tables.Item(i).Name, 4) <> "MSys" Then '去掉系统表
    msg = msg & mycat.Tables.Item(i).Name & vbCrLf
    End If
    Next
    MsgBox msg
    End Sub
      

  3.   

    还有顺便说一句,其实根本不用用到Microsoft ADO Ext. 2.x for DDL and Security
    用ADODB.connection对象的OpenSchema过程就可以了dim cn as adodb.connection
    dim rs as adodb.recordset
    dim Finded as booleanset cn=new adodb.connection
    cn.open ""     'your connection string Set rs = cn.OpenSchema(adSchemaTables)
      

  4.   

    http://expert.csdn.net/Expert/topic/1459/1459119.xml?temp=.8646051
      

  5.   

    你最好去查一下msdn文档,无论你用connection.openschema还是Microsoft ADO Ext. 2.x for DDL and Security方法,都是可以快速查到的
      

  6.   

    '窗体中添加一个treeview
    '拷贝以下代码
    '加入3.6 DAO 引用   Public strDBName As String
       Public db As Database
       Dim tbCount, i, fdCount, j As Integer
       Dim litm(1 To 13) As String
       Dim nod As Node
       
     '改变以下代码加入数据库名称及路径
     
       strDBName = "d:\vb98\BIBLIO.MDB"
       Set db = dbengine.opendatabase(strDBName)
       tbCount = db.TableDefs.Count - 1
       
     '改变TREEVIEW的名称为你所用的名称
     
       TreeView1.Nodes.Clear
       
       For i = 0 To tbCount
          fdCount = db.TableDefs(i).Fields.Count
             
          If Not Left(db.TableDefs(i).Name, 4) = "MSys" Then        '去掉系统数据库
             Set nod = TreeView1.Nodes.Add(, , _
                 db.TableDefs(i).Name, db.TableDefs(i).Name)
                 '加入数据库中表名
             tbCount = db.TableDefs(i).Fields.Count - 1
             For j = 0 To tbCount
                Set nod = TreeView1.Nodes.Add(db.TableDefs(i).Name, _
                tvwChild, , db.TableDefs(i).Fields(j).Name)
                '加入表字段
             Next j
          End If
       Next i
       
       '关闭数据库
       db.Close
       Set db = Nothing
    End Function直接运行就可以看到结果
      

  7.   

    to: northwolves(野性的呼唤)
    很对,方便实用,不过你记得要引用dao 3。6啊。用ado也一样。
    用类似的方法可获得表中的所有字段名。