我需要執行檢查以查看TableA是否存在,如果存在,則刪除整個表。如果沒有,我會創建表格。我無法真正瞭解這是否可以在VBA/MS Access上實現。VBA用於檢查MS Access中是否存在表的腳本,如果存在,則刪除
在SQL我們可以使用:
DROP TABLE IF EXISTS dbo.TableA
任何人有任何想法,這可怎麼實現的?謝謝!
我需要執行檢查以查看TableA是否存在,如果存在,則刪除整個表。如果沒有,我會創建表格。我無法真正瞭解這是否可以在VBA/MS Access上實現。VBA用於檢查MS Access中是否存在表的腳本,如果存在,則刪除
在SQL我們可以使用:
DROP TABLE IF EXISTS dbo.TableA
任何人有任何想法,這可怎麼實現的?謝謝!
考慮使用TableDefs集合,其中您通過項目迭代和有條件地刪除或創建使用代碼通過相同的DDL SQL語句。
Dim db As Database
Dim tbldef As TableDef
Set db = CurrentDb
For each tbldef in db.TableDefs
If tbldef.Name = "TableName" Then
db.Execute "DROP TABLE " & tbldef.Name, dbFailOnError
End if
Next tbldef
db.Execute "CREATE TABLE TableName (...rest of SQL...);", dbFailOnError
' UNINITIALIZE OBJECTS
Set tbldef = Nothing
Set db = Nothing
這樣做比上面的代碼要簡單得多。
On Error Resume Next
currentdb.execute "DROP TABLE TABLENAME;"
On Error Goto 0
這樣做是試圖刪除表並跳過如果由於表不存在。只有3條線路,運行速度更快。
這工作完美!謝謝。 – user1688194