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

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
_Andrew
Сообщения: 23
Зарегистрирован: 02 дек 2005, 12:51

Помогите пожалуйста. Есть задача с помощью VBA импортировать даные из dbf файла в лист Excel, причем импорт с условием. Я так понимаю что нужно использовать запрос SQL, но как не бьюсь не удается это реализовать, постоянно возникают ошибки. Подскажите подробно как решаются такого рода задачи pls (очень поможет рабочий пример програмного кода)
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

Это принципиально, чтобы именно из VBA? (Т.к. есть функция рабочего листа, которая выполняет запрос к внешней БД)
_Andrew
Сообщения: 23
Зарегистрирован: 02 дек 2005, 12:51

Naeel Maqsudov писал(а):Это принципиально, чтобы именно из VBA? (Т.к. есть функция рабочего листа, которая выполняет запрос к внешней БД)
Да это принципиально, потому что это должно быть частью макроса который выполняет более широкую задачу
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

Воспользуйтесь, например, 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 и в подстрочнике увидите все свойства и методы. Там все понятно.
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

Есть библиотека DAO.
Там все аналогично. Даже названия у большинства клссов, свойств и методов совпадают.
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

Пример строки подключения:

"DSN=;DBQ=c:\folder;FIL=dBASE4"
Ответить