2013-04-11 17 views
4

詳細信息:DoCmd.DeleteObject acTable Vs.有什麼區別?刪除表

我有一個MS-Access數據庫過程,我在數據庫中本地創建表。但是,我想確保我創建的表經過測試,如果測試失敗,我需要刪除/刪除已創建的其他表。基本上我認爲是一個回滾過程。

問:

我遇到了兩種方法來刪除表,但無法弄清楚,如果一個人比缺點等更親......

有人能告訴我有什麼區別?

非常感謝!

回答

9
DoCmd.DeleteObject acTable, "aaaTest" 

......還有......

Dim cdb As DAO.Database 
Set cdb = CurrentDb 
cdb.Execute "DROP TABLE [aaaTest]", dbFailOnError 

......還有......

Dim cdb As DAO.Database 
Set cdb = CurrentDb 
cdb.TableDefs.Delete "aaaTest" 

...都完成同樣的事情,只是方式不同。他們刪除具有該名稱的本地TableDef對象(實際本地表或錶鏈接)。

+0

我明白了,所以我們只是說沒有實際的區別。沒關係。我只是想確保我沒有錯過一些重大的區別!謝謝! – Justin 2013-04-12 11:48:03

+0

我們一直在試圖刪除標題中帶有撇號的一個ImportError表,並且上面的第二種方法(DROP TABLE)不起作用。但上面的第一個方法(DeleteObject)工作得很好。謝謝! – 2013-10-17 14:37:25

0

我剛剛發現DropTable不喜歡帶有破折​​號的表名。我有很多,所以我使用DoCmd.Rename在我使用droptable擦除它們之前重命名錶。這對我來說是最簡單的修復方法,因爲我有15張破折號的表格,還有60個表格在退出時刪除以清理臨時文件。

相關問題