access数据库创建一个表,Text3是输入的表名称,我想判断数据 库中是否存在此表名称以下代码怎么修改im cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
cn.Open "Provider=Microsoft.ace.OLEDB.12.0;Data Source=" & App.Path & "\storage.accdb" & ";Persist Security Info=False"Set rs = cn.OpenSchema(adSchemaTables)
If rs!TABLE_NAME = Text3.Text Then
MsgBox "存在此表名"
Exit Sub
End If

解决方案 »

  1.   

    Public function tableExists(findTable as string) as  boolean 
            Dim rstSchema  As New ADODB.Recordset 
            Set rstSchema = cn.OpenSchema(adSchemaTables) 
            rstSchema.Find   "TABLE_NAME= '" & findTable &"'" 
            If  rstSchema.EOF   Then 
               TableExists= False 
            Else 
               TableExists = True 
            End If 
            rstSchema.Close 
    End Function 
      

  2.   

    不太懂,提示语MsgBox "存在此表名"
    加在哪呢,为什么总是执行后提示没有 End Sub,谢谢,请再帮我看看
      

  3.   

    set rs = cn.OpenSchema(adSchemaTables,array(empty,empty,TableName,emoty))
      

  4.   

    Dim cn As New ADODB.Connection
    Dim rs As New ADODB.Recordsetcn.Open "Provider=Microsoft.ace.OLEDB.12.0;Data Source=" & App.Path & "\storage.accdb" & ";Persist Security Info=False"
    Set rs = cn.OpenSchema(adSchemaTables)Do Until rs.EOF
    If rs!TABLE_NAME = Text3.Text Then
    MsgBox "存在此表名"
    Exit Do
    End If
    rs.MoveNext
    Loop
      

  5.   

    Dim cn As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    cn.Open "Provider=Microsoft.ace.OLEDB.12.0;Data Source=" & App.Path & "\storage.accdb" & ";Persist Security Info=False"
    Set rs = cn.OpenSchema(adSchemaTables)Do Until rs.EOF
    If rs!TABLE_NAME = Text3.Text Then
    MsgBox "存在此表名"
    Else
    Call db.Execute("select * into " & Text3.Text & " From [Sheet1$] In '" & sPath & "' 'excel 8.0;'")
    MsgBox "导出成功", vbOKOnly, "提示"
    db.Close
    Set db = Nothing
    Exit Do
    End If
    rs.MoveNext
    Loop
    改了,可是为什么不执行Else后面的语句呢?