2013-02-25 94 views
1

我正在嘗試使用vba腳本自動將一些excell工作表導入到訪問中。但是,如果有人執行了兩次腳本,數據將被添加到已存在的表中。檢查以查看工作表是否已存在訪問

我使用的代碼是這樣的:

DoCmd.TransferSpreadsheet _ 
acImport, _ 
acSpreadsheetTypeExcel9, _ 
"DB_AlarmTest", _ 
"C:\Data\PLC_MOBZ\Test\Import\DB_AlarmTest.xlsx", _ 
True 

有沒有一種方法來檢查羯羊或沒有這個表已經存在,如果是這樣,刪除或覆蓋現有的表,並用新表替換而不是僅僅添加值?

回答

2

您只需刪除該表運行您的導入前:

On Error Resume Next 
CurrentDb.Execute "DROP TABLE DB_AlarmTest" 
On Error GoTo 0 

DoCmd.TransferSpreadsheet _ 
    acImport, _ 
    acSpreadsheetTypeExcel9, _ 
    "DB_AlarmTest", _ 
    "C:\Data\PLC_MOBZ\Test\Import\DB_AlarmTest.xlsx", _ 
    True 
+0

哈哈ofcourse!沒有想到,傻了我 – Gutanoth 2013-02-25 12:26:55