检查access数据库中的用户表是否存在,别管dao、ado、还是adox,怎么简单怎么来。
先谢谢了!

解决方案 »

  1.   

    Private Sub Command1_Click()
    On Error Resume Next
    Dim rs As New ADODB.Recordset
    Dim conn As New ADODB.Connection
    conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\work\111.mdb;Persist Security Info=False"
    Dim strsql As String
    strsql = "select * from yourtablename"
    rs.Open strsql, conn
    If Err.Number = -2147217865 Then
      MsgBox "表不存在!"
    End If
    conn.Close
    End Sub
      

  2.   

    Dim con As ADODB.ConnectionPrivate Sub Command1_Click()
    On Error GoTo err
    Dim con As New ADODB.Connection
    Dim rs As New ADODB.Recordset
         con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\Administrator.HP-LS\My Documents\db1.mdb;Persist Security Info=False"
        con.Open
        rs.Open "select * from test", con, adOpenStatic, adLockReadOnly
        If Not rs.EOF Then
            MsgBox "test表存在"
        Else
        End If
        Set rs = Nothing
    Exit Sub
    err:
        If err.Number = -2147217865 Then
            msgox "test表不存在"
        Else
            Resume Next
        End If
    End Sub
      

  3.   

    sorry,我说错意思了,要检测的表不一定是一个,也许很多.
    我想用ado打开他的msysobjects,可是提示权限,dao也许可以,但感觉就没必要了.
    大哥们再想想办法啊,有特别简单直接的吗?
      

  4.   

    用ado方式连接
    dim Cn as new adodb.connction
    cn.open "连接串"
    if cn.OpenSchema(adSchemaTables,array(null,null,"表名")).eof then
      表不存在
    else
      表存在
    end if