Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.81/78: Рейтинг темы: голосов - 78, средняя оценка - 4.81
3 / 3 / 0
Регистрация: 15.08.2011
Сообщений: 102

Из access в excel

15.08.2011, 14:52. Показов 16137. Ответов 53
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Вот еще задачка. Если в макросах excel я хоть что-то понимаю, то с access'ом - сплошные пробелы.
Нужно следующее:
в accesse есть база данных примерно на 3 млн записей (строк). Скажем ФИО, дата рождения, адрес. Каким образом методом макросов сделать запрос (например, по дате рождения) и выгрузить результат в excel в новом созданном файле (файл проименовать)
Сами понимаете, переводить данные в excel - самоубийство для excel

Заранее благодарю!

Добавлено через 2 часа 10 минут
мдаа! Вижу задача нетривиальная
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.08.2011, 14:52
Ответы с готовыми решениями:

Обработать в цикле ячейки листа из Access и запустить макрос Excel-файла из Access
Access 2007, Excel 2007. Две задачи: обработать в цикле ячейки листа из Accessa и запустить макрос Excel-ного файла из Accessa. Первая...

Подстановка области из excel в форму Access и перенос в отчет Access
Всем привет. Хочу сделать базу данных по формирования и отправке писем. Короче: 1. Есть 5 клиентов 2. В конце каждого...

Подключение к Microsoft Access из-под Excel (Data Access Objects или DAO)
Для того чтобы подключиться к Базе Access (из basic) в стате прочитал, что необходимо создать Форму в ней включить объект DATA, в далее в...

53
437 / 144 / 9
Регистрация: 12.01.2009
Сообщений: 678
Записей в блоге: 1
17.08.2011, 22:27
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Busine2009 Посмотреть сообщение
eutelg,
значит не надо использовать SQL-запрос, а надо работать с Recordset.
Цитата Сообщение от eutelg Посмотреть сообщение
разве он не анализирует также все данные. мне казалось, что да. как же он тогда определяет координаты строки если не просканирует их все. они же ему неизвестны
Я лично сам измерял разницу времени работы sql запроса и работы со строками (правда на sql-server) и могу заявить с полной уверенностью, что sql - быстрее. Да и в некоторым пособиях об этом говорится.

eutelg, дайте потестить вашу БД.
0
3 / 3 / 0
Регистрация: 15.08.2011
Сообщений: 102
17.08.2011, 22:31  [ТС]
потом ткнуть окно и увидеть результат

Добавлено через 3 минуты
Цитата Сообщение от analyst Посмотреть сообщение
eutelg, дайте потестить вашу БД.
хм...я бы с радостью, но это не очень открытая инфа....если вы меня понимаете
могу попробовать симулировать, заменив данные, но на это нужно время (данные знаете ли надо придумать, причем чтобы запросы были хотя бы адекватные, а не: дайте мне дату рождения - вот вам сорт винограда
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
17.08.2011, 22:31
eutelg,
у Recordset есть ещё Filter - в результате работы фильтра Recordset меняется, и затем изменённый Recordset можно поместить в Excel.
0
3 / 3 / 0
Регистрация: 15.08.2011
Сообщений: 102
17.08.2011, 23:26  [ТС]
Цитата Сообщение от analyst Посмотреть сообщение
могу заявить с полной уверенностью, что sql - быстрее
в общем sql - решение? может тогда все же всю базу перегнать туда да и все?

Добавлено через 4 минуты
если так, то жаль. не очень-то в sql (mysql or sql-server разбираюсь). я видите ли не программист, а финансист, просто по долгу службы приходится работать с большим объемом данных, а дальше ms office я редно решаю задачи

Добавлено через 6 минут
Цитата Сообщение от Busine2009 Посмотреть сообщение
у Recordset есть ещё Filter - в результате работы фильтра Recordset меняется, и затем изменённый Recordset можно поместить в Excel.
думаю. нет смысла строить фильтр в программе куда и так выгружаются все данные, чтобы там их еще и фильтровать. легче все действительно тогда держать в sql

Добавлено через 1 минуту
Цитата Сообщение от eutelg Посмотреть сообщение
в программе
в смысле в recordset, не совсем программа

Добавлено через 9 минут
у вас, к случаю, нет дистриба sql-server. может осилю все же. или где скачать там...

Добавлено через 31 минуту
Цитата Сообщение от analyst Посмотреть сообщение
Ну так ручная выгрузка из cronos это тоже отсутствие автоматизации)
именно поэтому я и пытаюсь сделать так, чтобы эта чертов отдел управления учета не использовал cronos, где черт ногу сломит
0
0 / 0 / 0
Регистрация: 31.05.2011
Сообщений: 16
18.08.2011, 16:26
У меня реализовано так:
1 Создала запрос в конструкторе (параметры поиска меняются?)Если да то запрос с параметром.(Т.к.VBA быстрее SQL не выполнит)
2 Создала макрос:
-открыть запрос
-Экспорт Name:ЛяЛяЛя Date()-Сегодняшняя дата можно и время если надо.
Всё
Заходишь в Access на форме нажимаешь кнопку "Выполнить", появляется окно "Введите дату рождения"(или что-то другое,нужный параметр)И занимаешься другой работой.
Он сам все делает.Потом находишь нужный файл EXCEL)Если кому-то нужно отправлять, можно и рассылку поставить на авто-выполнение.

P.S.Я недавно все свои базы на SQL SERVER переносила...У Access ограничение размера базы в 2Гб
0
3 / 3 / 0
Регистрация: 15.08.2011
Сообщений: 102
18.08.2011, 16:58  [ТС]
Цитата Сообщение от Зябра Посмотреть сообщение
Я недавно все свои базы на SQL SERVER переносила...У Access ограничение размера базы в 2Гб
вот с этим-то я и не в ладах. правда у меня 2гб не выбиваетю у вас много записей?
0
0 / 0 / 0
Регистрация: 31.05.2011
Сообщений: 16
18.08.2011, 18:44
Записей очень много...еженедельно добавляется около 500 000 строк(сейчас База весит практически 12Гб).Я согласна, что SQL обрабатывает запросы быстрее, но в Вашем случае я бы не стала переходить на SQL, т.к. насколько я поняла база одна весит не особо много...часто ли добавляются строки???Да и пользователь только один, т.е. Вы, или много пользователей?
По-поводу VBA: запрос быстрее выполнятся не будет, так как в тексте проги он всё равно будет выполнять SQL запрос .Времени будет затрачено столько же.
Хотя я тоже не программист,так по работе приходится немного разбираться.

Добавлено через 11 минут
Еще вариант, создать удобные клиентские формы,в Вашей доступ открыть, в клиентских формах связанные таблицы с вашей базы,и установить их тем людям кому требуются отчеты.Пускай в любой момент заходят нажимают кнопку вводят нужные параметры и выгружают.И Вам проще и им хорошо.
0
437 / 144 / 9
Регистрация: 12.01.2009
Сообщений: 678
Записей в блоге: 1
18.08.2011, 20:17
Отписываюсь по результатам проверки работы скрипта из поста#28.
На современном компьютере выгрузка данных возвращаемая запросом в котором соединяются 2 таблицы (10 897 674 и 61 531 строк соответственно) и задается один параметр, выполняется в течении нескольких секунд. Точное время не измерял. База находилась на локальном жестком диске.
На более слабой машине на выполнение этой операции потребовалось около минуты.
В связи с этим можно заключить, что проблема не в макросе, а может быть связана со следующими причинами или их сочетанием:
1. Компьютер на котором выполняется операция - маломощный.
2. Если БД находится на сервере, то медленная сеть.
Первый вариант более реален.
Удачи.
0
437 / 144 / 9
Регистрация: 12.01.2009
Сообщений: 678
Записей в блоге: 1
18.08.2011, 20:43
а вот вам хорошие материалы для решения проблем.
Вложения
Тип файла: 7z Microsoft Excel And Access Integration.7z (5.99 Мб, 84 просмотров)
Тип файла: 7z OReilly.Integrating.Excel.and.Access.Nov.2005.eBook-DDU.chm.7z (3.98 Мб, 67 просмотров)
Тип файла: rar EAI.rar (7.07 Мб, 79 просмотров)
1
3 / 3 / 0
Регистрация: 15.08.2011
Сообщений: 102
18.08.2011, 23:31  [ТС]
Цитата Сообщение от analyst Посмотреть сообщение
Первый вариант более реален.
dual-core 2,6mhz

Добавлено через 3 минуты
что ж изучу. спасибо analyst. не хочу больше никого напрягать по своей проблеме. самому пора свою задачу решить, благо материалов.
отдельное спасибо busine2009 и Зябре, все очень помогли.
я буду все равно следить за топиком.
как решу конкретно свою задачу на базе того или иного решения сразу сообщу. просто других дел навалилось не связанных с этим, трудно уделять так много внимания
0
437 / 144 / 9
Регистрация: 12.01.2009
Сообщений: 678
Записей в блоге: 1
19.08.2011, 11:30
а бд находится в сети?
0
3 / 3 / 0
Регистрация: 15.08.2011
Сообщений: 102
19.08.2011, 11:45  [ТС]
Цитата Сообщение от analyst Посмотреть сообщение
а бд находится в сети?
нет на той же машине, где идет обработка
0
437 / 144 / 9
Регистрация: 12.01.2009
Сообщений: 678
Записей в блоге: 1
19.08.2011, 12:30
тогда все должно быть ok!
0
3 / 3 / 0
Регистрация: 15.08.2011
Сообщений: 102
19.08.2011, 12:39  [ТС]
надеюсь. еще не тестил, но обязательно сделаю. сейчас другая, более срочная задача появилась (защита от дураков). разместил пост только что
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.08.2011, 12:39

Access - Excel, код не воспринимает количество строк в Excel более 65000
Добрый день! Есть БД (Access), есть файл Excel, где происходит обработка данных. Код ниже работает отлично, НО он не воспринимает...

Экспорт-импорт данных Excel-Access-Excel
Доброе время суток уважаемые форумчане. Приходит информация в экселевской таблице. Скидываю её в общую базу в Access. Для отчета...

Импорт данных из Excel в Access - MS Access
Добрый день, очень нужна помощь. Поля в таблице access: Name - текстовый Surname - текстовый Father name - текстовый Birth...

Обработка Excel и импорт из Excel в Access
Прошу совета профессионалов. С Excel-м ранее дел не имел. Задание: файлы Excel из одной папки отредактировать, и сохранить в другой. Из...

Excel -> Access -> Excel, импорт - экспорт
Добрый день! Есть табель учета рабочего времени в таблице Excel, задача - переместить данные со всех листов книги в DB Access, позже...


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

Или воспользуйтесь поиском по форуму:
54
Ответ Создать тему
Новые блоги и статьи
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2. Задача: Обеспечить запись документа в регистр сведений независимо от. . .
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется. Ну как вам?
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания источниках данных и элементов формы(текстовые поля и метки), опирается все это на технологию событий и мета. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru