Access слияние в word
Если вы пишете письмо, которое должно быть отправлено нескольким адресатам, а все имена и адреса хранятся в базе данных, то это письмо можно создать в качестве отчета Access. Однако зачастую бывает проще объединить имена и адреса с документом Word, содержащим тело письма. Это позволит воспользоваться всеми функциями данного текстового редактора по форматированию текста.
Учитывая, что все имена и адреса хранятся в базе данных Access, письмо можно создать в Word в виде документа особого типа – документа слияния. В тело такого письма включаются специальные коды полей, соответствующие именам и адресам имен полей в базе данных Access. Затем данные Access объединяются с документом слияния, и Word добавляет данные, используя в качестве путеводителя по именам коды полей.
Создадим простое письмо, содержащее данные обо всех каталогах, которые хранятся в базе данных Access, с запросом о том, можно ли получить каталог последнего выпуска.
Письмо было создано в результате выполнения одной из операций слияния данных. Процесс можно продолжить, например, задав в п. 2 связывание данных с существующим документом Microsoft Word. Скорее всего, документ уже содержит все необходимые коды полей, однако мастер дает возможность, прежде чем выполнять слияние данных, изменить указанные ранее параметры.
- Щелкните на ссылке Таблицы и выберите таблицу Каталоги.
- Выберите команду Слияние в Microsoft Office Word в списке кнопки Связи с Office для запуска мастера Слияние с документами Microsoft Word.
- На первой панели мастера выберите переключатель Создать новый документ и установить связь с ним, поскольку письмо еще нужно создать. Щелкните на кнопке ОК. В результате автоматически будет запущена программа Word и открыт новый, пустой документ. Справа должна находиться панель мастера Слияние.
- Введите текущую дату, выбрав команду Вставка › Дата и время. В диалоговом окне Дата и время выберите третий формат сверху. Если установить флажок Обновлять автоматически (при намерении его сохранить и применять повторно) при каждом последующем открытии документа будет использоваться текущая дата. Щелкните на кнопке ОК.
- Нажмите клавишу Enter четыре раза.
- Теперь необходимо ввести первый код поля, предназначенного для хранения имени каталога. Для этого щелкните на кнопке Вставить поля слияния. В появившемся диалоговом окне выберите поле Имя и щелкните сначала на кнопке Вставить, затем – на кнопке Закрыть. Повторяя указанные действия, добавьте все требуемые поля (Имя, Город, Область, Почтовый Индекс и Страна).
Обязательно введите запятую и пробел между полями Город и Область, а также пробел между полями Область и Почтовый Индекс. Вместо того чтобы несколько раз открывать и закрыть диалоговое окно Добавление поля слияния, можно сразу выбрать все нужные поля.
Рис. 16.10. Документ содержит текст письма и коды полей
Слияние — отличный способ заработать в Access. В этом видео показано, как создать типичную букву формы в Microsoft Word, начав с команды "Объединить в Word" Access. При этом ознакомьтесь с основными действиями, которые приведены ниже.
Примечание: Это видео было записано с помощью Access 2013, но основные действия применяются к Access 2010, Access 2016 и версии Access, которая распространяется по подписке.
В этом видео
Вот как можно создать слияние почты Word в Access:
Откройте базу данных Access с адресами, которые вы хотите объединить с Word.
Если не открыта области навигации, нажмите F11, чтобы открыть ее.
Выберите таблицу или запрос с адресами. Если поля адресов находятся в нескольких таблицах, создайте простой запрос на выборки, содержащий нужные поля, и выберите его для слияния.
На вкладке "Внешние данные" в группе "Экспорт" нажмите кнопку "Слияние Word".
Откроется диалоговое окно мастера слияния Microsoft Word.
Выберите, следует ли мастер связывать адресные данные с существующим документом Word или начинать с нового пустого документа.
Word запускает и отображает вкладку "Рассылки" и области "Слияние".
Для работы с мастером щелкните ссылки "Далее" и "Предыдущее" в нижней части области слияния.
На шаге 3 мастера выбирать список получателей не нужно. Это было определено, когда вы выбрали его в Access. Однако вы можете настроить список, нажав кнопку "Изменить список получателей". В открываемом окне можно удалить отдельных получателей из слияния, применить фильтры, отсортировать список и так далее.
На шаге 4 мастера напишите письмо (если вы не работаете с существующим документом).
Поместите курсор в документе в то место, где должны отображаться данные адреса, и щелкните "Блок адреса", "Строка приветствия" или "Другие элементы" на области слияния, чтобы вставить данные Access в документ. В появившись полях выберите нужный формат и нажмите кнопку "Подбор полей", чтобы убедиться в правильном совпадении полей.
На шаге 6 мастера нажмите кнопку "Печать" и выберите нужные параметры печати.
Сохраните и закроем документ Word.
Если после завершения работы мастера вам потребуется вернуться и настроить какие-либо параметры слияния, все операции доступны на вкладке "Рассылки" в Word.
При внесении изменений в оформление базы данных Access может потребоваться изменить некоторые параметры слияния в Word, чтобы снова правильно сработать слияние.
Мастер слияния предназначен для работы с данными адресов рассылки. Однако с помощью функции слияния можно объединять в Word данные любого типа, например записи о запасах, задачи или другие данные, хранимые в Access.
Дополнительные сведения о функции слияния в Word см. в указанных здесь статьях.
В этой теме объясняется, как запустить мастер слияния из Access и создать прямую связь между таблицей или запросом и документом Microsoft Word. В этой теме описывается процесс написания писем. Пошаговая информация о том, как настроить процесс слияния, см. в справке Microsoft Word.
Использование таблицы или запроса в качестве источника данных
Откройте базу данных и в области навигации выберите таблицу или запрос, которые вы хотите использовать в качестве источника данных слияния.
На вкладке "Внешние данные" в группе "Экспорт" нажмите кнопку "Слияние Word".
Запускается мастер слияния Microsoft Word.
Укажете, хотите ли вы создать ссылку в существующем или новом документе, а затем нажмите кнопку "ОК".
Если вы решили связать с существующим документом, в диалоговом окне "Выбор документа Microsoft Word" найдите и выберите файл, а затем нажмите кнопку "Открыть".
Word запускается. В зависимости от вашего выбора Word откроет указанный документ или новый.
В области "Слияние" в списке "Выберите тип документа" щелкните "Письма" и нажмите кнопку "Далее: начало документа", чтобы продолжить шаг 2.
На шаге 2 нажмите кнопку "Далее" и выберите получателей.
На шаге 3 создается связь между источником данных в Access и документом Word. Так как вы запустили мастер в Access, эта ссылка создается автоматически. В списке "Выбратьполучателей" обратите внимание, что выбрано "Использовать существующий список", а в списке "Использовать существующий список" отображается имя источника данных.
Щелкните "Изменить список получателей", если вы хотите настроить содержимое таблицы или запроса.
Другие способы использования таблицы или запроса в качестве источника данных
Таблицу или запрос можно указать в качестве источника данных дополнительными способами. Например, можно экспортировать таблицу или запрос из Access в базу данных ODBC, файл Microsoft Excel, текстовый файл или любой другой файл, совместимый с Word, а затем связать его с итогом с помощью мастера слияния Word.
Если вы еще не экспортировали таблицу или запрос, сделайте это. В области навигации Access выберите таблицу или запрос, а затем на вкладке "Внешние данные" в группе "Экспорт" выберите формат, в который нужно экспортировать данные, и следуйте инструкциям.
Если в Word не отображается области слияния, на вкладке "Рассылки" в группе "Начало слияния" щелкните стрелку под кнопкой "Начать слияние" и выберите пошаговую кнопку мастера слияния. Появится области слияния.
На шаге 3 в области "Слияние" в списке "Использовать существующийсписок" нажмите кнопку "Обзор" или "Изменить список получателей".
В диалоговом окне "Выбор источника данных" укажите файл данных, созданный в Access, и нажмите кнопку "Открыть".
Следуйте инструкциям в последующих диалогах. В диалоговом окне "Получатели слияния" просмотрите и настройте содержимое файла. Перед продолжением можно отфильтровать, отсортировать и проверить содержимое.
Не удалось открыть источник данных.
Дополнительная информация
В приведенных ниже действиях описывается процесс слияния. В приведенных ниже используется новый документ Word. Однако можно пересмотреть нструкции для использования уже созданного документа слияния Word. Для слияния с запросом параметров рекомендуется использовать динамический обмен данными (DDE).
Следующие инструкции являются общими инструкциями, в которых указывается, как выполнить слияние с запросом параметров.
Word 2002 или Word 2003
Запустите Microsoft Word.
В меню Сервис выберите пункт Параметры.
На вкладке Общие поставьте флажок Подтверждать преобразование при открытии и нажмите кнопку OК.
Примечание. Это позволит выбрать соответствующий способ слияния.
Создайте новый (пустой) документ.
В меню Инструменты выберите пункт Письма и рассылки и нажмите кнопку Слияние.
На панели Слияние щелкните один из следующих типов документов в списке Выбор типа документа.
Примечание. В следующих инструкциях в качестве примера используется тип документа Письма.
На панели Слияние щелкните Далее. Открыть документ.
Примечание. Активный документ становится основным документом.
На панели Слияние щелкните Далее. Выбрать получателей.
На панели Слияние щелкните Обзор в списке Существующий список.
В диалоговом окне Выбор источника данных выберите базу данных Access в окне Поиск в и нажмите кнопку Открыть.
В диалоговом окне Подтверждение источника данных выберите Базы данных MS Access через DDE (*.mdb, *.mde), а затем нажмите кнопку OК.
В диалоговом окне Microsoft Access откройте вкладку Запросы и выберите свой запрос.
В диалоговом окне Получатели слияния нажмите кнопку ОК.
На панели Слияние щелкните Далее. Создание письма.
Напишите письмо и добавьте запрашиваемые данные.
На панели Слияние щелкните Далее выполните предварительный просмотр своих писем.
Примечание. Предполагается, что отобразится новый документ с данными из запроса.
На панели Слияние щелкните Далее. Завершение слияния для продолжения слияния.
Word 2007
Запустите Microsoft Word.
Откройте вкладку Дополнительно, поставьте флажок Подтверждать преобразование формата файла при открытии в области Общие и нажмите кнопку OК.
Примечание. Это позволит выбрать соответствующий способ слияния.
Создайте новый (пустой) документ.
Во вкладке Рассылки щелкните Начать слияние, а затем щелкните Пошаговый мастер слияния.
На панели Слияние щелкните один из следующих типов документов в списке Выбор типа документа.
Примечание. В следующих инструкциях в качестве примера используется тип документа Письма.
На панели Слияние щелкните Следующий открытый документ.
Примечание. Активный документ становится основным документом.
На панели Слияние щелкните Следующий выбор получателей.
На панели Слияние щелкните Обзор в списке Существующий список.
В диалоговом окне Выбор источника данных выберите свой файл базы данных Access 2007 (ACCDB) и нажмите кнопку Открыть.
В диалоговом окне Подтверждение источника данных поставьте флажок Показать все, выберите Базы данных MS Access через DDE (*.mdb, *.mde), а затем нажмите кнопку OК.
В диалоговом окне Microsoft Access откройте вкладку Запросы и выберите свой запрос.
В диалоговом окне Получатели слияния нажмите кнопку ОК.
На панели Слияние щелкните Далее напишите письмо.
Напишите письмо и добавьте запрашиваемые данные.
На панели Слияние щелкните Далее выполните предварительный просмотр своих писем.
Примечание. Предполагается, что отобразится новый документ с данными из запроса.
На панели Слияние щелкните Далее. Завершение слияния для продолжения операции слияния.
Ссылки
За дополнительной информацией об использовании подключения Access к Word обратитесь к следующим статьям базы знаний Майкрософт:
211193 Недоступность запросов при использовании базы данных Access (Эта ссылка может указывать на содержимое полностью или частично на английском языке)
211353 Процесс слияния перестает отвечать на запросы при использовании запросов параметров Access (Эта ссылка может указывать на содержимое полностью или частично на английском языке)
214183 Способы использования слияния с запросами параметров Access в Word 2000 (Эта ссылка может указывать на содержимое полностью или частично на английском языке)
Сейчас мы с Вами рассмотрим пример реализации того, как можно выполнить слияние данных Word с данными Microsoft SQL Server, при этом данный процесс будет автоматизирован средствами VBA Access 2003.
Многие, наверное, уже умеют осуществлять слияние документов Word, например, с источником данных Excel или с тем же SQL сервером, но не все знают, как можно автоматизировать данный процесс или внедрить его в какую-нибудь программу.
Однажды у меня встала задача автоматизировать слияние некого шаблона Word с данными расположенными на SQL сервере, при этом все это необходимо было внедрить в программу, разработанную в Access 2003 (ADP проект). И сегодня я покажу пример решения данной задачи.
Исходные данные
И для начала давайте разберем исходные данные, т.е. что мы имеем.
Итак, в качестве клиента, как я уже сказал, у нас будет выступать ADP проект Access 2003. В качестве источника данных для примера будет выступать SQL Server 2012 Express. На компьютере установлен Microsoft Office 2013 (и Access 2003).
Создадим на сервере тестовую таблицу и заполним ее данными (допустим в базе данных Test). Для этого Вы можете запустить следующую SQL инструкцию.
Заметка! Начинающим программистам рекомендую почитать книгу «SQL код», с помощью которой Вы научитесь работать с языком SQL во всех популярных системах управления базами данных.
Заметка! Если Вы не знаете, что делает вышеуказанная инструкция, рекомендую посмотреть мой видеокурс «T-SQL. Путь программиста от новичка к профессионалу. Уровень 1 – Новичок», который предназначен для начинающих. В нем подробно рассмотрены все базовые конструкции языка SQL, включая все вышеперечисленные.
Создаем файл подключения к источнику данных MS SQL Server
Теперь давайте создадим файл подключения (ODC) к нашему источнику данных. Данный файл будет выступать своего рода «шаблоном файла подключения», так как впоследствии мы можем, и будем переопределять и базу данных и сам SQL запрос.
Для создания файла подключения к SQL серверу давайте откроем Word и стандартным способом создадим данный файл, т.е. с помощью функционала «Рассылки». (Кстати пример создания подключения к SQL серверу из Excel мы с Вами уже рассматривали в материале – Excel — Подключение и получение данных с SQL сервера).
Переходим на вкладку рассылки и в меню «Выбрать получателей» выбираем «Использовать существующий список».
Затем в окне выбора источника данных нажимаем кнопку «Создать».
Далее выбираем тип источника данных, т.е. Microsoft SQL Server. Жмем «Далее».
Потом вводим адрес сервера и нажимаем «Далее».
Затем выбираем базу данных и таблицу для подключения, еще раз напомню, это всего лишь шаблон, все эти параметры мы будем переопределять, жмем «Далее».
И в заключение вводим понятное название файла подключения, а также мы можем сразу его сохранить в нужный нам каталог путем кнопки «Обзор», по умолчанию он сохраняется в «C:\Users\Имя_Пользователя\Documents\Мои источники данных». Нажимаем «Готово».
Все, файл создан, Word можем закрыть без сохранения.
Создаем шаблон Word для слияния
Теперь давайте подготовим шаблон Word, т.е. это тот документ, в который мы будем подставлять данные из базы данных SQL сервера.
Вся подготовка сводится к тому, что нам необходимо вставить поля слияния там, где это нам нужно. Это делается следующим образом. Вкладка «Вставка -> Экспресс-блоки -> Поле».
Ищем поле MERGEFIELD и вводим название поля, которое будет соответствовать полю в источнике данных (в моем случае это ProductName и Price). Жмем «ОК».
Так как у меня это тестовый шаблон в нем текста практически не будет, и выводить я буду всего два поля, у Вас скорей всего будет много текста и много полей слияния.
Код VBA Access 2003 для слияния документа Word с источником данных MS SQL Server
Осталось написать код VBA, который будет осуществлять слияние. Для примера давайте добавим на форму кнопку StartMerge и поле Price для фильтрации данных. Затем в редакторе Visual Basic напишем процедуру для слияния, допустим с названием MergeWord, и в обработчик события кнопки StartMerge (нажатие кнопки) вставляем код вызова этой процедуры. Весь код будет выглядеть следующим образом (я его прокомментировал). Сразу поясню, что шаблон Word и файл ODC у меня лежат в каталоге D:\Test\.
Сохраняем и проверяем работу.
После нажатия на кнопку (StartMerge) запустится Word, в котором уже все данные заполнены и документов будет столько, сколько строк в источнике.
Как видим, все работает. На этом у меня все, надеюсь, материал был полезен. Пока!
Читайте также: