3 / 3 / 0
Регистрация: 20.11.2016
Сообщений: 88

Экспорт данных из запроса Access в Excel-Шаблон с определенной строки

08.08.2017, 16:47. Показов 7113. Ответов 8

Author24 — интернет-сервис помощи студентам
Добрый день, Увожаемые форумчане.

У кого нибудь есть готовый пример экспорта данных из запроса Access в уже готовый отформатированный шаблон Excel, так чтобы данные (большая таблица запроса с всегда разным количеством строк но одинаковым количеством столбцо) выгружались в Excel с 10й строки (область выше применятеся для вычислений и обозначений).

p.s. Знаю что много статей на эту тему. Не могу сделать код...по сути просто массив с данними должен переместиться из запроса в таблицу при этом имя таблицы должно быть задаваемо параметрами.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.08.2017, 16:47
Ответы с готовыми решениями:

Экспорт поля МЕМО из Access запроса в Excel Шаблон без потери знаков (>255)
Доброго времени суток! Есть работающее Access приложение для создания протоколов совещаний. Текст протоколов часто большой, поэтому в...

Экспорт данных из запроса Access в ячейки шаблона Excel
Прошу помощи. Буду очень благодарен кто поможет сделать экспорт из запроса Access в ячейки шаблона Excel. В архиве БД и Екселевский файл-...

Экспорт данных из запроса Access в ячейки шаблона Excel
Из поста Экспорт данных из запроса Access в ячейки шаблона Excel Как подключить мой шаблон? если запрос SELECT...

8
Эксперт MS Access
26819 / 14499 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
08.08.2017, 17:00
Цитата Сообщение от Дмитрий1905 Посмотреть сообщение
массив с данними должен переместиться из запроса в таблицу при этом имя таблицы должно быть задаваемо параметрами.
Имя таблицы это имя книги/шаблона Excel? Или имя объекта таблица, умная таблица в книге? Предположим, что имя шаблона
Visual Basic
1
2
3
4
5
6
7
8
9
sub ToExcelTabl(nameTabl)
   dim app as object, wrk as object
   dim rst as dao.recordset
   set app=createobject("excel.application")
   set wrk=app.workbooks.open(nameTabl)
   set rst=currentdb.openrecordset("select * from ИмяЗапроса")
   app.range("a10").copyfromrecordset rst
   app.visible=true
end sub
1
3 / 3 / 0
Регистрация: 20.11.2016
Сообщений: 88
08.08.2017, 17:50  [ТС]
Цитата Сообщение от mobile Посмотреть сообщение
Имя таблицы это имя книги/шаблона Excel?
Да. Верно!
Это имя "готового продукта" - таблицы excel порожденной из шаблона.

Можно пожалуйста поподробнее с кодом?:

- этот код в Modul1 пропивывать и потом на него ссылаться?
- nameTabl - это имя таблицы? какой таблицы?
- где в этом коде указывается адрес и имя шаблона в который нужно залить данные?
- тут не нужна строчка в конце типа safefile as bla bla?

подскажите пожалуйста.
этот код нужно потом кнопкой запустить

Добавлено через 12 минут
Немного подправил код "под себя" и вот что получилось. Он работает. Сохраняет Excel таблицу в той же папке с данными из запроса начиная с 10й строки - все как и нужно!

Теперь другой вопрос:
- как указать другое место для хранения отчетов?
- как задавать имя?

Visual Basic
1
2
3
4
5
6
7
8
9
10
Public Sub ToExcelTabl()
   Dim app As Object
   Dim wrk As Object
   Dim rst As dao.Recordset
   Set app = CreateObject("excel.application")
   Set wrk = app.Workbooks.Open(CurrentProject.Path & "\B_S_JD.xltm")
   Set rst = CurrentDb.OpenRecordset("select * from 0180_x01_JD_SITTENSEN")
   app.Range("a10").CopyFromRecordset rst
   app.Visible = True
End Sub
0
Эксперт MS Access
26819 / 14499 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
08.08.2017, 17:52
Параметр процедуры nameTabl это и есть строка "c:\путь\имяшаблона.xltx".
Я бы сделал форму с полем и кнопкой. В поле путь\имяшаблона.xltx. Если путь и имя шаблона постоянные, то можно сделать его значением по умолчанию. На кнопке вызов процедуры
Visual Basic
1
ToExcelTabl Me.ИмяПоляПути
Если шаблон может меняться, то надо будет сделать небольшую процедурку для выбора папки и файла с шаблоном
Процедуру ToExcelTabl можно записать в стандартный модуль. А можно и в модуль формы, если захотите с формой. С формой удобнее.
1
3 / 3 / 0
Регистрация: 20.11.2016
Сообщений: 88
08.08.2017, 17:53  [ТС]
Нет. Извините, не так.
Процедура не сохраняет таблицу, а просто открывает шаблон с данными и при закрытии спрашивает сохранять или нет.
0
Эксперт MS Access
26819 / 14499 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
08.08.2017, 17:55
Лучший ответ Сообщение было отмечено Дмитрий1905 как решение

Решение

Если нужно задавать еще и место хранения отчетов. то я бы сделал на форме еще одно поле с путем до папки хранения.
А в процедуре последним оператором записать сохранение книги
Visual Basic
1
wrk.saves Me.ПолеФормыПапкиХраненияОтчет\ИмяОтчета.xlsx
1
3 / 3 / 0
Регистрация: 20.11.2016
Сообщений: 88
08.08.2017, 18:09  [ТС]
mobile, спасибо! в очередной раз выручаете.
Шаблоны будут лежать в отдельной папке. Всегда в одной папке, всегда одинаковые шаблоны.

Будет меняться имя готового файла. Вы мне просто подскажите пожалуйста как сохранить правильно и желательно с возможностью указания пути. Скажем, будет отдельная папка задана для запросов "А" другая для "Б".
...мне главное недостоющие команды узнать. там уже какое имя конкретно какой шаблон получит я разберусь...надеюсь

Добавлено через 9 минут
не получается.
как правильно делать? что я не так делаю?

Visual Basic
1
wrk.saves (CurrentProject.Path & "\B_S_JD.xlsx")
0
Эксперт MS Access
26819 / 14499 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
08.08.2017, 18:15
Лучший ответ Сообщение было отмечено Дмитрий1905 как решение

Решение

Цитата Сообщение от Дмитрий1905 Посмотреть сообщение
ак сохранить правильно и желательно с возможностью указания пути. Скажем, будет отдельная папка задана для запросов "А" другая для "Б".
Тогда на форме надо сделать либо 2 поля для путей, если в ексель пишется сразу оба запроса, либо сделать группу для выбора того или иного запроса. А в процедуру внести еще параметр - имя запроса
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Public Sub ToExcelTabl(nameQuery)
   Dim app As Object
   Dim wrk As Object
   Dim rst As dao.Recordset
   Set app = CreateObject("excel.application")
   Set wrk = app.Workbooks.Open(CurrentProject.Path & "\B_S_JD.xltm")
   Set rst = CurrentDb.OpenRecordset("select * from [" & nameQuery & "]")
   app.Range("a10").CopyFromRecordset rst
   app.Visible = True
   wrk.SaveAs Filename:=Me.ИмяПапкиХраненияОтчета & "\ИмяОтчета.xlsx", _
       FileFormat:=xlOpenXMLWorkbook
End Sub
В процедуре на кнопке, в зависимости от организации формы построить выбор поля папки и имени запроса и выполнить процедуру. Если затрудняетесь с кодом, то сначала создайте форму какая Вам нравится и Вам подскажут код.
1
3 / 3 / 0
Регистрация: 20.11.2016
Сообщений: 88
08.08.2017, 18:21  [ТС]
огромное спасибо! Mobile

у меня есть большая рутина которая по четырем параметрам: 1) вид заказа (2 варианта), 2) филиал (5 вариантов), 3) поставщик (10 вариантов) и 4) дата и время текущие
присваивает переменной соответствующее имя. это уже есть.

еще в коде вроде бы не хватало закрытия excelя так как во время попытки открыть файл там всплыло окно "защищен от записи, только для чтения".

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Public Sub ToExcelTabl()
   Dim app As Object
   Dim wrk As Object
   Dim rst As dao.Recordset
   Set app = CreateObject("excel.application")
   Set wrk = app.Workbooks.Open(CurrentProject.Path & "\B_S_JD.xltm")
   Set rst = CurrentDb.OpenRecordset("select * from 0180_x01_JD_SITTENSEN")
   app.Range("a10").CopyFromRecordset rst
   app.Visible = False
   wrk.SaveAs CurrentProject.Path & "\B_S_JD.xlsx"
            wrk.Close True
            Set wrk = Nothing
            app.Quit
            Set app = Nothing
End Sub
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.08.2017, 18:21
Помогаю со студенческими работами здесь

Экспорт данных запроса или формы в шаблон Excel или Word
Все привет. Пришлось столкнуться с необходимость экспорта сформированных запросов и форм в заранее заготовленный шаблон Word или Excel....

Экспорт из запроса Access в шаблон Word по критериям
Всем добрый день. Может кто сможет подсказать решение следующей задачи. БД имеет следующую структуру: 1. Таблица DATA с полями...

Экспорт запроса из Access в Excel
Приветствую! Нужна ваша помощь, так как сам уже голову сломал. Меня посадили на место человека который занимался базами данных, я к...

Экспорт данных из запроса с параметрами в шаблон Word
Доброго времени суток всем форумчанам. В общем,благодаря Святому Духу Программиста и Киберфоруму сваял код экспорта данных в шаблон...

Экспорт данных из таблицы Excel в шаблон Excel
Добрый день! Проблемка заключается в следующем: В папке debug во вложении есть файл "Дмитров_расшифровка - копия". С него...


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

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

Новые блоги и статьи
Вопросы на собеседованиях по микросервисам
ArchitectMsa 27.03.2025
Работодатели ищут не просто разработчиков, знающих базовые концепции, а специалистов, разбирающихся в тонкостях масштабирования, отказоустойчивости и производительности. Сейчас на первый план выходят. . .
Взаимодействие Python с REST API
py-thonny 27.03.2025
REST API - это архитектурный стиль взаимодействия компонентов распределённого приложения в сети. Python располагает функциональным набором инструментов для работы с REST API и основная библиотека для. . .
sshd restrictions, ssh access limitations
jigi33 26.03.2025
sshd restrictions | ssh access limitations рестрикции доступа на сервер sshd статья: https:/ / www. golinuxcloud. com/ restrict-allow-ssh-certain-users-groups-rhel
Компиляция C++ с Clang API
NullReferenced 24.03.2025
Компиляторы обычно воспринимаются как черные ящики, которые превращают исходный код в исполняемые файлы. Мы запускаем компилятор командой в терминале, и вуаля — получаем бинарник. Но что если нужно. . .
Многопоточное программировани­е в C#: Класс Thread
UnmanagedCoder 24.03.2025
Когда запускается приложение на компьютере, операционная система создаёт для него процесс - виртуальное адресное пространство. В C# этот процесс изначально получает один поток выполнения — главный. . .
SwiftUI Data Flow: Передача данных между представлениями
mobDevWorks 23.03.2025
При первом знакомстве со SwiftUI кажется, что фреймворк предлагает избыточное количество механизмов для передачи данных: @State, @Binding, @StateObject, @ObservedObject, @EnvironmentObject и другие. . . .
Моки в Java: Сравниваем Mockito, EasyMock, JMockit
Javaican 23.03.2025
Как протестировать класс, который зависит от других сложных компонентов, таких как базы данных, веб-сервисы или другие классы, с которыми и так непросто работать в тестовом окружении? Для этого и. . .
Архитектурные паттерны микросервисов: ТОП-10 шаблонов
ArchitectMsa 22.03.2025
Популярность микросервисной архитектуры объясняется множеством важных преимуществ. К примеру, она позволяет командам разработчиков работать независимо друг от друга, используя различные технологии и. . .
Оптимизация рендеринга в Unity: Сортировка миллиона спрайтов
GameUnited 22.03.2025
Помните, когда наличие сотни спрайтов в игре приводило к существенному падению производительности? Время таких ограничений уходит в прошлое. Сегодня геймдев сталкивается с задачами совершенно иного. . .
Образование и практика
Igor3D 21.03.2025
Добрый день А вот каково качество/ эффективность ВУЗовского образования? Аналитическая геометрия изучается в первом семестре и считается довольно легким курсом, что вполне справедливо. Ну хорошо,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru