Access VBA:SQL删除不适用于包含-?的表



我有一个应用程序,我想将Excel文件中的选项卡/工作表中的数据导入MSAccess中的表,其中该表与Excel选项卡同名。

这适用于所有表,但我能找到的唯一区别是,该表的名称中间有一个连字符"-"。我得到的错误是";FROM指令中的语法错误"=带有DoCmd.RunSQL的行。。。如果我将表重命名为不带连字符的内容,它也会开始为该表工作。请参阅下面的代码;myTab是Excel工作表和MSAccess表的名称。

' check that the table exists
validTable = False
Set rs = DBEngine(0).Databases(0).OpenRecordset(myTableList, dbOpenTable)
rs.MoveFirst
For i = 0 To rs.RecordCount - 1
If rs(0) = myTab Then validTable = True
rs.MoveNext
Next i
' delete old content, import new data
If validTable Then
DoCmd.SetWarnings False
DoCmd.RunSQL ("DELETE * FROM " & myTab & ";")
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12Xml, myTab, inputFile, True, myTab
Else

我该如何解决这个问题?我想这与我如何使用字符串有关这只是更大应用程序中的一小部分,所以我不能只更改MSAccess表的名称

//

重新命名表

将表名分隔如下:

"DELETE * FROM [" & myTab & "];"

即使对于不包含连字符的表名,也可以对表名进行分隔。

最新更新