Всем привет, сегодня мы поговорим о том, как можно выгрузить данные из Access в такие приложения как Word и Excel. Но не о стандартном способе, который есть в Access (связь с Office), а о способе, который позволяет выгружать данные в заданный шаблон как в Word, так и в Excel.
Другими словами, это нужно тогда, когда создать отчет в Access по шаблону, который уже существует, например, в Word, невозможно или слишком трудоемко. Как Вы знаете, отчет в Access может выводиться просто коряво или, самый распространенный вариант, это когда много текста, который в отчете Access не так хорошо форматируется как в Word, а данных не так много, но отчет необходимо автоматизировать, например это какие-то договора, заявления и так далее.
Использование слияния из самого Word-а не очень удобно, поэтому сегодня я расскажу, как можно заполнять такие шаблоны напрямую из Access, путем нажатия на одну кнопку.
Кроме выгрузки в шаблон Word, иногда возникает и необходимость выгрузки в шаблон Excel, и этот способ мы тоже сегодня рассмотрим.
Содержание
- Экспорт данных из Access в шаблон Word
- Код VBA для выгрузки данных в шаблон Word
- Экспорт данных из Access в шаблон Excel
- Код VBA для выгрузки данных в шаблон Excel
Вся разработка делится на две части, это:
- Настройка шаблона Word;
- Настройка выгрузки данных в шаблон.
Суть настройки шаблона заключается в том, чтобы проставить необходимые поля в тех местах шаблона, где нужно выводить те или иные данные. Это делается с помощью полей формы.
Примечание! Я использую Microsoft Word 2003.
Открываем шаблон Word, для начала добавим необходимую панель инструментов, для этого нажимаем «Вид -> Панель инструментов» и ставим галочку «Формы». Теперь у Вас отобразилась панель инструментом «Формы». Все, что осталось сделать — это вставить в местах, в которых необходимо выводить данные, элементы «Текстовое поле», которые доступны на только что добавленной панели инструментов.
После добавления поля, у Вас появится серая область, которая свидетельствует о том, что поле добавлено. Теперь необходимо задать имя этого поля, для того чтобы потом из access вставлять в него значения (стандартное названия не очень удобное). Для этого щелкните правой кнопкой мыши по полю и нажмите «Свойства». В поле закладка напишите желаемое имя этого поля, я в примере назвал его MyTestPole.
Создайте столько полей, сколько Вам нужно.
На этом настройка шаблона закончена, рекомендую сделать этот шаблон только для чтения, а то пользователь возьмет, сформирует документ и сохранит его, и шаблон тем самым потеряется, а если сделать его только для чтения, то у него такой возможности не будет, только сохранять через «Сохранить как».
Переходим к более интересной задачи, это к реализации самой выгрузки из Access в этот шаблон на VBA.
Примечание! Я использую Access в связке с MS SQL 2008, поэтому и данные буду брать от туда.
Код VBA для выгрузки данных в шаблон Word
Допустим, у Вас есть форма, сделайте на ней кнопку (я назвал ее testbutton) и в событие нажатие кнопки вставьте следующий код VBA:
Private Sub testbutton_Click() 'Объявляем переменные Dim FileDialog As FileDialog Dim rsd As ADODB.Recordset Dim strSQL As String Dim WordApOb As Object Dim WordOb As Object Dim path As String Set rsd = New ADODB.Recordset 'запрос к базе данных для получения необходимых данных strSQL = "select * from dbo.table where KOD = " & Me.kod & "" rsd.open strSQL, CurrentProject.Connection 'Выбираем шаблон Set FileDialog = Application.FileDialog(msoFileDialogOpen) 'убираем множественный выбор, он нам не нужен FileDialog.AllowMultiSelect = False 'очистим и установим фильтры FileDialog.Filters.Clear FileDialog.Filters.add "Word", "*.doc" 'установим фильтр по умолчанию FileDialog.FilterIndex = 1 'проверяем, что сделал user, если выбрал шаблон, то начинаем работу If FileDialog.Show = False Then 'Если нет, то выходим Set dlgFile = Nothing Exit Sub End If 'получаем путь к файлу path = Trim(FileDialog.SelectedItems(1)) 'Очистим переменную Set FileDialog = Nothing If path <> "" Then 'Будем отслеживать ошибки On Error GoTo Err_testbutton_Click 'Создаем объект Word Set WordOb = CreateObject("Word.document") 'Задаем нашему документу значение из шаблона Set WordOb = GetObject(path) 'Задаем значение объекту word.Application Set WordApOb = WordOb.Parent 'делаем приложение word видимым WordApOb.Visible = True 'ищем наше поле в шаблоне WordOb.Bookmarks("mytestpole").Select 'задаем ему новое значение из нашего Recordset WordApOb.Selection.TypeText Text:=Nz(rsd.Fields("field").Value, " ") 'и так далее по всем полям 'в конце перейдем на начало нашего документа WordApOb.Selection.Goto wdGoToFirst 'и активируем его WordApOb.Activate 'Очистим переменные Set WordOb = Nothing Set WordApOb = Nothing Exit_testbutton_Click: Exit Sub Err_testbutton_Click: MsgBox Err.Description 'в случае ошибки будем делать следующие 'закроем word без сохранения WordOb.Close (wddonotsavechanges) WordApOb.Quit 'и также очистим переменные Set WordOb = Nothing Set WordApOb = Nothing Resume Exit_testbutton_Click End If End Sub
Код прокомментирован, поэтому сложностей возникнуть не должно. Здесь весь смысл сводится к созданию объекта word.document и word.application. А после мы уже работаем с нашими объектами, т.е. заполняем их.
Экспорт данных из Access в шаблон Excel
В шаблоне Excel уже не нужно создавать поля как в Word, так как здесь мы уже будем ориентироваться по адресам ячеек.
Существует несколько способов, как заполнять Excel шаблон, я опишу два, первый — это тогда, когда Вам просто необходимо проставить несколько полей, т.е. в источнике данных будет всего одна строка с несколькими столбцами. Второй — это когда строк будет уже несколько, причем Вы не знаете, сколько именно (в зависимости от каких то условий). В шаблоне по умолчанию отведено для этого все пару строк, поэтому мы будем нужные нам строки добавлять, для того чтобы наши данные не накладывалась на строки ниже (допустим там примечание, подпись руководителя и т.д.). И совет, я здесь, для примера, использую всего один источник данных, а Вы, если Вам необходимо заполнить шапку, примечание и некое количество строк (т.е. область данных), можете использовать несколько источников (Recordset).
Код VBA для выгрузки данных в шаблон Excel
Сначала добавьте кнопку на форму (я ее назвал testexcel) и вставьте следующий код в событие «Нажатие кнопки».
Private Sub testexcel_Click() 'Объявляем переменные Dim XL As Object Dim XLT As Object Dim newrow As Object Dim rsd As ADODB.Recordset Dim strSQL As String Set rsd = New ADODB.Recordset 'Запрос к базе данных strSQL = "select * from dbo.table where kod = " & Me.kod & "" rsd.open strSQL, CurrentProject.Connection 'Создаем необходимые объекты Set XL = CreateObject("Excel.Application") 'для примера показываю, как можно сразу загружать шаблон без выбора Set XLT = XL.Workbooks.open("C:testfile.xls") '1 способ - если в источнике данных всего одна строка With XLT.Worksheets("Лист1") .[a1] = rsd.Fields("field1") .[b1] = rsd.Fields("field2") .[c1] = rsd.Fields("field3") .[d1] = rsd.Fields("field4") End With '2 способ - если строк в источнике несколько 'причем мы учтем то, что у нас есть шапка и примечание в Excel 'и мы не знаем, сколько строк у нас вставится 'и поэтому строки будем добавлять в случае необходимости 'зададим, с какой строки будем начинать вставлять данные Rowss = 10 'для нумерации numrow = 1 'запускаем цикл, он будет работать до тех пор, пока не закончатся строки в нашем источнике While Not (rsd.EOF) 'смотрим, если строк больше чем мы задали в шаблоне If Rowss >= 12 Then 'то добавляем строку XLT.Worksheets("Лист1").Rows(Rowss).Insert 'Запомним нашу строку Set newrow = XLT.Worksheets("Лист1").Rows(Rowss) 'и вставим туда копию предыдущей строки 'для того если вдруг у вас там есть объединенные ячейки или какие-то нужные данные 'так как новая строка создастся без всяких объединений и значений XLT.Worksheets("Лист1").Rows(Rowss - 1).Copy newrow 'это просто для примера как можно очистить некий диапазон внутри документа 'XLT.Worksheets("Лист1").Range("A10:F10").ClearContents 'динамически формируем адрес нужной ячейки cell = "a" & Rowss 'и задаем ей значение XLT.Worksheets("Лист1").Range(cell) = numrow cell = "b" & Rowss XLT.Worksheets("Лист1").Range(cell) = rsd.Fields("field5").Value 'переходим на следующую строку Rowss = Rowss + 1 'переходим на следующую строку в источнике данных rsd.MoveNext Else 'а это выполняется до тех пор, пока не закончатся заданные строки в шаблоне 'т.е. если строк в источнике всего 1, то в код, который выше мы даже не попадем cell = "a" & Rowss XLT.Worksheets("Лист1").Range(cell) = numrow cell = "b" & Rowss XLT.Worksheets("Лист1").Range(cell) = rsd.Fields("field5").Value Rowss = Rowss + 1 rsd.MoveNext End If 'для нумерации numrow = numrow + 1 'конец цикла Wend 'это просто пример как можно удалить строку целиком 'XLT.Worksheets("Лист1").Rows(20).Delete 'делаем Excel видимым XL.Visible = True 'Очищаем переменные Set XL = Nothing Set XLT = Nothing Set newrow = Nothing End Sub
Здесь я также все подробно прокомментировал, но если есть вопросы, то задавайте их в комментариях к данной статье.
Для сведения, я здесь при создании объекта и Word.Application и Excel.Application использовал позднее связывание, для того чтобы не добавлять необходимые библиотеки и обеспечить совместимость.
Надеюсь, мои примеры Вам помогут!
Прошу помощи. Буду очень благодарен кто поможет сделать экспорт из запроса Access в ячейки шаблона Excel. В архиве БД и Екселевский файл- шаблон. Запрос или отчет называется- Первичные сведения. Из него необходимо вставить данные в этот шаблон. Тоесть по кнопке с формы должен в итоге открыться готовый екселевский документ с вставлеными данными. Далее я расписал по пунктам. Спасибо.
например для для договора 111 (в запросе и отчете вводим 111)
Что надо брать из акцесса в ексель- выделил желтым.
стр1 в екселе
1) Дата. в екселе 8 строчка. дата вводится 2 раза —
первый раз полностью (где стоит 20 апреля 2011) ячейки AD8 AJ8 BD8,
второй сокращенно (20.04.2011) CI8.
Эта дата должна быть сегодняшняя. Тоесть системная дата на момент создания отчета.
2) 19 строчка екселя CI19 — вместо цифры 2 ставится из акцесса ставится из Основание.id_Основания
3) 22 строчка екселя яч CI22 из — Договор.Дата_основания
4) 24 строчка екселя яч A24 из — Договор.id_Основания, Договор.Номер_основания и Договор.Дата_основания
5) 27 стр екселя яч AJ27 из — Договор.Дата_заключения
6) 28 стр екселя яч AJ28 из — таблица Статья_договора Sum([Сумма]) — суммируются все суммы по договору.
7) 29 стр екселя яч AJ29 из — Договор.Дата_исполнения
27 стр. екселя CJ27 — Договор.Номер_договора
стр 2 екселя
1) стр 9 яч A9 — Статья_договора.id_Статьи
2) стр 9 яч Q9- Статья_договора.Сумма
3) стр 6 яч U6- Статья_договора.Год
4) стр 10 яч Q10- итого (сумма по годам наверное можно сделать формулу в екселе)
5) стр 26 яч F26- из Договор.Содержание
6) стр 26 яч AL26- из таблица Статья_договора Sum([Сумма]) — суммируются все суммы по договору.
7) стр. 27 яч AL27- итого (сумма наверное можно сделать формулу в екселе)
стр 35 яч F35 — из Контрагент.Полное_наим
9) стр 35 яч AU35- из Контрагент.Адрес
10) стр 35 яч BH35 — Контрагент.ИНН
11) стр 35 яч BV35 — Контрагент.КПП
12) и в стр 40 C40 опять системную сегодняшнюю дату.
Всем привет, сегодня мы поговорим о том, как экспортировать данные из Access в такие приложения, как Word и Excel. Но не о стандартном способе доступа (подключение к Office), а о том, как он позволяет загружать данные в определенный шаблон как в Word, так и в Excel.
Другими словами, это необходимо, когда невозможно или занимает слишком много времени, чтобы создать отчет в Access с использованием уже существующего шаблона, например, в Word. Как вы знаете, отчет в Access может отображаться просто неудобно или, что наиболее распространенный вариант, возникает, когда в отчете Access много текста, который не отформатирован так сильно, как в Word, и данных не так много, но отчеты должны быть автоматизированы, например, некоторые контракты, банковские выписки и так далее.
Использование слияния из самого Word не очень удобно, поэтому сегодня я расскажу вам, как заполнять такие шаблоны прямо из Access, нажав кнопку.
Помимо загрузки в шаблон Word, иногда возникает необходимость загрузить в шаблон Excel, и сегодня мы рассмотрим и этот метод.
Вся разработка разделена на две части, это:
- Настройка шаблона Word;
- Настройка загрузки данных по модели.
Суть настройки шаблона заключается во вставке необходимых полей в те места в шаблоне, где должны отображаться определенные данные. Это делается с помощью полей формы.
Примечание! Я использую Microsoft Word 2003.
Откройте шаблон Word, сначала добавьте необходимую панель инструментов, для этого нажмите «Вид -> Панель инструментов» и установите флажок «Формы». Вы открыли панель с инструментом «Формы». Все, что остается, — это вставить в те точки, где вы хотите просмотреть данные, элементы «Текстовое поле», доступные на недавно добавленной панели инструментов.
После добавления поля у вас будет серая область, указывающая на то, что поле было добавлено. Теперь вам нужно задать имя этого поля, а затем вставить значения из доступа (стандартное имя не очень удобно). Для этого щелкните поле правой кнопкой мыши и выберите «Свойства». В поле закладки напишите желаемое имя для этого поля, в примере я назвал его MyTestPole.
На этом настройка шаблона завершена, я рекомендую сделать этот шаблон доступным только для чтения, в противном случае пользователь возьмет, сформирует документ и сохранит его, а затем шаблон будет утерян, а если вы сделаете его доступным только для чтения, он не будет есть возможность сохранить только через «Сохранить как».
Перейдем к более интересной задаче, это реализация той же загрузки из Access в этом шаблоне в VBA.
Примечание! Я использую Access в сочетании с MS SQL 2008, поэтому я буду получать данные оттуда.
Код VBA для выгрузки данных в шаблон Word
Допустим, у вас есть форма, создайте на ней кнопку (я назвал ее testbutton) и вставьте следующий код VBA в событие нажатия кнопки:
Private Sub testbutton_Click () ‘Объявить переменные Dim FileDialog As FileDialog Dim rsd As ADODB.Recordset Dim strSQL As String Dim WordApOb As Object Dim WordOb As Object Dim path As String Set rsd = New ADODB.Recordset’ запрашивает необходимые данные в базе данных strSQL = «select * from dbo.table where KOD =» & Me.kod & «» rsd.open strSQL, CurrentProject.Connection ‘Выбрать шаблон Set FileDialog = Application.FileDialog (msoFileDialogOpen)’ удалить множественный выбор, он мне не нужен FileDialog .AllowMultiSelect = False ‘очистить и установить фильтры FileDialog.Filters.Clear FileDialog.Filters.add «Word», «* .doc»‘ установить фильтр по умолчанию FileDialog.FilterIndex = 1 ‘проверить, что пользователь, если он выбрал шаблон, затем начать работу Если FileDialog.Show = False Then ‘Если нет, то выйти Set dlgFile = Nothing Exit Sub End If’ получить путь к пути к файлу = Trim (FileDialog.SelectedItems (1)) ‘Удалить переменную Set FileDial og = Nothing If path «» Then ‘Построить график ошибок при ошибке GoTo Err_testbutton_Click’ Создать объект Word Set WordOb = CreateObject («Word.document») ‘Установить для нашего документа значение из шаблона Set WordOb = GetObject (path) ‘Установите значение для слова. Application Object Set WordApOb = WordOb.Parent’ сделайте слово приложения видимым WordApOb.Visible = True ‘найдите наше поле в шаблоне WordOb.Bookmarks («mytestpole»). Выберите «установить новое значение из нашего набора записей WordApOb.Selection.TypeText Text: = Nz (rsd.Fields (» field «). Value,» «)» и так далее для всех полей «в конце перейдите к начало нашего документа WordApOb.Selection.Goto wdGoToFirst ‘и активируйте его WordApOb.Activate’ Удалите переменные Set WordOb = Nothing Set WordApOb = Nothing Exit_testbutton_Clicktest: Exit Sub Err_testbutton MsgBox.Description ‘в случае ошибки мы сделаем следующее без сохранения WordOb.Close (wddonotsavechanges) WordApOb.Quit ‘, а также удалить переменные Set WordOb = Nothing Set WordApOb = Nothing Resume Exit_testbutton_Click End End Sub
Код закомментирован, поэтому сложностей возникнуть не должно. Дело здесь сводится к созданию объекта word.document и word.application. И тогда мы уже работаем с нашими объектами, например, их компилируем.
Экспорт данных из Access в шаблон Excel
В шаблоне Excel больше не нужно создавать поля, как в Word, так как здесь мы уже будем руководствоваться адресами ячеек.
Существует несколько способов заполнения шаблона Excel, я опишу два из них, первый — когда вам просто нужно вставить несколько полей, то есть в источнике данных будет только одна строка с несколькими столбцами. Второй — когда строк будет несколько, и вы не знаете, сколько именно (в зависимости от некоторых условий). В шаблоне по умолчанию для этого зарезервированы все несколько строк, поэтому мы добавим нужные нам строки, чтобы наши данные не перекрывали строки ниже (допустим, есть примечание, подпись обработчика, и так далее). И я рекомендую здесь, например, использовать только один источник данных, и если вам нужно вставить заголовок, заметку и определенное количество строк (например, область данных), вы можете использовать несколько источников (набор записей).
Код VBA для выгрузки данных в шаблон Excel
Сначала добавьте кнопку в форму (я назвал ее testexcel) и вставьте следующий код в событие Button Click».
Private Sub testexcel_Click () ‘Объявить переменные Dim XL As Object Dim XLT As Object Dim newrow As Object Dim rsd As ADODB.Recordset Dim strSQL As String Set rsd = New ADODB.Recordset’ Query database strSQL = «select * from dbo table where kod = «& Me.kod &» «rsd.open strSQL, CurrentProject.Connection ‘Создание необходимых объектов Set XL = CreateObject (» Excel.Application «)’ Например, я показываю, как загрузить шаблон сразу, не выбирая Set XLT = XL. Workbooks.open («C: testfile.xls») ‘1 способ — если источник данных имеет только одну строку с XLT.Worksheets («Sheet1»). [A1] = rsd.Fields («field1»). [B1] = rsd.Fields («field2»). [c1] = rsd.Fields («поле3»). [d1] = rsd.Fields («field4») Заканчивается на ‘2 способ — если в источнике несколько строк’ и мы учтем, что у нас есть заголовок и заметка в Excel ‘и мы не знаем сколько строк мы вставим ‘а затем мы добавим строки, если необходимо’ мы установим, с какой строки мы начнем вставлять данные Rows = 10 ‘для нумерации и numrow = 1’ мы запускаем цикл, он будет работать, пока мы не запустим вне строк в нашем источнике While Not (rsd.EOF) ‘посмотрите, есть ли больше строк, чем мы установили в модели If Rowss> = 12 Then’, затем добавьте строку XLT.Worksheets («Sheet1»). Rows (Rowss) .Insert ‘Помните нашу строку Set newrow = XLT.Worksheets («Sheet1»). Rows (Rowss) ‘и поместите туда копию предыдущей строки’, если вдруг появятся объединенные ячейки или потребуются некоторые данные, «потому что новая строка будет создана без каких-либо объединений и значений XLT». XLT.Worksheets («Sheet1»). Диапазон («A10: F10»). ClearContents ‘динамически формирует адрес желаемой ячейки cell = «a» & Rowss’ и устанавливает для него значение XLT.Worksheets («Sheet1»). Range (cell) = numrow cell = «b» & Rowss XLT.Worksheets («Sheet1» Range (cell) = rsd.Fields («field5»). Value ‘перейти к следующей строке Rows = Rows + 1’ перейти к следующей строке in — это источник данных rsd.MoveNext Else ‘, и это выполняется до указанных строк в шаблоне’, т.е если в источнике есть только 1 строка, мы даже не будем входить в код выше cell = «a» и Rowss XLT.Worksheets («Sheet1»). Range (cell) = numrow cell = «b» и Rowss XLT.Worksheets («Sheet1»). Range (cell) = rsd.Fields («field5»). Value Rowss = Rowss + 1 rsd.MoveNext End If ‘для нумерации numrow = numrow + 1’ конец цикла Wend ‘- это просто пример того, как вы можете полностью удалить строку’ XLT.Worksheets («Sheet1»). Rows (20) .Delete ‘делает Excel XL visible .Visible = True ‘Очистить переменные Set XL = Nothing Set XLT = Nothing Set newrow = Nothing End subtitle
Здесь я тоже все подробно прокомментировал, но если есть вопросы, задавайте их в комментариях к этой статье.
Для информации я использовал позднее связывание при создании объектов Word.Application и Excel.Application, чтобы не добавлять необходимые библиотеки и обеспечить совместимость.
Надеюсь, мои примеры вам помогут!
Access для Microsoft 365 Access 2021 Access 2019 Access 2016 Access 2013 Access 2010 Access 2007 Еще…Меньше
С помощью действия «ЭкспортСФорматированием» можно выведя данные указанного объекта базы данных Access ( таблица, форма, отчет или модуль ) в несколько выходных форматов.
Примечание: Начиная с Access 2010, макрос OutputTo переименован в ExportWithFormatting. Ее аргументы не изменились.
Примечание: Макро действие «ЭкспортСФорматирование» недоступна в веб-приложениях Access.
Параметры
Аргументы действия ExportWithFormatting следующую:
Аргумент макрокоманды |
Описание |
Тип объекта |
Тип объекта с данными, которые нужно вывести. Щелкните «Таблица» (для таблицы данных), «Запрос» (для таблицы запроса), «Форма» (для таблицы формы или формы), «Отчет», «Модуль», «Представление сервера», «Хранимая процедура» или «Функция» в поле «Тип объекта» в разделе «Аргументы макрокомента» окна конструктора макроса. Данные макрос вывести невозможно. Если вы хотите вывести данные активного объекта, выберите его тип для этого аргумента, но не указывайте значение аргумента Имя объекта. Это обязательный аргумент. По умолчанию используется значение Таблица. |
Имя объекта |
Имя объекта с данными, которые нужно вывести. В поле Имя объекта указаны все объекты базы данных с типом, определяемым аргументом Тип объекта. При запуске макроса, содержащего макрос ExportWithFormatting в база данных библиотеки, Access сначала ищет объект с этим именем в базе данных библиотеки, а затем в текущей базе данных. |
Формат вывода |
Тип формата, который следует использовать для вывода данных. Вы можете выбрать значение Книга Excel 97–2003 (*.xls), Двоичная книга Excel (*.xlsb), Книга Excel (*.xlsx), HTML (*.htm; * .html), Книга Microsoft Excel 5.0/95 (*.xls), Формат PDF (*.pdf), Формат RTF (.rtf), Текстовые файлы (*.txt) или Формат XPS (*.xps). Если не задать значение для этого аргумента, Access предложит указать выходной формат. Примечание: Данные можно экспортировать из Office Access 2007 в файл формата PDF или XPS только после установки надстройки. Дополнительные сведения см. в документе «Сохранение» или «Преобразование в формат PDF» или «XPS». |
Выходной файл |
Файл, в который вы хотите вывести данные, включая полный путь к нему. Вы можете добавить стандартное расширение имени файла для формата, выбранного с помощью аргумента Выходной формат, но это необязательно. Если не задать значение для аргумента Выходной файл, Access предложит указать имя файла. |
Автозапуск |
Указывает, нужно ли запускать соответствующее программное обеспечение сразу после запуска действия ExportWithFormatting с открытым файлом, указанным аргументом «Выходной файл». |
Файл шаблона |
Имя файла, который вы хотите использовать в качестве шаблона для HTML-файлов, и путь к нему. Файл шаблона — это текстовый файл, который содержит уникальные HTML-теги и маркеры Access. |
Кодировка |
Тип кодировки, который должен использоваться для вывода текста или HTML-данных. Вы можете выбрать значение MS-DOS, Юникод или Юникод (UTF-8). Значение MS-DOS доступно только для текстовых файлов. Если этот аргумент оставлен пустым, Access выводит данные с использованием стандартной кодировки Windows для текстовых файлов и системной кодировки для HTML-файлов. |
Качество вывода |
Выберите значение Печать, чтобы оптимизировать выходные данные для печати, или Экран, чтобы оптимизировать их для отображения на экране. |
Замечания
Данные Access выводятся в выбранном формате и могут быть прочитаны в любой программе, использующей такой же формат данных. Например, вы можете вывести отчет Access с сохранением форматирования в документ RTF, а затем открыть его в Microsoft Word.
При выводе объекта базы данных в формат HTML Access создает файл в формате HTML, содержащий данные из объекта. С помощью аргумента Файл шаблона вы можете указать файл, который следует использовать в качестве шаблона для HTML-файла.
При использовании макроса ExportWithFormatting для вывода объекта базы данных в любой из выходных форматов применяются следующие правила:
-
Можно выводить данные из таблиц, запросов и форм в режиме таблицы. В выходном файле все поля в таблице отображаются так же, как в Access, за исключением полей, содержащих объекты OLE. Столбцы для полей объектов OLE включаются в выходной файл, но их поля пусты.
-
Для элемент управления, привязанных к логическому полю (выключатель, переключатель или Флажок), в выходном файле выводится значение -1 (да) или 0 (нет).
-
Для текстовое поле, привязанных к полю гиперссылки, в выходном файле выводится гиперссылка для всех выходных форматов, кроме текста MS-DOS (в этом случае ссылка будет отображаться как обычный текст).
-
При выводе данных формы в представление формы выходной файл всегда содержит ее Режим таблицы.
-
При выводе таблицы или формы в формате HTML создается один HTML-файл. При выводе отчета в формате HTML создается один HTML-файл для каждой его страницы.
Результат запуска макроки «ЭкспортСФорматированием» аналогиен выбору одного из параметров в группе «Экспорт» на вкладке «Внешние данные». Аргументы макрокоманды соответствуют параметрам в диалоговом окне Экспорт.
Чтобы выполнить макрос ExportWithFormatting в модуле Visual Basic для приложений (VBA), используйте метод OutputTo объекта DoCmd.
Нужна дополнительная помощь?
Экспорт данных в Excel
Смотрите также — там число & «‘ And Основание.id_Основания, Договор.id_Основания, Договор.Номер_основания, правильно считатет но where Номер_договора = яч A9 -Delphi (‘Select * измененными данными Set WSOrig = автоматически информацию из в запросе по индикаторов ошибки (треугольниковМногозначные поля
В этой статье
имена исходных объектов). форма
можно экспортировать лишь
С помощью мастера экспорта
строк больше миллиона Договор.Дата_заключения = #»
Договор.Дата_основания, » _ после цикла сразу [Введите №ГК] And
Экспорт данных в Excel: основы
Статья_договора.id_Статьи INTO Лист INдалее уже делаешь ActiveSheet With WSOrig БД Access в значениям полей на зеленого цвета вМногозначные поля экспортируются в При необходимости имяДанные с форматированием или один объект базы можно экспортировать данные !! & Format(CDate(b), «dd/mm/yyyy») & «Договор.Номер_договора , же вылетает и Дата_заключения = [Введите
Стандартные сценарии экспорта данных в Excel
-
2) стр 9 ‘+»»+’C:Данные.xls’+»»+'[Excel 8.0;] From простой Update .Activate .Cells.Clear End Excel. форме углу ячеек) или виде списка значений, файла можно изменить. без него данных. Однако после из базы данных4ylkov & «#») ‘Ввод Договор.Дата_заключения, Договор.Дата_исполнения, Договор.Содержание,
-
пишет Текущая запись дату заключения]» Set яч Q9- Статья_договора.Сумма Таблица’); (‘Select *ДневнойДоширак With sSQL =Я решил написатьБормалей значений ошибки (строк, разделенных точками с
Об экспорте данных в Excel
-
В полеВ ходе операции экспорта нескольких операций экспорта Access в файл: Я то как данных для первой Статья_договора.Год, Статья_договора.id_Статьи, « отсутствует MyTable = CurrentDb.OpenRecordset(s1)3) стр 6 INTO Лист IN: «SELECT КодIDD, IDD макрос для Excel,
-
: в Access создаются которые начинаются со запятой (;).Формат файла
-
создается книга. можно выполнить в формата, распознаваемого приложением раз и работаю страницы екселя With _ & «Статья_договора.СуммаFrstrFrstr яч U6- Статья_договора.Год ‘+»»+’C:Данные.xlsx’+»»+'[Excel 8.0;] Fromqwertehok FROM IDD» MyConn теперь у меня все данные и знака
-
Рисунки, объекты и вложениявыберите нужный форматСуществует Excel слияние нескольких Excel. В этой в 2007. Проблема app.ActiveWorkbook.Sheets(1) ‘Вставка в , Контрагент.Полное_наим, Контрагент.ИНН,: Выложи бд, а: 1. В шаблоне4) стр 10 Таблица’);но при выполнении
-
, Спасибо! попробую. = ThisWorkbook.Path & выгружаются данные при эти данные нужно#Графические элементы (например, эмблемы, файла.Таблица или запрос
листов.
Подготовка к экспорту
статье описаны процедуры в том, что ячейку ad8 первой Контрагент.КПП, Контрагент.Адрес, Основание.Название_основания, то долго гадать экселя не было яч Q10- итого запроса выходит ошибкаПытливый Application.PathSeparator & «Datta.accdb» запуске файла Excel, перенести в уже, а не с содержимое полей объектовЕсли при экспорте таблицыДанные без форматированияК началу страницы подготовки и экспорта при экспорте данных страницы и тд Статья.Наимен_статьи » _ будем на кафейной строк, куда вставлять
(сумма по годам что (обновление невозможно.: Надо было не Set cnn = и по требованию готовый шаблон Excel нужных данных). OLE и вложения, или запроса требуетсяФайл не перезаписывается. ВПрежде чем выполнять операцию данных в Excel, Access ругается не .[AD8] = Day(Date) & «HAVING Договор.Номер_договора
гуще |
данные, надо добавить |
наверное можно сделать |
база данных или |
импортировать в Акцес, |
New ADODB.Connection With обновляются. Вроде метод в нужные столбцыК началу страницы которые содержатся в |
сохранить форматирование данных, книгу добавляется новый |
экспорта, следует проверить а также приведены зависимо от того .[AJ8] = Format(Date, = ‘» & Ameli примерное кол-о пустых формулу в екселе) объект доступны только а сделать связь |
cnn .Provider = |
называется CopyFromRecordset.Виссарион |
Вам никогда не хотелось исходных данных) не установите флажок лист, которому присваивается данные, которые будут рекомендации по поиску в каком Office «mmmm») .[BD8] = a & «‘ |
: Без цикла все2. Задание параметров, 5) стр 26 для чтения) в с таблицей. «Microsoft.ACE.OLEDB.12.0» .Open MyConnПроблему в том, : Dim app As импортировать в Excel экспортируются. Их следует |
-
Экспортировать данные с макетом имя объекта, из экспортироваться, на предмет и устранению типичных ты работаешь. Мне Format(Date, «yy») .[CI8] And Договор.Дата_заключения = отлично работает
т.е. номера и яч F26- из чем причина? меняюДневнойДоширак End With Set что в документе Excel.Application Dim zapros
список всех связанных |
добавить на лист |
и форматированием |
которого экспортируются данные. |
сообщений об ошибках |
неполадок, которые могут в принципе не |
= Format(Date, «dd.mm.yyyy») #» & Format(CDate(b), |
Все я другим даты, нужно перенести |
Договор.Содержание |
обратно и все |
: еще вопрос по |
rst = New Access в некоторых As DAO.Recordset Dim источников данных из вручную после завершения. Дополнительные сведения см. Если лист с и ошибочных значений. при этом возникнуть. принципиально, выгрузку можно .[CI19] = CStr(MyTable.Fields(«Договор.id_Основания»)) «dd/mm/yyyy») & «#») |
способом решил, спасибо! |
в начало программы,6) стр 26 |
нормально срабатывает. |
этому коду: ADODB.Recordset rst.CursorLocation = столбцах есть выпадающие SQLQ As String приложения базы данных операции экспорта. в разделе Подготовка таким именем уже |
Ошибки рекомендуется устранитьЭкспорт данных в Excel: делать и в .[CI22] = CStr(MyTable.Fields(«Дата_основания»)) ‘для второй страницы
Ещё хотел узнать-
Выполнение экспорта
-
перед открытием экселя яч AL26- изqwertehok
-
Delphi (‘Select * adUseServer rst.Open Source:=sSQL, списки (то есть Dim strPathDot As
Access? Если вы
График к операции экспорта. существует, Access предлагает до экспорта данных основы другие форматы (например .[A24] = CStr(MyTable.Fields(«Название_основания»))
екселя: With app.ActiveWorkbook.Sheets(2) есть какая нибудь3. Условия отбора
-
таблица Статья_договора Sum([Сумма]): драйвер?
-
INTO Лист IN ActiveConnection:=cnn, CursorType:=AdForwardOnly, LockType:=adLockOptimistic, эта таблица связана String Dim strPathWord работаете над сложнымПри экспорте формы илиПримечание:
-
либо заменить содержимое в Excel. ВПодготовка к экспорту
-
.txt), потом просто & » № ‘Вставка в ячейку
-
команда для выделения получились такими: — суммируются всеДневнойДоширак ‘+»»+’C:Данные.xls’+»»+'[Excel 8.0;] From
-
Options:=adCmdText Range(«B1:C1»).Value = с другими таблицами As String strPathDot приложением Access, например отчета, содержащих объект При экспорте формы соответствующего листа, либо
-
противном случае вВыполнение экспорта открыть этот формат » & CStr(MyTable.Fields(«Номер_основания»)) F35 второй страницы границ ячеек. Тоесть& «HAVING Договор.Номер_договора
суммы по договору.: что за драйвер? Таблица’);можно как то Array(«КодIDD», «IDD») Range(«B2»).CopyFromRecordset в файле. Это = CurrentProject.Path & таким, которое содержит Microsoft Graph, он или отчета этот
-
-
-
указать другое имя ходе экспорта могутЧто еще важно знать через excell (кстати & » от поля «Содержание» и чтобы те ячейке
-
= ‘» &7) стр. 27офис 2007 этот файл сохранять rst rst.Close cnn.Close обычная практика формирования «ShablonShablon.xlsx» ‘ Ваш ссылки на множество не экспортируется.
-
флажок установлен по нового листа. возникнуть неполадки, а об экспорте
-
в данном случае » & CStr(MyTable.Fields(«Дата_основания»)) тд: .[F35] = в которые по a & «‘ яч AL27- итогоqwertehok через SaveDialog? End Subвыложите пример
выпадающих списков в шаблон SQLQ = различных источников данных,Данные в неверном столбце умолчанию и недоступенСуществует
-
в ячейки листаРешение проблем, связанных с ограничение в 64000 .[AJ27] = CStr(MyTable.Fields(«Дата_заключения»)) CStr(MyTable.Fields(«Содержание»)) .[F44] = циклу заносятся данные And Договор.Дата_заключения =
(сумма наверное можно: при чем тутqwertehok базы, не могу Access, по-другому не «SELECT ;» ‘ может быть удобноЗначения Null на целевом для изменения.Таблица, запрос, отчет или Excel могут быть
отсутствующими и неверными тоже действует) .[AJ28] = CStr(s) CStr(MyTable.Fields(«Полное_наим»)) .[AU44] =
-
становились с внешними #» & Format(CDate(b), сделать формулу в
офис?: в смысле сохранить? же я умею), а при Нужный запрос на создать список источников листе иногда заменяютсяЧтобы просмотреть конечный файл форма вставлены пустые значения. значениямиЛМВ .[AJ29] = CStr(MyTable.Fields(«Дата_исполнения»)) CStr(MyTable.Fields(«Адрес»)) .[BH44] = границами? «dd/mm/yyyy») & «#»)Вводимый екселе)в твоем случае
SaveDialog только указывает
Что еще важно знать об экспорте
-
угадывать импорте данных в Ваши данные Set данных и их данными, которые должны Excel после завершенияДанные с форматированием Дополнительные сведения оПри экспорте данных в
-
: А Вы с .[CJ27] = CStr(MyTable.Fields(«Номер_договора»)) CStr(MyTable.Fields(«ИНН»)) .[BV44] =Frstr номер договора, т.е.
-
8) стр 35 C:Данные.xls это не путь к файлувашу ситуациюСпасибо за excel копируются значения
-
zapros = CurrentDb.OpenRecordset(SQLQ) типов. Такой экспортированный находиться в следующем операции экспорта, установитеФайл перезаписывается экспортируемыми данными. проблемах, которые могут Excel приложение Access
помощью екселя тащит
Решение проблем, связанных с отсутствующими и неверными значениями
End With MyTable.Close CStr(MyTable.Fields(«КПП»)) .[C49] =: я че-то ниче
параметр а заключаем яч F35 - просто экселька, этопосле выполнения замечание и за именно кода (цифры), If zapros.RecordCount <> список будет особенно столбце.
флажок |
Все имеющиеся листы |
возникнуть при экспорте |
создает копию выбранных из акцесса собираетесь Exit_Кнопка29_Click: Exit Sub Day(Date) .[I49] = |
не понимаю уже, |
в кавычки, т.к. из Контрагент.Полное_наим БДDelphi if SaveDialog1.Execute |
помощь, сейчас попробую! |
а не названия, 0 Then strPathWord полезен, если выОтсутствующие значения датыОткрыть целевой файл после удаляются, и создается данных в Excel, данных, а затем или при помощи |
Err_Кнопка29_Click: MsgBox Err.Description |
Format(Date, «mmmm») .[W49] пора спать, наверное он текстовый, а9) стр 35 |
а твой драйвер |
Thenу тебя вСпасибо большое! Понял, которым соответствуют эти = CurrentProject.Path & работаете над приложением |
Значения дат, предшествующих 1 |
завершения операции экспорта новый лист с см. в разделе сохраняет их в акцесса кидать в |
Resume Exit_Кнопка29_Click End |
= Format(Date, «yy»)Agapov_stas вводимую дату сначала яч AU35- из не знает что Код SaveDialog1.PathName будет как это работает! коды. А нужно |
«123.xlsx» ‘ Путь Access, которое изначально |
января 1900 г.,. именем экспортируемого объекта. Решение проблем, связанных файле, который можно ексель? Из какой SubПС спасибо Ameli i = 9: вот я имел |
преобразовываем в формат Контрагент.Адрес |
такое xlsx и ПУТЬ и этот Все получилось!Существуют различные название. Остальные столбцы, до файла куда разрабатывалось не вами. не экспортируются. СоответствующиеЕсли исходный объект был Данные листа Excel с отсутствующими и открыть в Excel. программы будете код большое! ‘Цикл по нашему
|
или несколько записей |
исходного объекта.Если исходным объектом является копировать из AccessSVM: статей (вывод вWorksheets(1).Range(«A1»).Borders.LineStyle = xlDoubleТолько применяем формат даты, Контрагент.ИНН: а ты проДневнойДоширак должны писать долгоМожет кто-нибудь сталкивался ‘app.Visible = True |
с помощью функций |
Отсутствующие выражения для экспорта выделеныДанные всегда добавляются в таблица или запрос, в Excel достаточно: 200000 не пробовал,Frstr ячейки екселя например она делает границы и заключаем в |
11) стр 35
support.office.com
Экспорт сведений о связанных источниках данных в Excel
подключение? про провайдер?: Спасибо! и много шансов с подобным. Очень Выводит на экран в диалоговом окнеВыражения, которые используются для до запуска операции, новый лист. Невозможно определите, как требуется часто, можно сохранить а 178000 экспортировал, можно вопрос? всех номер статей толстыми линиями. Я решетки. яч BV35 - что делать вВозник еще вопрос на ошибки при нужна поддержка. Никто Excel app.Workbooks.Add strPathDot «Диспетчер связанных таблиц». вычислений, не экспортируются можно установить флажок
добавить данные в экспортировать данные: с параметры операции экспорта из Аксеса безА почему именно (для первые две теперь ищу какAmeli Контрагент.КПП таком случае? подключать по этому коду: экспорте данных. Лучший
среди знакомых не ‘Добавляет книгу сОткройте диалоговое окно «Диспетчер в Excel. ЭкспортируютсяЭкспортировать только выбранные записи имеющийся лист или сохранением форматирования или для повторного использования проблем, правда чутьHaving строчки цикла)). ‘Для называются тонки линии
: Огромное Спасибо! Все12) и в кодом xlsx’ку провайдером?Delphi (‘Select *
support.office.com
Экспорт данных из MS Access в MS Excel
вариант, который я умеет работать в
шаблоном With app.ActiveSheet
связанных таблиц» в только результаты вычислений.. Если требуется экспортировать именованный диапазон.
без него. Выбранный и даже запланировать подождал (с расширением, а не прописать
цикла надо вВсе я сделал понял, работает. Только стр 40 C40 и какой нужен INTO Лист IN предпочел этих направлениях. .Range(«B13»).CopyFromRecordset zapros ‘ Access 2016, для чего Формулу следует добавить все отображаемые записи,К началу страницы способ экспорта влияет ее автоматический запуск
XLSX). Может у условие в екселе заранее освободить все что хотел, вопросик ещё назрел. опять системную сегодняшнюю для этого? который ‘+»»+’C:Данные.xls’+»»+'[Excel 8.0;] FromAccess to Excel Converter
Так выглядит код. Выводит Ваш запрос выберите в рабочий лист
этот флажок необходимоЕсли целевая книга Excel на два аспекта через определенные интервалы Вас где-нибудь в
WHERE побольше строчек: Do выкладываю тут пример Для ручной вбивки дату. офис 12? Таблица’);в файл «Данные», которая помогает мне,
Может там нужно с нужной ячейкиВнешние данные Excel вручную после снять. открыта, закройте ее целевого файла: объем
времени. настройках по умолчанию?.. While Not MyTable.EOF с объяснениями тк в ячейки какFrstrFrstr на один лист чтобы экспортировать большие что-нибудь прописать дополнительно в таблицу end > завершения операции экспорта.Примечание: перед выполнением операции. экспортируемых данных иВ отделе или рабочей стоит формат 2003?Вроде(?) app.Parent.Range(«a» & i).Select думаю что он обратится в данным: [QUOTE=Ameli;2921835]Попробуйте выполнить запрос: Прошу помощи. Буду записывается максимум 65536 объемы данных из или изменить тип with app.Application.DisplayAlerts =Диспетчер связанных таблицОтсутствующие подчиненные формы, отчеты Если записи неНа панели навигации исходной формат их отображения. группе для работыУ меня OFFHAVING app.Parent.ActiveCell.FormulaR1C1 = CStr(MyTable.Fields(«Наимен_статьи»)) многим пригодится. В из запроса? я параметров с помощью очень благодарен кто строк записей, можно
ACCDB файл в данных… не знаю. False ‘ Убирает. Выберите нужные источники и таблицы выделены, этот флажок
базы данных выберите В приведенной ниже с данными используется 2010.только замедляет выборку…(кажется..) app.Parent.Range(«AS» & i).Select интернете не так пробую так, не функции InputBox(), сохранить поможет сделать экспорт как то сделать Excel. Всего за
oleg_helgo вопросы Excel app.ActiveWorkbook.SaveAs данных и нажмите
При экспорте формы, отчета недоступен (неактивен).
объект, который требуется таблице представлены результаты как Access, такЛМВ
Agapov_stas app.Parent.ActiveCell.FormulaR1C1 = CStr(MyTable.Fields(«Год»))
много можно найти получается- полученное значение в из запроса Access
что если в несколько секунд!!!!!!!!!!!!Их бин: надо создать запрос strPathWord ‘ Сохраняет кнопку или таблицы экспортируетсяНажмите кнопку экспортировать. экспорта форматированных и и Excel. Данные: Вот — как:
app.Parent.Range(«BI» & i).Select полезного на эту.[BV44] = Контрагент.КППи
переменную и в в ячейки шаблона файл сохраняется больше моя твоя не для файл app.Application.DisplayAlerts =Экспорт в Excel
только главная форма,ОК
Экспорт только части данных
неформатированных данных. хранятся в базах вариант:Agapov_stas
app.Parent.ActiveCell.FormulaR1C1 = CStr(MyTable.Fields(«Сумма»)) тему: так запрос для отбора Excel. В архиве чем 65536 строк понимайт.присоединения
True app.Application.Workbooks.Close ‘. отчет или таблица..Если объектом является таблица,Экспорт данных Access, ноC:UsersmvlebedevDocumentsстарый ПКМои документыCDCD_5(семинар)TrainerCDПримеры, кого-то нужно послать s = MyTable.Fields(«Сумма»)Private Sub Кнопка29_Click().[BV44] = CStr(MyTable.Fields(«Контрагент.КПП»))и подставлять переменную: БД и Екселевский то они распределялисьДневнойДоширакназваний и выгружать Закрывает книгу app.QuitAccess предложит указать расположение Необходимо повторить операциюЕсли в ходе экспорта
запрос или формаИсходный объект для анализа и и приемыAccessЗагрузка таблицы почитать справку? Это + s i
On Error GoTo такa = InputBox(«Введите файл- шаблон. Запрос дальше на лист2
: Вот код: уже запрос ‘ Закрывает Excel для сохранения книги экспорта для всех возникает ошибка, в
и требуется экспортироватьПоля и записи распространения его результатов БД в Excel разные вещи, where = i +
Err_Кнопка29_Click Dim app
.[BV44] = CStr(MyTable.Fields(«КПП»))ПС №ГК»,»Значение по умолчанию») или отчет называется- лист3 лист4 иDelphi (‘Select *Entschlossen End If Set Excel. После того подчиненных форм, отчетов Access отображается сообщение только часть данных,Форматирование используется Excel. Группа таблицуЗагрузка таблицы БД производит отбор до 1 MyTable.MoveNext ‘В As Excel.Application DimВопрос отпал. Получилось Set MyTable = Первичные сведения. Из т.д.? INTO Лист IN: Не очень понимаю, zapros = Nothing как вы сделаете и таблиц, которые с описанием ее откройте объект вБез форматирования выполняет экспорт данных
в Excel таблицу.mht группировки, а having: Диапозоне ячеек от strDOT As String с CurrentDb.OpenRecordset(«SELECT … « него необходимо вставить
qwertehok ‘+»»+’C:Данные.xls’+»»+'[Excel 8.0;] From как это сделать. Set app =
это, Access выведет требуется экспортировать. причины. В противном режиме таблицы иТаблица или запрос
в Excel по
Виталий ТихвинскийAmeli A9 до DDi Dim MyTable As.[BV44] = CStr(MyTable.Fields(«КПП»))Поставил _ & « данные в этот: а взять xlsx Таблица’);им я экспортирую Не могли бы, Nothing сведения о связанныхОтсутствующие или неправильно отформатированные случае приложение Access выберите необходимые записи.Примечание: мере необходимости, ноЗагрузка таблицы Б.Д,: я делаю видными DAO.Recordset ‘для включения перед циклом HAVING Договор.Номер_договора = шаблон. Тоесть по нельзя? данные в файл, пожалуйста, посоветовать какой-нибудьБормалей источниках данных в столбцы экспортирует данные иОткрытие формы в режиме Формы и отчеты этот процесс требуется в Excel таблицуНе по теме:
границы ячеек (обычные библиотеки ексель жмем-а как правильно ‘» & a кнопке с формыДневнойДоширак а как потом пример наглядный?: новой книге. ВыЕсли ни один из в соответствии с таблицы невозможно экспортировать без сделать более эффективным.Необходимо в редактореНу-ну…Как говорится, «Флаг тебе черные линии): app.Parent.Range(«A9:DD» Tools-References- Microsoft Excel написать такую конструкцию?
CyberForum.ru
Импорт экспорт данных из Access в Excel и обратно
& «‘»)-переменная заключена должен в итоге
: к сожалению не импортировать данные изВот текущий кодБормалей увидите имя связанного столбцов на конечном параметрами, выбранными на форматирования.
Вы используете Access, но VBA в меню в руки!..боец…»:D & i).Borders.LineStyle =
11 ‘в переменные.[A24] = CStr(MyTable.Fields((«Название_основания»)))
в кавычки, если открыться готовый екселевский везде может быть этого файла обратно
Private Sub Workbook_Open(), этот код писать
источника данных, сведения листе не отформатирован, этапе 7, открываетЧтобы открыть форму, дваждыЭкспортируются все поля и ваш руководитель предпочитает Сервис-ссылки включить библиотекуРиторическая фраза,вастЧе-то… xlContinuous Loop ‘Итого a и b & » № тип поля текстовый документ с вставлеными установлен офис читающий в базу? Dim cnn As в Access или о нем и повторите операцию экспорта, либо не открывает щелкните ее. записи базового объекта. работать с данными Microsoft DAO 3.5Я имел ввиду
и Сумма выводятся мы заносим данные » & CStr(MyTable.Fields((«Номер_основания»)))
Так не работает.. данными. Далее я
xlsx, много народуqwertehok
ADODB.Connection Dim rst
Excel? его тип.
установив флажок целевую книгу вЩелкните форму правой кнопкойПараметры свойства «Формат» пропускаются в Excel. Вам object library. несколько иное(действительно ли после вывода ячеек
из импут бокса, & » №
а нельзя вместо расписал по пунктам. знаю кто еще: прочитать xls Инструкция:
As ADODB.Recordset DimHelenasVoiceПримечание:Экспортировать данные с макетом Excel. Затем в
мыши, а затем в ходе операции. приходится регулярно копировать
Имя объекта Workspaces(0) необходимо это ТС-у)..Ну из цикла: app.Parent.Range(«AS» дальше будем их » & CStr(MyTable.Fields((«Дата_основания»))) теста запроса обратиться
Спасибо. 2003ий юзает. а
Использование Excel из WSOrig As Worksheet
: Этот код я
Диалоговое окно «Диспетчер связанных и форматированием Access открывается диалоговое щелкните элементДля полей подстановки экспортируются данные в Excel,
в указанных примерах да ладно..
& i).Select app.Parent.ActiveCell.FormulaR1C1 использовать в запросе:
Frstr к имени существующегонапример для для сколько там в Delphi Dim WSTemp As выдернул из базы таблиц» недоступно прив мастере. Если окно, в которомРежим таблицы только значения кодов но вам хотелось можно опустить.minob
= «ИТОГО :» a = InputBox(«Введите: Вроде все так,
запроса? договора 111 (в лист входит строкзаписать в БД Worksheet Dim sSQL как пример. И разработке веб-приложений Access. же только некоторые можно создать спецификацию. Если он недоступен, подстановки. бы автоматизировать этот
Dim db As:
‘Слово ИТОГО пишется №ГК», «Значение по только скобки лишниеAmeli
запросе и отчете у xlsx, знаю с помощью SQL As String Dim он не являетсяВиссарион
столбцы имеют форматирование, со сведениями об выполните действия, описанныеСодержимое полей гиперссылок экспортируется процесс ради экономии Database, r AsAgapov_stas жирным шрифтом: app.Parent.ActiveCell.Font.Bold умолчанию») b = и вместо второго: нет вводим 111) что больше ноdroider FinalRow As Long эталоном . Просто: Здравствуйте! отличное от исходного, экспорте. ниже. в виде столбца времени.
Recordset, WHERE не работает = True app.Parent.Range(«BI» InputBox(«Введите дату ГК», «№» наверно «от»
Выложите бдЧто надо брать
максимальное не знаю?: Можно так Импорт Set WSOrig = как один изВозникла проблема!
выполните нужные действияК началу страницыВыберите пункт текста, в которомВ приложении Access нетSet db = в запросе с & i).Select app.Parent.ActiveCell.FormulaR1C1 «Значение по умолчанию»).[A24] = CStr(MyTable.Fields(«Название_основания»))Frstr из акцесса втакое вообще одним из Excel в ActiveSheet With WSOrig
вариантов выгрузки. ПисатьНужно из MS
в Excel вручную.Сведения о том, как
Режим конструктора
ссылки отображаются в команды «Сохранить как” Workspaces(0).OpenDatabase(«Полный путь к
группировкой, вот, что = CStr(s) .[AL35] ‘Открываем эксель, в & » №
: Пароли у всех ексель- выделил желтым. запросом можно сделать? DBGridEh
.Activate .Cells.Clear End надо в Access Access перенести формуФорматирование столбца в Excel сохранить сведения об. формате отображаемый_текст#адрес#. с возможностью сохранения базе и ее
CyberForum.ru
Экспорт данных из запроса Access в ячейки шаблона Excel
тебе хотел сказать = CStr(s) .[AL36] нем книгу на » & CStr(MyTable.Fields(«Номер_основания»)) пользователей 123. Отчетстр1 в екселеqwertehokДневнойДоширак With sSQL = в Vb редакторе в готовую таблицуОткройте целевую книгу Excel экспорте в видеНажмите клавишу F4, чтобыС форматированием данных в формате имя»)alvk = CStr(s) End основе шаблона: Set & » от
и запрос называются1) Дата. в: тут не обязателем: Спасибо народ!
«SELECT ÊîäIDD, IDD с подключенной библиотекой MS Excel
и перейдите на
спецификации, которую можно отобразить панель задачТаблица, запрос, отчет или Excel. Чтобы скопировать
Set r =Ameli With MyTable.Close ‘Создаем app = New
» & CStr(MyTable.Fields(«Дата_основания»)) «Первичные сведения».
екселе 8 строчка. сам офис, достаточноВозник другой вопрос, FROM IDD» MyConn
Excel.знаю, что надо лист с экспортированными использовать повторно, см. «Страница свойств».
форма данные в Excel, db.OpenRecordset(«Имя загружаемой таблицы»)
: Если это была вновь набор записей Excel.Application app.Visible =Ameli
Код находится на дата вводится 2 апдейт поставить
а можно как = ThisWorkbook.Path &Способы передачи данных использовать VBA, но данными. в статье Сохранение
В раскрывающемся списке вЭкспортируются только поля и необходимо воспользоваться функций
Cells(i, j).CopyFromRecordset r шутка, то почему — т.к. у
True ‘шаблон с
: Ругается на конструкцию- кнопке со значком раза -
запросом можно, но то обновлять базу
Application.PathSeparator & «Datta.accdb» из MS ACCESS
не знаю как!Щелкните нужный столбец или параметров операции импорта верхней части этой записи, отображаемые в
экспорта, описанной вr.Close нет смайлика с
меня конфликтовало из-за именем Шаблон Первич элемент не обнаружен ексель напротив кнопкипервый раз полностью
в новых (от а не дописывать Set cnn = в Excel ПОМОГИТЕ!
выделенный диапазон ячеек или экспорта в панели выберите пункт
текущем представлении или этой статье, либоdb.Close
улыбкой? того что документ Свед хранится в
в данном семействе. «Первичные сведения о (где стоит 20
2014) версиях SQL в нее? то New ADODB.Connection WithА тут вообще
alvk правой кнопкой мыши виде спецификации.Форма объекте. Фильтрованные записи, скопировать данные Access‘можно загрузить данныеИз справки по
екселя на 2х тойже дерриктории чтооказывается проблема не ГК» в форме апреля 2011) ячейки — там есть есть например БД cnn .Provider = много полезного: Есть не один
и выберите пунктДополнительные сведения о запуске. скрытые столбцы таблицы, в буфер обмена,
в Excel таблицу HAVING
страницах. Set MyTable
и БД: strDOT в этой конструкции «Договорной отдел Отчеты». AD8 AJ8 BD8, конструкция для нарезки
заполнена наименованиями и «Microsoft.ACE.OLEDB.12.0» .Open MyConnoleg_helgo вариант экспорта данныхФормат ячеек спецификаций см. в
На вкладке «Формат» панели а также не а затем вставить и на прямую
minob = CurrentDb.OpenRecordset(«SELECT Договор.id_Договора,
= CurrentProject.Path & а вообще онДля отчета лучшевторой сокращенно (20.04.2011) и вывода страницы их количеством, делаю End With Set: а Excel. Зависит. статье Выполнение сохраненной «Страница свойств» установите отображаемые в форме их в таблицу без указателей, я всегда думала, Основание.id_Основания, Договор.id_Основания, « «» & «Шаблон не хочет почему всего забивать такой CI8.ДневнойДоширак экспорт в файл rst = NewБормалей от многих условий
На вкладке операции импорта или значение или отчете поля Excel.Cells(i, j).CopyFromRecordset _ что сгруппированные данные _ & «Договор.Номер_основания,
Первич Свед.xlt» app.Workbooks.Add то воспринимать конструкцию ГК- № 25к,Эта дата должна: а как тогда а потом в
ADODB.Recordset rst.CursorLocation =, помогите пожалуйста! — есть лиЧисло экспорта.
Да не экспортируются.
Можно экспортировать таблицу, запрос,Workspaces(0).(«Полный путь к можно отбирать только Договор.Дата_основания, Договор.Номер_договора, Договор.Дата_заключения, strDOT ‘Создаем набор типа дата 22.04.2011 быть сегодняшняя. Тоесть можно организовать разделение этом файле например adUseServer rst.Open Source:=sSQL,пишет user-defined type шаблон ексель-файла илив группеДополнительные сведения о запускедля свойстваВ мастере соблюдаются параметры
форму или отчет, базе и ее с помощью HAVING. » _ & записей. Текст запроса.[CI19] = CStr(MyTable.Fields(«id_Основания»))ХотяAmeli системная дата на по 65536 строк? меняю количество у
ActiveConnection:=cnn, CursorType:=AdForwardOnly, LockType:=adLockOptimistic, not defined
надо в новыйЧисловые форматы
спецификаций в определенное
Режим таблицы свойства «Формат».
а также отдельные имя»).OpenRecordset(«Имя загружаемой таблицы»)
А теперь поняла, «Договор.Дата_исполнения, Договор.Содержание, Статья_договора.Год,
берем так- сначала до этого с: создайте запрос w1 момент создания отчета. я для проверки
одного наименования, как Options:=adCmdText Range(«B1:C1»).Value =это из-за того файл, данные помещаютсявыберите нужный формат,
время см. в.В случае полей подстановки записи в представлении.Где i, j
что, если поле Статья_договора.id_Статьи, Статья_договора.Сумма, « создаем запрос с КПП прошло.
Код SELECT Договор.id_Договора,2) 19 строчка пробовал в два потом импортировать этот Array(«ГЉГ®Г¤IDD», «IDD») Range(«B2»).CopyFromRecordset что библиотеки эксель
в целевую таблицу например статье Планирование импорта
На вкладке
экспортируются значения подстановки.В приложении Microsoft Excel – строка и участвует в статистической _ & «Контрагент.Полное_наим,
помощью конструктора, потомДобавлено через 49 минут Основание.id_Основания, Договор.id_Основания, Договор.Номер_основания, екселя CI19 -
запроса делать, указывал файл обратно в rst rst.Close cnn.Close нет? как ее сплошняком или вТекстовый или экспорта.Конструктор
При экспорте полей гиперссылок есть команда импорта
столбец, откуда начинаем функции, тогда HAVING Контрагент.ИНН, Контрагент.КПП, Контрагент.Адрес, открываем его в
Разобрался- где он Договор.Дата_основания, Договор.Номер_договора, Договор.Дата_заключения, вместо цифры 2 просто у первого БД обновляя там End Sub подключать? несколько диапазонов. Или,
Сведения о том, какв группе значения экспортируются в данных из базы загружать таблицу Б.Д.
4ylkov Основание.Название_основания, » _ режиме SQL и
требует указание названия Договор.Дата_исполнения, Договор.Содержание, Статья_договора.Год, ставится из акцесса писать на лист1 эти данные? илиalvkoleg_helgo вообще по одномуЧисловой изменить имя спецификации,Представления
виде гиперссылок. данных Access. ЕеR Dmitry: При работе у
& «Статья.Наимен_статьи FROM вставляем сюда: Set таблицы перед полем Статья_договора.id_Статьи, Статья_договора.Сумма, Контрагент.Полное_наим,
ставится из Основание.id_Основания если 65536 и например изменил количество: строчка запроса будет:
полю в разные, удалить ее иливыберите пунктПри экспорте полей форматированного можно использовать вместо: У меня и меня возникла необходимость Статья INNER JOIN MyTable = CurrentDb.OpenRecordset(«SELECT
а где то Контрагент.ИНН, Контрагент.КПП, Контрагент.Адрес,3) 22 строчка все работало нормально и еще дописал посложнее —сделайте запросHelenasVoice ячейки.Дата обновить имена исходныхРежим таблицы текста текст экспортируется команды экспорта Access, в 2007 и экспортировать данные из (Основание INNER JOIN Договор.id_Договора, Основание.id_Основания, Договор.id_Основания, нет. Основание.Название_основания, Статья.Наимен_статьи FROM екселя яч CI22 ~90000 записей писало новое наименование, то в конструкторе запросов,, зайдите в редакторЕсли шаблон есть,или файлов, см. в. без форматирования. однако с помощью в 2010 стандартными таблицы Access в (Контрагент INNER JOIN » _ &Вот ещё вопрос Статья INNER JOIN из — Договор.Дата_основания в один файл в БД потом затем перенесите в ВБА=>меню Tools=>References. Откроется то его открываютВремя статье Задачи управленияПримечание:Выберите целевую книгу и команды импорта в средствами отлично все excell, однако стандартные (Договор INNER JOIN «Договор.Номер_основания, Договор.Дата_основания, Договор.Номер_договора, сделал цикл а (Основание INNER JOIN4) 24 строчка на два листа надо обновить еще код или применяйте список библиотек. Подключенные средствами офисной автоматизации. данными. Часть отчета экспортировать нельзя. ее формат. Имейте Excel можно импортировать экспортируется в excel. интсрументы, которые есть Статья_договора ON Договор.id_Договора Договор.Дата_заключения, » _ он пишет- текущая (Контрагент INNER JOIN екселя яч A24 в одном 65536 и дописать данные напрямую с галками. В и переносят рекордсетНажмите кнопкуК началу страницы Однако можно выбрать в виду, что только таблицы иЛМВ в Access (или = Статья_договора.id_Договора) « & «Договор.Дата_исполнения, Договор.Содержание, запись отсутствует. Почему? (Договор INNER JOIN из — Договор.id_Основания, записей на втором как это всепри копировании кода списке выберите Microsoft запроса-источника формы сОКВ приведенной ниже таблице или открыть таблицу отчеты можно экспортировать запросы. Дополнительные сведения: Еще ссылка: Excell) мне не _ & «ON Статья_договора.Год, Статья_договора.id_Статьи, Статья_договора.Сумма,s = 0 Статья_договора ON Договор.id_Договора Договор.Номер_основания и Договор.Дата_основания все остальное, но можно реализовать? на форум не Excel XX.0 Object наложенными фильтрами в. описаны различные способы или запрос, на только в более см. в разделеSVM подходят, так как Контрагент.id_Контрагента = Договор.id_Контрагента) » _ & Do While Not = Статья_договора.id_Договора) ON5) 27 стр если записей допустимqwertehok забывайте переключатся на Library и поставьте ексель. Как переноситьЗначение «#» в столбце устранения типичных ошибок. которых основан отчет, старом формате XLS справки Excel Подключение: А вообще не объем данных очень ON Основание.id_Основания = «Контрагент.Полное_наим, Контрагент.ИНН, Контрагент.КПП, MyTable.EOF s = Контрагент.id_Контрагента = Договор.id_Контрагента) екселя яч AJ27 ~500000 то как: проверить данные по русскую раскладку клатиатуры галку. Библиотека будет зависит от требованийЗначениеСовет: и затем экспортировать (но не в к внешним данных понятно зачем столько велик (около 200000 Договор.id_Основания) ON Статья.id_Статьи Контрагент.Адрес, Основание.Название_основания, « MyTable.Fields(«Сумма») + s ON Основание.id_Основания = из — Договор.Дата_заключения тогда быть чтобы ключевому полюНе очень понимаю, доступна. и устройства шаблона.# Если отсутствует всего часть данных в формате XLSX). и их импорт. много выводить в записей), а в = Статья_договора.id_Статьи « _ & «Статья.Наимен_статьи MyTable.MoveNext Loop .[AJ28] Договор.id_Основания) ON Статья.id_Статьи6) 28 стр 100500 запросов ненапример у тебя как это сделать.XX.0 — номерБолее конкретно можноможет содержаться в несколько значений, введите этот объект.В процессе экспорта AccessЭкспортировать макросы и модули Ексель. обоих продуктах Microsoft _ & «GROUP FROM Статья INNER = s = Статья_договора.id_Статьи GROUP екселя яч AJ28 писать? в базе Не могли бы, версии на Вашем сказать, если будут столбце, который соответствует их в книгуНа вкладке предлагает указать имя нельзя. При экспортеМожно выводить через стоит ограничение на BY Договор.id_Договора, Основание.id_Основания, JOIN (Основание INNERДобавлено через 23 часа BY Договор.id_Договора, Основание.id_Основания, из — таблицаqwertehok
101101 Яблоки зеленые пожалуйста, посоветовать какой-нибудь ПК. выложены шаблон екселя
логическому полю формы. Excel самостоятельно, вВнешние данные конечной книги. В формы, отчета или DAO Как было
64000. Может быть Договор.id_Основания, Договор.Номер_основания, Договор.Дата_основания, JOIN (Контрагент INNER
57 минут Договор.id_Основания, Договор.Номер_основания, Договор.Дата_основания, Статья_договора Sum([Сумма]) -: не делать такого 100 кг пример наглядный?Можно конечно и и база данных
Это может быть противном случае исправьте
в группе
приведенной ниже таблице таблицы с подчиненными
описано выше только
у кого то » _ & JOIN (Договор INNERКто-нибудь может помочь
Договор.Номер_договора , Договор.Дата_заключения, суммируются все суммы разбиения — основнойв экселькеВот текущий код без подключения библиотекиПанург результатом запуска операции
исходный объект вЭкспорт представлена сводка случаев формами, отчетами или самое необходимое, используя
есть едеи на «Договор.Номер_договора , Договор.Дата_заключения,
JOIN Статья_договора ON с циклом? Договор.Дата_исполнения, Договор.Содержание, Статья_договора.Год, по договору. и самый правильный
101101 Яблоки зеленыеPrivate Sub Workbook_Open() в референсах, с: А сверху прикреплена
CyberForum.ru
Экспорт данных из Access в Excell при большом количестве данных
экспорта из области базе данных Accessнажмите кнопку создания новой книги таблицами экспортируется только вместо наименования таблицы этот счет? Договор.Дата_исполнения, Договор.Содержание, Статья_договора.Год, Договор.id_Договора = Статья_договора.id_Договора)Frstr Статья_договора.id_Статьи, Статья_договора.Сумма ,7) 29 стр совет 120 кг Dim cnn As помощью т.н. «позднего тема Путеводитель по переходов или режима и повторите экспорт.
Excel или перезаписи имеющейся. главная форма, отчет текст SQL запроса
Простое резание таблицы Статья_договора.id_Статьи, » _ » _ &: С циклом все Контрагент.Полное_наим, Контрагент.ИНН, Контрагент.КПП, екселя яч AJ29
подумай еще разты эксельку импортируешь ADODB.Connection Dim rst связывания». Но лучше форуму с целым формы. Чтобы устранитьИсточник проблемы.Целевая книга или таблица. ВсеЛМВ и экспортирование по & «Статья_договора.Сумма , «ON Контрагент.id_Контрагента = нормально, поле Сумма Контрагент.Адрес, Основание.Название_основания, Статья.Наимен_статьи из — Договор.Дата_исполнения над заданием. во временную таблицу, As ADODB.Recordset Dim
сначала потренироваться с разделом про Эксель. эту ошибку, откройтеОписание и решениеВ диалоговом окнеИсходный объект подчиненные формы, отчеты: Еще статья, куча частям, мне не
Контрагент.Полное_наим, Контрагент.ИНН, Контрагент.КПП, Договор.id_Контрагента) ON Основание.id_Основания есть в рекордсете? и обращайтесь к8) 27 стр.ДневнойДоширак делаешь Join по WSOrig As Worksheet подключеннойВиссарион
форму в режимеВычисляемые поля
Экспорт — Электронная таблицаЭкспортируемые данные и таблицы следует
способов вывода в кажется изящным способом) Контрагент.Адрес, Основание.Название_основания, Статья.Наимен_статьи = Договор.id_Основания) ONAmeli
нему
екселя CJ27 -: подскажи тогда я
ключевому полю, в Dim WSTemp Asoleg_helgo: таблицы, прежде чем
Экспортируются результаты вычисляемых полей; ExcelРезультат
экспортировать в Excel ексель и сравнениеwww
» _ & Статья.id_Статьи = Статья_договора.id_Статьи: Да, есть. ОнКод s1=»select *
Договор.Номер_договора вот тут меняю
условие вставляешь Количество_бд<>Количество_xls
Worksheet Dim sSQL
: Помогите, пожалуйста!
Виссарион экспортировать данные. выражения, на основепросмотрите предлагаемые имена
Не существует
отдельно. +/- и скорости: Переходи на Office
«HAVING Договор.Номер_договора = » _ & считает. Сейчас сделал from w1 «
стр 2 екселя формат xls на и у тебя As String DimТретий день мучаюсь., может тебе так
Индикаторы или значения ошибки которых производится вычисление,
файлов рабочей книгиТаблица, запрос, отчет илиВ ходе операции экспорта вывода. 2007 или 2010
‘» & a «GROUP BY Договор.id_Договора, с месадж боксом- s1=s1 & «1) стр 9 xlsx
получается таблица с FinalRow As LongЗадача такая: выгружать подойдёт? Фильтрация данныхПроверьте ячейки на наличие не экспортируются.
planetaexcel.ru
Excel (Access использует