Option Explicit
Public Sub test()
'Connection - соединение с базой данных
'Command - команда DML
'Recordset - набор записей
'Stream - поток двоичных или текстовых данных
'Record -Запись
'нужно подключить библиотеку Microsoft ActiveX Data Object 2.x Library
Dim cn As ADODB.Connection
Set cn = New ADODB.Connection
'"х:\" - директория, где хранится файл
'в каталоге, например "х:\" - директории, где хранится файл должен быть файл с именем Schema.ini, его задача дать нужную информацию программе
'каждая запись Schema.ini указывает на один из пяти характеристик таблицы:
'первая запись в Schema.ini - имя исходного текстового файла в квадратных скобках - [С_помощью_ADO_и_SQL_опрашивать_текстовые_файлы.txt]
'вторая запись в Schema.ini - формат файла, поля в файле разделены Format=Delimited(;)
'третья запись в Schema.ini - имена полей, ширина и типы, ColNameHeader = True - включить имена полей в первой строке таблицы
'четвёртая запись в Schema.ini - набор символов
'пятаая запись в С_помощью_ADO_и_SQL_опрашивать_текстовые_файлы#txt Schema.ini - преобразования данных специального типа
'апостроф ' в Schema.ini как и в VBA, VB является началом коммента
'HDR = YES указывает, что первая строка содержит columnnames, а не данные, HDR = NO; свидетельствует об обратном
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=j:\;Extended Properties=""text;HDR=YES;FMT=Delimited"""
'открыть соединение с базой данных
cn.Open
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
'имя файла к которому идёт обращение "С_помощью_ADO_и_SQL_опрашивать_текстовые_файлы"
rs.Open "select * from [С_помощью_ADO_и_SQL_опрашивать_текстовые_файлы#txt]", cn
'пример обращений к столбцам выборки, можно менять сам запрос и тем самым получать столбец, строку
Debug.Print "[" & rs.Fields("ID").Value & "]"
Debug.Print "[" & rs.Fields("Name").Value & "]"
Debug.Print "[" & rs.Fields("Price").Value & "]"
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
End Sub |