用 ADOX (Microsoft® ActiveX® Data Objects Extensions for Data Definition Language and Security) 吧。ADOX 是对 ADO 的一个扩展,动态连接库为 MSADOX.DLL;随 MSDAC (Microsoft Data Access Components) 安装;最新的版本可到http://www.microsoft.com/data 取下载;VB 安装后,默认情况下 MDAC_TYP.EXE 拷贝到 X:\Program Files\Microsoft Visual Studio\VB98\Wizards\PDWizard\Redist 目录下。关于 ADOX 的参考资料,请看 msdn ADO Reference。Private Sub Command1_Click()
    Dim cat As New adox.Catalog
    Dim tbl As adox.Table
    
    cat.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
      "Data Source=c:\my documents\database\access\robottalk.mdb"
    For Each tbl In cat.Tables
        Debug.Print tbl.Name
    Next
    Set cat.ActiveConnection = Nothing
    Set cat = Nothing
End Sub

解决方案 »

  1.   

    方法1:
    Dim cnn1 As ADODB.Connection
       Dim rstSchema As ADODB.Recordset
       Dim strCnn As String
          
       Set cnn1 = New ADODB.Connection
          'strCnn = "Provider=sqloledb;" & _
          '"Data Source=srv;Initial Catalog=pubs;User Id=sa;Password=; "
       strCnn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
          "Data Source=c:\my documents\database\access\robottalk.mdb
       cnn1.Open strCnn
          
       Set rstSchema = cnn1.OpenSchema(adSchemaTables)
       
       Do Until rstSchema.EOF
          Debug.Print "Table name: " & _
             rstSchema!TABLE_NAME & vbCr & _
             "Table type: " & rstSchema!TABLE_TYPE & vbCr
          rstSchema.MoveNext
       Loop
       rstSchema.Close方法2(引用Microsoft ADO Extensions 2.1 for DDL and Security (ADOX)): 同 edYang
      

  2.   

    方法1:
    Dim cnn1 As ADODB.Connection
       Dim rstSchema As ADODB.Recordset
       Dim strCnn As String
          
       Set cnn1 = New ADODB.Connection
          'strCnn = "Provider=sqloledb;" & _
          '"Data Source=srv;Initial Catalog=pubs;User Id=sa;Password=; "
       strCnn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
          "Data Source=c:\my documents\database\access\robottalk.mdb
       cnn1.Open strCnn
          
       Set rstSchema = cnn1.OpenSchema(adSchemaTables)
       
       Do Until rstSchema.EOF
          Debug.Print "Table name: " & _
             rstSchema!TABLE_NAME & vbCr & _
             "Table type: " & rstSchema!TABLE_TYPE & vbCr
          rstSchema.MoveNext
       Loop
       rstSchema.Close方法2(引用Microsoft ADO Extensions 2.1 for DDL and Security (ADOX)): 同 edYang
      

  3.   

    建议使用playyuer所说的方法1,即用Connection对象的方法OpenSchema(adSchemaTables)