【问题标题】:How to check Table exist in access database or not?如何检查访问数据库中是否存在表?
【发布时间】:2020-01-02 13:02:12
【问题描述】:

如何检查表是否存在?

使用 VB 6.0 和 ACCESS 2003

我的代码。

Cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & App.Path & "\iTDC-ACS.MDB"
Cn.Open

cmdCardEvent.ActiveConnection = Cn
cmd.ActiveConnection = Cn

cmdcardevent1.ActiveConnection = Cn
cmd.ActiveConnection = Cn

cmd.CommandText = "DROP TABLE tmp_cardevent"
cmd.Execute

cmd.CommandText = "drop table tmp_MOI"
cmd.Execute

这里我想检查表是否存在然后删除表,否则不需要。

如何检查表是否存在?

需要 VB 6 代码帮助?

【问题讨论】:

    标签: ms-access vb6


    【解决方案1】:

    将此函数下面的函数放入公共模块中。

    调用函数的示例代码:

    Dim result as boolean
    result = IsExistingTable("c:\myFolder\myDatabase.mdb","myTableName")
    If result Then
       'Do something
    Else
       'Do something else.
    Endif
    

    功能

    Public Function IsExistingTable( _
      ByVal Database As String, _
      ByVal TableName As String _
    ) As Boolean
    
    Dim ConnectString As String
    Dim ADOXConnection As Object
    Dim ADODBConnection As Object
    Dim Table As Variant
    
    ConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;data source=" & Database
    Set ADOXConnection = CreateObject("ADOX.Catalog")
    Set ADODBConnection = CreateObject("ADODB.Connection")
    ADODBConnection.Open ConnectString
    ADOXConnection.ActiveConnection = ADODBConnection
    For Each Table In ADOXConnection.Tables
      If LCase(Table.Name) = LCase(TableName) Then
         IsExistingTable = True
         Exit For
      End If
    Next
    ADODBConnection.Close
    
    End Function
    

    【讨论】:

      【解决方案2】:

      使用On Error Resume Next,如下例所示。如果数据库中存在表(temp),则它会丢弃,否则会留下错误并转到下一条指令而不给出任何错误。

      On Error Resume Next
      cmd.ActiveConnection = cn
      cmd.CommandText = "drop table temp"
      cmd.Execute , , adCmdText
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-08-19
        • 2017-11-07
        • 1970-01-01
        • 2011-02-28
        • 2011-03-04
        • 2012-07-26
        • 1970-01-01
        相关资源
        最近更新 更多