用DAO(也有可能是ADO,我手头没有VB,一时忘了)的TableDef吧。

解决方案 »

  1.   

    用SQL:
    SELECT MSysObjects.Name
    FROM MSysObjects
    WHERE type=1
      

  2.   

    TO fataltomato:但在程序里,无读MSysOgjects的权限!
      

  3.   

    在程序里,无读MSysOgjects的权限! 
      

  4.   

    progame(我有权沉默,但我发的贴都将成为水园经典):     是用ADMIN登陆的?回头偶试试 
      

  5.   

    访问tabeldefs集合,然后逐个列出表的name属性。
      

  6.   

    我就不知道ADO的用法是怎么样的
      

  7.   

    ADO好象可以用 Connection.OpenSchema adSchemaTables,后面好象还可以指定表名,我没有MSDN,只能说这么多。
      

  8.   

    用DAO:
    OpenDataBase方法打数据库!
    再看他的TableDef属性???
    Good Luck!
    不一定有用
      

  9.   

    Connection.OpenSchema 返回数据库中所有的对象,包括表
      

  10.   

    dim db as database
    dim tb as tabledeffor each tb in db.tabledefs
      msgbox tb.name
    next
      

  11.   

    progame,sorry.希望还能有帮助,如上所讲,用OPENSCHEMA,以下是MSDN中摘出。OpenSchema 方法范例
    该范例使用 OpenSchema 方法显示 Pubs 数据库内每个表的名称和类型。Public Sub OpenSchemaX()   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=; "
       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
       
       cnn1.Close
       
    End Sub该范例在 OpenSchema 方法的 Criteria 参数中指定 TABLE_TYPE 查询约束。因此,只返回在 Pubs 数据库中指定视图的模式信息。然后该范例显示每个表的名称和类型。Public Sub OpenSchemaX2()   Dim cnn2 As ADODB.Connection
       Dim rstSchema As ADODB.Recordset
       Dim strCnn As String
          
       Set cnn2 = New ADODB.Connection
          strCnn = "Provider=sqloledb;" & _
          "Data Source=srv;Initial Catalog=pubs;User Id=sa;Password=; "
       cnn2.Open strCnn
          
       Set rstSchema = cnn2.OpenSchema(adSchemaTables, Array(Empty, Empty, Empty, "VIEW"))      Do Until rstSchema.EOF
             Debug.Print "Table name: " & _
                rstSchema!TABLE_NAME & vbCr & _
                "Table type: " & rstSchema!TABLE_TYPE & vbCr
             rstSchema.MoveNext
          Loop
       rstSchema.Close
       
       cnn2.Close
       
    End Sub