Форум программистов, компьютерный форум, киберфорум
Наши страницы
VBA
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/16: Рейтинг темы: голосов - 16, средняя оценка - 4.63
denyacheerful
0 / 0 / 0
Регистрация: 28.06.2009
Сообщений: 36
1

Как сделать выборку записей из файла DBF на лист Excel?

11.09.2010, 18:04. Просмотров 2949. Ответов 8
Метки нет (Все метки)

Добрый день! Помогите пожалуйста, сделать выборку записей из файла DBF на лист Excel. Найденный мной здесь код
Visual Basic
1
2
Set Db = OpenDatabase('c:', False, True, 'dBASE IV')
Set rs = Db.OpenRecordset('ex_oper.dbf', dbOpenDynaset)
Выдает ошибку 'Внешняя таблица не имеет предполагаемый формат'. Если я пытаюсь изменить формат например на Dbase III, получаю сообщение 'Невозможно найти устанавливаемый ISAM'. Если же я просто пытаюсь открыть этот файл, получаю сообщение - 'Формат файла неизвестен'. Как определить какую версию формата DBase имеет файл? и как его открыть в VBA?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.09.2010, 18:04
Ответы с готовыми решениями:

Необходимо сделать выборку из таблицы dbf
необходимо сделать выборку из таблицы dbf поле index - string Dim n As String...

Как сделать выборку из текстового файла с разделителями?
У меня три вопроса 1. При импортировании данных из текстового файла...

VBA, как макросом сохранить лист в dbf`ный файл?
подскажите новичку в VBA как макросом сохранить лист в dbf`ный файл... и чтобы...

Excel и чтение dbf файла.
Доброго времени суток! Есть кучка дбф файлов, (одни сутки - один файл), в...

Нужно сделать выборку для Excel и ненужное удалить
Ребята нужна помощь, очень очень надо :cry: есть файл с табличными данными...

8
Gacol
1 / 1 / 0
Регистрация: 03.07.2009
Сообщений: 112
12.09.2010, 13:01 2
Попробуй создатть запрос на выборку, записывая ход выполнения в макрос.
Потом будет ясно, что надо поправить в нужный момент в SQL-запросе.
Этот вариант мне кажется удобнее и нажежнее.
0
vlth
12 / 12 / 2
Регистрация: 23.03.2010
Сообщений: 635
12.09.2010, 15:52 3
Код из книги (автор ссылается на Инет).

Подключение к файлу dbf формата dBase III (подходит для dBase 4 и 5):
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
pathDBF='c: '
strSQL='SELECT * FROM ИмяФайла.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 rs = new ADODB.recordset
...
 
Range('A1').CopyFromRecordset rs
Попробуй, м.б. поможет...
0
denyacheerful
0 / 0 / 0
Регистрация: 28.06.2009
Сообщений: 36
12.09.2010, 17:57  [ТС] 4
как-то не помогло,
ругается на строку New ADODB.Connection - user-defined type not defined
0
vlth
12 / 12 / 2
Регистрация: 23.03.2010
Сообщений: 635
12.09.2010, 19:46 5
Добавь ссылку в Tools->References на Microsoft ActiveX Data Objects 2.x Library (последнюю версию 2.8 можно скачать с сайта Microsoft)
0
vlth
12 / 12 / 2
Регистрация: 23.03.2010
Сообщений: 635
12.09.2010, 19:50 6
Файл называется MDAC_TYP.EXE, 'весит' > 5 M
0
denyacheerful
0 / 0 / 0
Регистрация: 28.06.2009
Сообщений: 36
20.09.2010, 19:10  [ТС] 7
Все равно не помогло - Говорит - таблица не имеет предполагаемый формат. Одно дополнение - это таблица Visual FoxPro
0
vlth
12 / 12 / 2
Регистрация: 23.03.2010
Сообщений: 635
20.09.2010, 22:28 8
Сочувствую.
0
Vadim_Step
0 / 0 / 0
Регистрация: 27.10.2010
Сообщений: 1
30.10.2010, 20:49 9
Вот как это выглядит у меня-часть кода для сосдания сводных таблиц.
Visual Basic
1
2
3
4
5
6
7
8
9
Set PTCache = ActiveWorkbook.PivotCaches.Add(SourceType:=xlExternal)
        
ConString = 'ODBC;CollatingSequence=ASCII;DBQ=' & Путь & ';Deleted=0;Driver={Microsoft dBase Driver (*.dbf)};' & vbCrLf
ConString = ConString & ' DriverId=277;FIL=dBase IV;MaxBufferSize=2048;MaxScanRows=8;PageTime out=5;SafeTransactions=0;Statistics=0;Threads=3;UID=admin;UserCommitSync=Yes;'
        
        sSQL = 'SELECT ' & TabName & '.A_Date as Дата,' & TabName .......        
 With PTCache
       .Connection = ConString
       .CommandText = sSQL
0
30.10.2010, 20:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.10.2010, 20:49

Excel: как удалить лист, чтоб Excel не ругался?
Привет! Удаляю лист из книги (из тех, что создается по умолчанию при создании...

Разбивка DBF на 2 файла путем выборки поиском. Макрос Excel
Доброго времени суток! Есть файл-таблица в формате .dbf (DBF-4), нужно этот...

Помогите с функциями в Excel.... Есть набор значений нужно сделать выборку
Есть столбец значений. 1000 1100 1110 1111 1112 1113 1114 1115 1120


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru