我建了一个access数据库,但是我不想打开数据库,通过vb程序得到数据库了有多少表和表的名称,请问能否实现,如何编程.

解决方案 »

  1.   

    rs.open "select [name] from msysobjects where [type]=1 and [flags]=0"
    do while not rs.eof
        print rs!name.value
        rs.movenext
    loop
      

  2.   

    '功能:获取access库中表的个数及表的名称
    '用ado怎样实现
    '工程--->引用--->Microsoft ActiveX Data Object 2.x(版本号)
    '----------------------------------------------------------------------------
    Private Sub Form_Load()
    Dim adoCN   As New ADODB.Connection                '定义数据库的连接
    Dim strCnn   As New ADODB.Recordset
    Dim rstSchema As New ADODB.Recordset
    Dim I As Integer
       str1 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\Northwind.MDB;Persist Security Info=False"
       adoCN.Open str1
             
       Set rstSchema = adoCN.OpenSchema(adSchemaTables)
         
       Do Until rstSchema.EOF
            If rstSchema!TABLE_TYPE = "TABLE" Then
               out = out & "Table  name:  " & _
                   rstSchema!TABLE_NAME & vbCr & _
                   "Table  type:  " & rstSchema!TABLE_TYPE & vbCr
                I = I + 1
            End If
            rstSchema.MoveNext
       Loop
       MsgBox I
       rstSchema.Close
         
       adoCN.Close
    Debug.Print out
    End Sub
    或者:用Access打开数据库,工具->选项-〉选中系统对象;
    然后工具-〉安全-〉用户与组的权限-〉选中MsysObjects的读取数据权限
    这样你就可以通过查询系统表MsysObjects来查询所有的表了rs.open "select [name] from msysobjects where [type]=1 and [flags]=0"do while not rs.eof 
        print rs!name
        rs.movenext
    loop
      

  3.   

    不知道你的打开是什么意思,如果指用Access或SQL-Server管理器打开,楼上的方法都可以。如果指不通过编程连接打开数据库的方式,No Way.
      

  4.   

    Access表中有一个系统表 MSObjectsSELECT * FROM MsObjects Where Name="abc" and Type=1Type=1为"表"
    Type=1为"视图"
      

  5.   

    Access表中有一个系统表 MSysObjectsSELECT * FROM MSysObjects Where Name="abc" and Type=1Type=1为"表"
    Type=3为"视图"
      

  6.   

    可以实现。
    rs.open "select [name] from msysobjects where [type]=1 and [flags]=0"
    do while not rs.eof
        print rs!name.value
        rs.movenext
    loop
      

  7.   

    使用ADOX库,微软提供的用来访问数据库元数据的通用编程接口。
      

  8.   

    容易用access打开数据库数一下就可以了