dao代码:set db=dao.dbenging.opendatabase("c:\test.mdb")
for i=0 to db.tabdefs.count-1
    debug.print db.tabdefs(i).name
nextado 需要引用 Adox 
Dim k As New ADOX.Catalog
...
For i = 0 To k.Tables.Count - 1
    Debug.Print k.Tables(i).Name
Next

解决方案 »

  1.   

    我也遇到过这种情况,用了个很傻的办法! :)Private Sub Command1_Click()
      
      Dim myDB As Database
      Dim td As TableDef
      Dim hl As Boolean
      hl = True
      
      Set myDB = Workspaces(0).OpenDatabase("d:\bank.mdb")
      
      For Each td In myDB.TableDefs
          If td.Name = "表1" Then
            '如果表1存在则
            MsgBox "表存在!"
            hl = False
          End If
      Next
      
      If hl Then
        MsgBox "表不存在!"
      End If
      
      myDB.CloseEnd Sub
      

  2.   

    如果是SQL就很好解决,SQL数据库中有一个表:sysobjects 记录了该数据库的所有对象,你可以使用如下的sql语句:
    select * from sysobjects where name='你要的表名'。
    Access等就只好用DAO解决了
      

  3.   

    如何知道数据库中是否存在名为k的表?
    http://www.csdn.net/expert/topic/113/113125.shtm