2013-02-25 77 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