MyTetra Share
Делитесь знаниями!
Код VBA для импорта данных из текстового файла
Время создания: 16.03.2019 23:43
Текстовые метки: VBA_Acces, импорт text
Раздел: !Закладки - VBA - Access

Код VBA для импорта данных из текстового файла

'объявляем переменные

Dim str As String

Dim str1 As String

Dim str2 As String

Dim str3 As String

Dim rs As ADODB.Recordset

Dim FileDialog As FileDialog

Dim path As String

'Создаем диалоговое окно выбора файла

Set FileDialog = Application.FileDialog(msoFileDialogOpen)

'Убираем множественный выбор

FileDialog.AllowMultiSelect = False

FileDialog.Filters.Clear

'Добавим фильтр

FileDialog.Filters.add "Текстовые файлы", "*.txt"

FileDialog.FilterIndex = 1

'проверяем, выбрал файл или нет

If FileDialog.Show = False Then

Set FileDialog = Nothing

Exit Sub

End If

'путь к файлу

path = Trim(FileDialog.SelectedItems(1))

'очищаем переменную с объектом

Set FileDialog = Nothing

If path <> "" Then

'Открываем файл

Open path For Input As #1

'циклом считываем все данные построчно

Do While Not EOF(1)

Line Input #1, str

If Mid(str, 1, InStr(str, "=")) = "Строка1=" Then

str1 = Mid(str, InStr(str, "=") + 1)

End If

If Mid(str, 1, InStr(str, "=")) = "Строка2=" Then

str2 = Mid(str, InStr(str, "=") + 1)

End If

If Mid(str, 1, InStr(str, "=")) = "Строка3=" Then

str3 = Mid(str, InStr(str, "=") + 1)

End If

'Если встречаем "Конец" то записываем в базу

If str = "Конец" Then

'Создаем рекордсет

Set rs = New ADODB.Recordset

'Открываем таблицу

rs.open "test_import", CurrentProject.Connection, adOpenDynamic, adLockOptimistic

'Записываем данные

With rs

.AddNew

.Fields("str1") = str1

.Fields("str2") = str2

.Fields("str3") = str3

.Update

End With

End If

Loop

'Закрываем файл

Close #1

'Просто сообщение

MsgBox "Загружено"

End If

Так же в этом разделе:
 
MyTetra Share v.0.53
Яндекс индекс цитирования