Это довольно просто, и нет смысла переходить в текстовый драйвер ODBC для настольных ПК, потому что Jet 4.0 имеет установленный текст ISAM, который может выполнять эту работу.
Примеры: добавление текста в существующую таблицу,импортировать текст как новую таблицу.
Private Sub cmdAppend_Click()
Dim lngRows As Long
conDB.Execute _
"INSERT INTO ExistingTable SELECT * " _
& "FROM [Import.txt] IN '" & App.Path & "' 'TEXT;'", _
lngRows, _
adCmdText Or adExecuteNoRecords
MsgBox CStr(lngRows) & " rows appended to ExistingTable."
End Sub
Private Sub cmdImport_Click()
Dim lngRows As Long
conDB.Execute _
"SELECT * INTO NewTable " _
& "FROM [Import.txt] IN '" & App.Path & "' 'TEXT;'", _
lngRows, _
adCmdText Or adExecuteNoRecords
MsgBox CStr(lngRows) & " rows imported as NewTable."
End Sub
Ключ к выполнению этой работы - наличие файла с именем Schema.ini
в той же папке, что и текстовый файл (в данном случае я 'Я просто использую папку App.Path для демонстрации):
[Import.txt]
Format = Delimited( )
TextDelimiter = none
ColNameHeader = False
MaxScanRows = 0
Col1="Code" Text Width 9
Col2="Sequence" Text Width 10
Col3="Type" Integer Width 1
Выше я составил имена полей и типы данных, которые в реальном случае соответствовали бы тем, которые есть в вашей базе данных. Обязательно обратите внимание на один пробел между скобками , который будет используемым символом-разделителем.
Если в одной папке несколько текстовых файлов для импорта, просто добавьте дополнительные разделы INI в схему.ini по мере необходимости.
Ваша программа может даже при необходимости динамически записывать такой файл Schema.ini в папку, вставляя необходимое имя текстового файла, список полей и их имен, тип, размеры и т. д.