Я пытаюсь сопоставить файлы Excel, которые помещены в папку, с таблицами, которые существуют в базе данных доступа (с тем же именем, что и мои файлы Excel), и пытаюсь импортировать данные, к которым у Excel есть доступ.
Sub import()
Dim blnHasFieldNames As Boolean
Dim strWorksheet As String, strTable As String
Dim strPath As String, strPathFile As String
blnHasFieldNames = True
strPath = "D:\PersonalData\working_table\"
strWorksheet = "Sheet1"
' Import the data from each workbook file in the folder
strFile = Dir(strPath & "*.xlsx")
Do While Len(strFile) > 0
strPathFile = strPath & strFile
strTable = Left(strFile, InStrRev(strFile, ".xlsx") - 1)
DoCmd.TransferSpreadsheet acImport, _
acSpreadsheetTypeExcel9, strTable, strPathFile, _
blnHasFieldNames, strWorksheet & "$"
DoCmd.RunSQL ("DELETE * FROM " & strTable & " WHERE SPEC_ID = 'Specification ID'")
strFile = Dir()
Loop
End Sub
Я успешно могу получить данные в свои таблицы базы данных доступа, однако мое требование состоит в том, чтобы удалить строку из всех таких таблиц, где SPEC_ID = 'Specification ID'
. Я получаю сообщение об ошибке:
DoCmd.RunSQL ("DELETE * FROM " & strTable & " WHERE SPEC_ID = 'Specification ID'")
которая гласит:
Ошибка времени выполнения: «3131»
Синтаксическая ошибка в предложении FROM.
Пожалуйста, объясните мне, что я, возможно, делал неправильно.
Заранее спасибо.