Иллюстрированный самоучитель по Access 2002


         

Рис. 15.35. Диалоговое окно с содержимым таблицы "СписокПриглашенных"


Теперь на экране отображается панель инструментов

Слияние

(Mail Merge). Установите курсор в левый верхний угол документа и нажмите кнопку

Добавить поля слияния

(Insert Merge Fields). Появляется одноименное диалоговое окно со списком всех полей в источнике данных. Выберите в списке поле "Обращение" и нажмите кнопку

Вставить

(Insert). Аналогично вставьте остальные поля (см. рис. 15.34). Поля слияния являются одним из видов полей Word и выглядят в основном документе как заключенные в угловые кавычки названия соответствующих полей источника данных.

Сохраните документ в виде шаблона (файл с расширением dot) и закройте.

Рассмотрим теперь программу, которая будет выполнять слияние документа Word с данными из таблицы Access. В этой программе мы покажем, как объект Document создается из шаблона документа. Предположим, что у нас есть форма, в которой отображаются отобранные записи о тех сотрудниках, которым мы хотим разослать приглашения. На форме есть кнопка, при нажатии на которую должны формироваться и печататься все экземпляры приглашений. Процедура обработки нажатия этой кнопки выглядит следующим образом:

Private Sub MergeDocument_Click()

Dim wda As Word.Application

Dim rst As Recordset, rstNew As Recordset

Dim db As Database

Dim tdf As TableDef

Dim i As Integer

Set db = CurrentDb()

'

Создаем новую таблицу

Set tdf = db.CreateTableDef("СписокПриглашенных")

With tdf

' Создаем поля таблицы и добавляем их в семейство Fields

.Fields.Append .CreateField("Фамилия", dbText)

.Fields.Append . CreateFieldC'HMH", dbText)

.Fields.Append .CreateField("Обращение", dbText)

.FieIds.Append .CreateField("Должность", dbText)

' Добавляем таблицу в семейство TableDefs

db.TableDefs.Append tdf End With

' копируем записи из формы в созданную таблицу

Set rst = Me.RecordsetClone rst.MoveFirst

Set rstNew = db.OpenRecordset("СписокПриглашенных")

Do While Not rst.EOF




Содержание  Назад  Вперед