Перенос данных из БД типа *.dbf в Excel

Программирование на Visual Basic for Applications
Kudrrr
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 14.02.2005 (Пн) 11:56

Перенос данных из БД типа *.dbf в Excel

Сообщение Kudrrr » 14.02.2005 (Пн) 12:13

Вот такая у меня возникла необходимость. Не знаю как это сделать. Подскажите, пожалйста. Что лучше использовать VBA в Экселе или обычный VB? Я пробовал делать через оба эти инструмента, но ничего не выходит. Проблема ещё заключается в том, какие элементы использовать для связи с БД. К примеру, Data, почему-то отсутствует в VBA, а в VB не получается засунуть данные из даты в эксель. Кстати, с базой типа *.mdb вроде бы получается....

echo
Обычный пользователь
Обычный пользователь
 
Сообщения: 62
Зарегистрирован: 26.01.2005 (Ср) 8:25
Откуда: Хабаровск

Сообщение echo » 15.02.2005 (Вт) 2:16

Насколько я знаю dfb-ки банально открываются Экселем. Чего нужно сделать то конкретно?
Душа болит... А лечишь её - печень болит!

Kudrrr
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 14.02.2005 (Пн) 11:56

Сообщение Kudrrr » 15.02.2005 (Вт) 10:52

Есть достаточно большая БД. Нужна прога, которая бы могла взять данные из этой БД и перенести их в Эксель + переносить только заданные поля + группировать данные по определённому признаку и рассовывать по разным листам (всего листов где-то 60 получается).
Я понимаю, что Эксель открывает ДБФки, но вручную делать это нереально. Вот.

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 15.02.2005 (Вт) 11:13

А нельзя dbf-ку открыть экселем (это же тоже можно делать из VBA), а потом макросом уже выполнить все необходимые действия?
Быть... или не быть. Вот. В чём вопрос?

echo
Обычный пользователь
Обычный пользователь
 
Сообщения: 62
Зарегистрирован: 26.01.2005 (Ср) 8:25
Откуда: Хабаровск

Сообщение echo » 16.02.2005 (Ср) 2:17

Kudrrr писал(а):(всего листов где-то 60 получается).
:!:
и зачем тебе такой, пардон, геморрой ?... сделать всё это можно, но может лучше хотя бы Access использовать, гораздо быстрее будет и проще (ИМХО)
Душа болит... А лечишь её - печень болит!

Димитрий
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 194
Зарегистрирован: 26.01.2005 (Ср) 22:47
Откуда: Волгоград

Сообщение Димитрий » 16.02.2005 (Ср) 23:02

В Access конечно лутше, но если автору удобнее, то можно подключится так:)
Dim cn As ADODB.Connection
Dim adoRS As ADODB.Recordset

pathDBF="c:\dbf\"
strSQL="SELECT * From T2.dbf

Set cn=New ADODB.Connection
cn.Provider="Microsoft.Jet.OLEDB.4.0"
cn.ConnectionString="Data Source=" & pathDBF & "; Extended Properties=dBase III"

cn.Open
Set adoRS=New ADOBD.Recordset
adoRS.CursorType=adOpenKeyset
adoRS.LockType=adLockOptimiststic
adoRS.Open strSQL, cn

Костя
Обычный пользователь
Обычный пользователь
 
Сообщения: 93
Зарегистрирован: 14.02.2005 (Пн) 6:45
Откуда: Новосибирск

Сообщение Костя » 17.02.2005 (Чт) 7:48

xl.workbooks.OpenDatabase(FileName, CommandText, CommandType, BackgroundQuery, ImportDataAs)

Весьма удобный метод. Правда, я с *.dbf не пробовал, и мне надо было всю базу целиком перенести... Но получилось.
Всё бывает!


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

    TopList  
cron