ms-access - 如何检查 Access 数据库中是否存在表?

标签 ms-access vb6

如何检查表是否存在?

使用 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 代码帮助?

最佳答案

把这个下面的函数放到一个公共(public)模块中。

调用函数的示例代码:

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

关于ms-access - 如何检查 Access 数据库中是否存在表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1083454/

相关文章:

java - 是否可以在java中调用vb cls文件

ms-access - 在 Access VBA 中打开 RecordSet 时,如果类型是 dbOpenSnapshot,是否会使选项 dbReadOnly 变得多余?

ms-access - 从 Access 2007 发出 SOAP 请求

c# - c# 实现 select 命令后插入命令参数的 if/else 语句?

com - 从 .NET 程序集创建对象时,VB6 中出现后期绑定(bind)运行时错误

MIDL 中 VB6 的 bool 数据类型等效

sql - 过滤器返回空白报告 Access 2010

ms-access - 用于填充 MS Access 中的超链接列的 SQL

optimization - 在汇编器中添加两个 32 位整数以供在 VB6 中使用

vba - 我应该在 VB6 中显式声明我的变量吗