Как записать ConnectionString для ADODB.Connection? - VB
Формулировка задачи:
Подскажите как записать ConnectionString для ADODB.Connection, чтобы открыть скажем 'D:1.txt', без предварительного создания DSN.
Заранее благодарен.
Решение задачи: «Как записать ConnectionString для ADODB.Connection?»
textual
Листинг программы
- 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 - набор символов
- 'пятаая запись в 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д