Я возвращаюсь сообществу, потратив четыре часа своего времени на выяснение конкретной проблемы, но в то же время отвечая на ваш вопрос. Весь другой код был собран из других ресурсов. Этот код будет использовать функцию Transfertext для извлечения нескольких CSV из каталога в их собственные отдельные таблицы с FILENAME в качестве имени таблицы. Запуск файлов с одинаковым именем файла позволит вам добавить к существующей таблице (удобно, если у вас есть 30 файлов с разными именами, но вы сохраняете одно и то же имя из месяца в месяц). Access 2010
Где у меня были проблемы: чертовы таблицы не будут добавляться при запуске файла с тем же именем . Он всегда создает новую таблицу и добавляет 1 2 3 и т. Д. What_csv what_csv1 what_csv2. *** Вы должны удалить период из имени файла. Хотя access автоматически изменяет его на подчеркивание, когда он создает таблицу, он видит, что имя файла и таблица имеют разные имена. Это относится к любым символам, не разрешенным Access.
Обрезать последние четыре имени файла, чтобы удалить .csv, используя strTable = Left (strFile, Len (strFile) - 4)
***** Вот ответ на ваш вопрос *****
Option Compare Database Option Explicit Function DoImport() Dim strPathFile As String Dim strFile As String Dim strPath As String Dim strTable As String Dim blnHasFieldNames As Boolean ' Change this next line to True if the first row in CSV worksheet ' has field names blnHasFieldNames = True ' Replace C:\Documents\ with the real path to the folder that ' contains the CSV files strPath = "C:\Documents\" ' Replace tablename with the real name of the table into which ' the data are to be imported strFile = Dir(strPath & "*.csv") Do While Len(strFile) > 0 strTable = Left(strFile, Len(strFile) - 4) strPathFile = strPath & strFile DoCmd.TransferText acImportDelim,, strTable, strPathFile, blnHasFieldNames ' Uncomment out the next code step if you want to delete the ' EXCEL file after it's been imported ' Kill strPathFile strFile = Dir() Loop End Function