Страница 1 из 1

запрос SQL к базе данных dbf

Добавлено: 13 дек 2005, 19:09
_Andrew
Помогите пожалуйста. Есть задача с помощью VBA импортировать даные из dbf файла в лист Excel, причем импорт с условием. Я так понимаю что нужно использовать запрос SQL, но как не бьюсь не удается это реализовать, постоянно возникают ошибки. Подскажите подробно как решаются такого рода задачи pls (очень поможет рабочий пример програмного кода)

Добавлено: 14 дек 2005, 12:36
Naeel Maqsudov
Это принципиально, чтобы именно из VBA? (Т.к. есть функция рабочего листа, которая выполняет запрос к внешней БД)

Добавлено: 15 дек 2005, 16:58
_Andrew
Naeel Maqsudov писал(а):Это принципиально, чтобы именно из VBA? (Т.к. есть функция рабочего листа, которая выполняет запрос к внешней БД)
Да это принципиально, потому что это должно быть частью макроса который выполняет более широкую задачу

Добавлено: 16 дек 2005, 14:22
Naeel Maqsudov
Воспользуйтесь, например, ADO.

Через меню Tools/References подключите к проекту
Microsoft ActiveX Data Objects X.X Library

Далее
Dim Conn as New ADODB.Connection, RS as ADODB.Recordset
Set RS = Conn.Open("строка подключения").Execute("SELECT поля FROM таблица WHERE условия")

Далее
RS.Fields(i).Value = это значение i-го поля
RS.MoveNext; RS.MovePrevious, а также ..First и ...Last - это чтобы ходить по выбранным записям

Ставите "." после RS и в подстрочнике увидите все свойства и методы. Там все понятно.

Добавлено: 16 дек 2005, 14:27
Naeel Maqsudov
Есть библиотека DAO.
Там все аналогично. Даже названия у большинства клссов, свойств и методов совпадают.

Добавлено: 16 дек 2005, 14:31
Naeel Maqsudov
Пример строки подключения:

"DSN=;DBQ=c:\folder;FIL=dBASE4"