Перечислите все файлы и импортируйте их небольшой партией

#vba #ms-access

Вопрос:

Я протестировал найденный код, и он отлично работает для моего приложения Access, но я пытаюсь добиться следующего: подсчитайте все в папке (в данном случае) csv-файл и импортируйте их в небольшой пакет, например, 10 из 190 файлов. Это код, который используется

 Sub LiveCheck()  Dim Path, FilePathName, File, FileNameList() As String  Dim FileCount As Integer, SQL_Append, SQL_Update As String  Dim Numbers() As String  Const TARGET_TABLENAME As String = "Land_controle"  DoCmd.SetWarnings False  Path = "J:MonitorLIVE" File = Dir(Path amp; "*.*")    While File lt;gt; ""  FileCount = FileCount   1  ReDim Preserve FileNameList(1 To FileCount)  FileNameList(FileCount) = File  File = Dir()  Wend    If FileCount gt; 0 Then  For FileCount = 1 To UBound(FileNameList)  FilePathName = Path amp; FileNameList(FileCount)  DoCmd.TransferText transfertype:=acImportDelim, SpecificationName:="Land Import Specificatie", tableName:=TARGET_TABLENAME, Filename:=FilePathName, hasfieldnames:=True  Next  End If End Sub  

Я застрял здесь, есть ли простой или упрощенный способ?

Комментарии:

1. Не совсем понимаю, чего ты хочешь. Если вы хотите импортировать все 190 CSV-файлов, что именно вы подразумеваете под «пакетным»? Или есть 190 файлов, и только 10 из них являются CSV?

2. Если вы хотите импортировать файлы «пакетами», вы можете рассмотреть возможность использования таблицы для хранения импортированных файлов, чтобы при циклическом перемещении файлов в папке вы могли проверить, что уже было импортировано. Но без разъяснений никто не сможет вам помочь. Обратите внимание, что Path , FilePathName , File все на самом деле Variants так, как вам нужно объявить Dim Path As String, FilePathName As String,File As String,FileNameList() As String . И Path и File — плохие названия для вариантов-это, вероятно, зарезервированные слова.