Страницы: 1
RSS
Экспорт данных из Access в Excell при большом количестве данных
 
При работе у меня возникла необходимость экспортировать данные из таблицы Access в excell, однако стандартные интсрументы, которые есть в Access (или Excell) мне не подходят, так как объем данных очень велик (около 200000 записей), а в обоих продуктах Microsoft стоит ограничение на 64000. Может быть у кого то есть едеи на этот счет?  
 
Простое резание таблицы и экспортирование по частям, мне не кажется изящным способом)
 
Переходи на Office 2007 или 2010 - там число строк больше миллиона !!
O Tempora, O Mores!!!
 
{quote}{login=www}{date=01.02.2012 04:04}{thema=}{post}Переходи на Office 2007 или 2010 - там число строк больше миллиона !!{/post}{/quote}  
 
 
Я то как раз и работаю в 2007. Проблема в том, что при экспорте данных Access ругается не зависимо от того в каком Office ты работаешь. Мне в принципе не принципиально, выгрузку можно делать и в другие форматы (например .txt), потом просто открыть этот формат через excell (кстати в данном случае ограничение в 64000 тоже действует)
 
А Вы с помощью екселя тащит из акцесса собираетесь или при помощи акцесса кидать в ексель? Из какой программы будете код запускать?
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
 
200000 не пробовал, а 178000 экспортировал из Аксеса без проблем, правда чуть подождал (с расширением XLSX). Может у Вас где-нибудь в настройках по умолчанию стоит формат 2003?  
У меня OFF 2010.
 
Вот - как вариант:  
C:\Users\mvlebedev\Documents\старый ПК\Мои документы\CD\CD_5(семинар)\TrainerCD\Примеры и приемы\Access\Загрузка таблицы БД в Excel таблицу\Загрузка таблицы БД в Excel таблицу.mht  
 
Виталий Тихвинский    
Загрузка таблицы Б.Д, в Excel таблицу    
Необходимо в редакторе VBA в меню Сервис-ссылки включить библиотеку Microsoft DAO 3.5 object library.    
Имя объекта Workspaces(0) в указанных примерах можно опустить.    
 
Dim db As Database, r As Recordset  
 
Set db = Workspaces(0).OpenDatabase("Полный путь к базе и ее имя")  
 
Set r = db.OpenRecordset("Имя загружаемой таблицы")  
 
Cells(i, j).CopyFromRecordset r  
r.Close  
 
db.Close  
 
 
‘можно загрузить данные в Excel таблицу и на прямую без указателей  
 
Cells(i, j).CopyFromRecordset  _  
Workspaces(0).("Полный путь к базе и ее имя").OpenRecordset("Имя загружаемой таблицы")  
 
 
Где i, j – строка и столбец, откуда начинаем загружать таблицу Б.Д.
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
 
У меня и в 2007 и в 2010 стандартными средствами отлично все экспортируется в excel.
Спасибо
 
Еще ссылка:  
 
http://hiprog.com/index.php?option=com_content&task=view&id=251661628
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
 
А вообще не понятно зачем столько много выводить в Ексель.  
Можно выводить через DAO Как было описано выше только самое необходимое, используя вместо наименования таблицы текст SQL запроса
 
Еще статья, куча способов вывода в ексель и сравнение +/- и скорости вывода.
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
Страницы: 1
Читают тему
Наверх