譬如 我用下列语句打开一个mdb文件
     ConnStr = "Provider=Microsoft.Jet.OLEDB.3.51;" & "Persist Security_ Info=False;" & "Data Source=c:\data.mdb;"
    conn.Open ConnStr
    rs.CursorLocation = adUseClient
    SQL = "select * from //*表名称*\\"
    rs.Open SQL, conn, adOpenKeyset, adLockPessimistic
怎样让电脑知道data.mdb中有哪些表并按预定选择呢?

解决方案 »

  1.   

    Dim rCriteria As Variant
        Set rstTables = New ADODB.Recordset
        rCriteria = Array(Empty, Empty, Empty, "Table")   Set rsSchema = cn.OpenSchema(adSchemaColumns, rCriteria)
        Set rstTables = cn.OpenSchema(adSchemaTables, rCriteria)
        
        If Not (rstTables.EOF And rstTables.BOF) Then rstTables.MoveFirst
        
        Do Until rstTables.EOF
          If Trim(UCase(rstTables.Fields("TABLE_TYPE"))) = "TABLE" Then
             debug.print rstTables.Fields("TABLE_NAME")
          rstTables.MoveNext
        Loop
      

  2.   

    '----------------------------------------------------------------------------
    '
    'Author:lihonggen0
    'Date:2003-6-19
    '功能:获取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 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