Как сделать договор в access?

Организуем форму для создания договора

SQL запрос для бд Договора
Не могу правильно написать запрос на SQL, либо список в итоге пустой, либо ошибка в коде в.

маска ввода для договора на кириллице
у нас есть номера договоров. 001/01/МС-2013 001/01/РН-2013 001/01/РС-2013 нашел возможные.

Создаю свою форму для создания Задач в аутлук
Создаю свою форму для создания Задач в аутлук, не могу заставить работать кнопки на выполнение.

Можно ли создать форму в модуле без создания нового модуля для неё
Можно ли создать форму в модуле без создания нового модуля для неё?

Убежденный, давай бизнес организуем?
Предложение реально серьёзное — если тебе реально надоело работать на кого — то, давай соберём.

)))))
стандартная ситуация
если один «как бы ни чего не делает» — то и другие хотят то же ни чего не делать
есть элемент TreeView — с помощью его можно как-то визуализировать выбор шаблона договора в который нужно выгрузить инфу

если будете крепить базу
забейте ее хоть не много левыми данными

не люблю закладки

предпочитаю заменять ключевые слова в квадратных скобках на значение
—наглядность при корректировке шаблона
—видны не замененные ключи—-в конце шаблона 2 поля не заменились

Теперь при выборе отдела на форме будут видны только нужные заказчики.
Также в событии можно блокировать кнопки договоров, чтобы Отдел2 не нажал случайно договора Отдела1.

Добавлено через 2 минуты

КОРОЧЕ
—договор с подчиненной таблицей

значит в базе должны быть 2 таблицы(помимо справочников)
1-голова
2-деталировка

и в придачу нужен динамический поиск
—по данным клиента
—дата,период
—услуга(кому поставили некое по) с комментариями

Всё верно. Я выложила то что у меня сейчас есть — для 1 отдела. У нас договора разные. Нам нельзя их объединять. Поэтому мне нужно это переделать для нескольких отделов.
У них один договор в котором меняется только последний лист(Word’а) в нём указывается:
Спецификация на Услуги

№ Наименование Услуг Цена за ед. в рублях Кол-во Сумма, в рублях
1 Работы 5 1 5
2 USB 2 1 2
3 Установка 3 1 3
Итого: 10
В т.ч. НДС 18% Не считала

Эта табличка зависит от того что хочет клиент. Если он хочет 5 установок, то в договоре должна быть вставлена только строка с 5 установками, если он хочет 1 работу и 3 USB то вставляется 2 строки соответственно с количеством того что он хочет.
Как я представляю(уже писала но.. для понятности):
Открывается форма на ней 3 кнопки:
1 отдел 2 отдел 3отделЕсли мы выбираем 1 отдел то эта форма пропадает и открывается список работ который выполняет выбранный отдел и данные заказчика, которого можно найти среди всех или указать его номер ID(для внесения его реквизитов в договор). Я выбираю работы галочками и проставляю кол-во, нажимаю кнопку сформировать и
должны вставиться реквизиты заказчика(это я уже умею, НО откуда их брать если на форме будет только номер ID — как это прописать в VBA?)
выбранные галочками работы должны занестись в последний листок с кол-вом которое я указала.

Блин как ещё подробней объяснить я просто не представяю.
Я понимаю, что нужно создать ещё одну таблицу, допустим:
ID Вид работ Кол-во Цена Отдел|
1 Установка 1(стандартно 50.00р 2 |
выставлено,но |
можно поменять) |
__________________________________________________|
2 .

Выбираем отдел формируется список работ
ставим там кол-во и цену(если они стандартные то оставляем так как есть)
Из неё потом выводим данные в договор на последний лист а потом нужно обновлять таблицу чтоб введённые данные не сохранялись.
И как то привязать заказчика.

С логикой у меня всё в порядке, а вот с программированием. Я и прошу помощь как мне это организовать а как это всё работать должно я примерно представляю.
Спасибо, всем кто пытается помочь. Я принимаю и критику адекватно. Так что любое предложение может быть полезным).

Создание формы в Access

В форме Access, как на витрине магазина, удобно просматривать и открывать нужные элементы. Так как форма — это объект, с помощью которого пользователи могут добавлять, редактировать и отображать данные, хранящиеся в базе данных классического приложения Access, ее внешний вид играет важную роль. Если база данных классического приложения Access используется несколькими пользователями, хорошо продуманные формы — залог точности данных и эффективности работы с ними.

Создать форму на компьютере в базе данных Access можно несколькими способами. В этой статье мы рассмотрим наиболее распространенные из них.

Примечание: Информация, приведенная в этой статье, не относится к веб-базам данных Access или веб-приложениям Access.

В этой статье

Создание формы из существующей таблицы или запроса в Access

Чтобы создать форму из таблицы или запроса базы данных, в области навигации щелкните таблицу или запрос, содержащие данные для формы, а затем на вкладке Создание нажмите кнопку Форма.

Приложение Access создаст форму и отобразит ее в режиме макета. При необходимости вы можете изменить оформление, например настроить размер текстовых полей в соответствии с данными. Подробнее читайте в статье об использовании инструмента «Форма».

Создание пустой формы в Access

Чтобы создать форму без элементов управления и заранее отформатированных элементов, выполните следующее. На вкладке Создание нажмите кнопку Пустая форма. Приложение Access откроет пустую форму в режиме разметки страницы и отобразит область Список полей.

В области Список полей щелкните знак плюс (+) рядом с одной или несколькими таблицами, содержащими поля, которые нужно включить в форму.

Чтобы добавить поле к форме, дважды щелкните его или перетащите на форму. Чтобы добавить сразу несколько полей, щелкните их по очереди, удерживая нажатой клавишу CTRL. Затем перетащите выбранные поля на форму.

Примечание: Порядок таблиц в области Список полей может изменяться в зависимости от выбранной части формы. Если не удается добавить поле в форму, выберите другую часть формы и повторите попытку.

С помощью инструментов в группе Элементы управления на вкладке Работа с макетами форм можно добавить в форму эмблему компании, заголовок, номера страниц, дату и время.

Если требуется добавить в форму другие виды элементов управления, откройте вкладку Конструктор и выберите нужные элементы в группе Элементы управления.

Создание разделенной формы в Access

Разделенная форма позволяет одновременно отображать данные в двух представлениях: в представлении формы и в режиме таблицы. То есть вы можете использовать возможности обоих этих представлений в одной форме. Например, можно быстро найти запись в режиме таблицы, а затем просмотреть или изменить ее в представлении формы. Эти две части формы связаны с одним и тем же источником данных и всегда синхронизированы друг с другом.

Чтобы создать новую разделенную форму с помощью инструмента «Разделенная форма», в области навигации щелкните таблицу или запрос с нужными данными, а затем на вкладке Создание нажмите кнопку Другие формы и выберите пункт Разделенная форма.

Access создаст форму, которую можно изменять по своему усмотрению. Например, при необходимости можно настроить размер текстовых полей в соответствии с данными. Подробнее о работе с разделенными формами читайте в статье о создании разделенной формы.

Создание формы, отображающей несколько записей, в Access

Форма нескольких элементов (также называется ленточной) удобна, если требуется отобразить несколько записей. Кроме того, ее легче настроить, чем таблицу. Такую форму можно создать с помощью инструмента «Несколько элементов».

В области навигации щелкните таблицу или запрос с данными, которые должны отображаться в форме.

На вкладке Создание нажмите кнопку Другие формы и выберите пункт Несколько элементов.

Приложение Access создаст форму и отобразит ее в режиме макета. В этом режиме вы можете вносить изменения в структуру формы и видеть, как изменяется представление данных. Например, можно настроить размер полей в соответствии с данными. Подробнее читайте в статье Создание формы с помощью инструмента «Несколько элементов».

Создание формы, содержащей подчиненную форму, в Access

При работе со связанными данными, хранящимися в отдельных таблицах, часто приходится просматривать их из нескольких таблиц или запросов в одной и той же форме, поэтому подчиненные формы отлично подойдут в такой ситуации. В зависимости от потребностей подчиненные формы можно добавлять несколькими способами. Подробнее об этом читайте в статье Создание формы, содержащей подчиненную форму (форма с отношением «один-ко-многим»).

Читать еще:  Как сделать mde в access 2010?

Создание формы навигации в Access

Форма навигации — это простая форма, содержащая элемент навигации. Формы навигации являются полезным дополнением любой базы данных, но особенно важны для баз данных, публикуемых в Интернете, так как область навигации Access не отображается в браузере.

Откройте базу данных, в которую нужно добавить форму навигации.

На вкладке Создание в группе Формы нажмите кнопку Навигация и выберите нужный стиль формы навигации.

Access создаст форму, добавит на нее элемент навигации и отобразит форму в режиме макета. Подробнее об этом читайте в статье Создание формы навигации.

Дополнительные сведения

Формы можно настраивать с помощью нескольких параметров. Выберите нужные из представленных ниже.

Скачать базу данных access Договорная деятельность организации

по теме «СОЗДАНИЕ БАЗ ДАННЫХ В СУБД ACCESS»

Создать базу данных Договорная деятельность организации

СОЗДАНИЕ БАЗЫ ДАННЫХ

Получение навыков работы по созданию структуры таблиц, модификации структуры таблиц, заполнению таблиц. Создание ключевых полей, индексированных полей, установка связей между таблицами. Удаление информации из связанных таблиц и восстановление этой информации.

2. Темы для предварительного изучения

Перед выполнением работы необходимо ознакомиться со следующими темами: Проектирование реляционных баз данных, Создание новой базы данных, Создание таблиц, Типы полей, используемые СУБД Access, Сохранение таблиц, Создание ключевого поля, Изменение структуры таблицы, добавление данных в таблицу, Редактирование и удаление данных, Изменение внешнего вида таблицы, Печать таблицы, Поиск данных в таблице, Добавление индексов в таблицу, Установка связей между таблицами.

Создать структуры таблиц, ключевые и индексные поля. Заполнить таблицы данными, установить связи, удалить данные, восстановить их.

Таблица 1. Варианты задания

Минимальный список характеристик

Договорная деятельность организации

Шифр договора, наименование организации, сроки выполнения, сумма договора, примечания вид договора; номер, ФИО, адрес, телефон, должность, оклад сотрудников, сроки работы данного сотрудника по данному договору.

РАБОТА С ЗАПРОСАМИ

Получение навыков работы по созданию запросов

2. Темы для предварительного изучения

Назначение запросов, типы запросов, создание запросов на выборку из одной или нескольких таблиц, типы запросов на изменение и технология их разработки.

Создать запрос на выборку информации из основной таблицы, из связанных таблиц, создать параметрический запрос, запрос для выбора информации для создания сложного отчета.

Получение навыков работы по созданию отчетов.

2. Темы для предварительного изучения

Назначение отчетов. Порядок создания отчетов. Разделы бланка отчетов. Элементы управления. Форматирование элементов управления. Сортировка и группировка. Сохранение и печать отчета.

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

Получение навыков работы по созданию экранных форм.

2. Темы для предварительного изучения

Назначение форм. Создание формы с помощью мастера форм. Создание простой формы в режиме Конструктора. Работа с элементами управления. Создание сложной формы на основе ранее созданных простых форм. Задание выражения для элементов управления.

Создать форму для ввода информации в таблицы в удобном для пользователя формате. Создать сложную форму, объединив формы, созданные для разных таблиц. Предметная область базы данных выбирается в соответствии с вариантом индивидуального задания.

СОЗДАНИЕ КНОПОЧНОЙ ФОРМЫ

Получение навыков работы по созданию кнопочных форм.

2. Темы для предварительного изучения

Необходимость создания кнопочных форм. Создание кнопочной формы с помощью диспетчера кнопочных форм. Создание новой кнопочной формы, которая открывается из стартовой кнопочной формы. Изменение существующей кнопочной формы. Выбор кнопочной формы, автоматически открываемой при открытии БД. Удаление кнопочной формы.

Создать кнопочную форму для работы с созданными объектами базы данных (таблицы, формы, отчеты). Предусмотреть выход из БД.

Структура готовой базы данных:

Рис.1 Главная кнопочная форма бд Договорная деятельность организации.

Рис. 2 Виды договоров и стороны.

Рис. 3 Форма Договора

Рис. 4 Список контрагентов и ответственных по договору.

Рис. 5 Установка статуса договора в аксесс.

Рис. 6 Отчёты бд «Договорная деятельность организации»

Рис. 7 Отчёт Отбор договоров по статусу.

Готовая база данных организована в виде следующих таблиц:

Рис.8 Схема базы данных «Договорная деятельность организации» содержит таблицы «Договора», «Виды договоров», «Статусы», «Установка статуса», «Должности», «Сотрудники», «Список контрагентов», «Список ответственных», «Типы ответственных», «Стороны».

Таблица «Сотрудники»: номер сотрудника, ФИО, адрес, телефон, должность, оклад.

Таблица «Список контрагентов»: № пп, договор, сторона, наименование, банк, расчётный счёт.

Рис. 9 Таблица «Договора»: шифр, вид договора, наименование, дата заключения, дата регистрации, примечание, дата начала, дата окончания, сумма.

Таблица «Стороны»: код стороны, вид договора, наименование, обязательства.

Таблица «Виды договоров»: код вида, наименование, документ.

Таблица «Должности»: код должности, наименование.

Рис. 9 Таблица «Список ответственных»: № пп, договор, контрагент, сотрудник, тип ответственности, примечание, дата начала, дата окончания.

Таблица «Установка статуса»: № пп, договор, статус, дата установки статуса.

Таблица «Типы ответственных»: код, наименование.

Таблица «Статусы»: код статуса, статус.

Скачать отчёт по базе данных с экранными формами бесплатно

Примерная цена 763 руб.

Точная цена зависит от способа оплаты.

Способы оплаты базы данных Access: WebMoney, Терминалы оплаты, Альфа-клик, Почта России, QIWI, SMS-оплата, Деньги@Mail.Ru, MTC, Мегафон, Яндекс.Деньги, Подарочный сертификат и другие

Скачать базы данных Access подобной тематики:

Ключевые слова: Скачать базу данных Договорная деятельность организации; база данных access; бд access; субд access; базы данных access; access пример; программирование access; готовая база данных; создание база данных; база данных access учет договоров; база договоров access; база данных договоров access; база данных договоров скачать; база данных СУБД; access курсовая; база данных пример. Схема базы данных «Договорная деятельность организации» содержит таблицы «Договора», «Виды договоров», «Статусы», «Установка статуса», «Должности», «Сотрудники», «Список контрагентов», «Список ответственных», «Типы ответственных», «Стороны». Таблица «Виды договоров»: код вида, наименование, документ. Таблица «Договора»: шифр, вид договора, наименование, дата заключения, дата регистрации, примечание, дата начала, дата окончания, сумма. Таблица «Должности»: код должности, наименование. Таблица «Сотрудники»: номер сотрудника, ФИО, адрес, телефон, должность, оклад. Таблица «Список контрагентов»: № пп, договор, сторона, наименование, банк, расчётный счёт. Таблица «Список ответственных»: № пп, договор, контрагент, сотрудник, тип ответственности, примечание, дата начала, дата окончания. Таблица «Статусы»: код статуса, статус. Таблица «Стороны»: код стороны, вид договора, наименование, обязательства. Таблица «Типы ответственных»: код, наименование. Таблица «Установка статуса»: № пп, договор, статус, дата установки статуса. База данных преобразована к формату 2003, поэтому откроется в access 2007 и в access 2010.

Пример вывода данных из Access в Word

Иногда возникают ситуации, когда требуется автоматически внести данные в один из типовых документов: служебную записку, письмо, договор и т. д. Причем не всегда такие документы можно сформировать, используя отчеты Access. Например:

  • требуется сформировать договор, который, как правило, представляет собой довольно длинный текстовый документ, в который нужно вставить несколько чисел или строк — например даты.
  • нужно обеспечить возможность ручного редактирования текста документа. Например, существует стандартный шаблон документа, который пользователь должен иметь возможность редактировать. Если использовать отчет Access, то придется открывать пользователю доступ к исходному коду.
  • документ должен быть сохранен в виде текстового файла (отчет Access может быть только напечатан). Иногда бывают и такие условия.

Обычно вывод отчета в документ Word применяют, когда необходимо вручную корректировать данные отчета. Чаще всего, при этом создается шаблон документа и затем программно вставляется в нужные места текст. Это проще, чем полностью программно составлять весь документ, хотя возможно и такое.

Вообще, каждый документ Microsoft Word основан на шаблоне. Шаблон определяет основную структуру документа и содержит настройки документа, такие как элементы автотекста, шрифты, назначенные сочетания клавиш, макросы, меню, параметры страницы, форматирование и стили. В нашем же случае, необходимо просто создать макет отчета подобно тому как это делается в Access. Для этого создаем обычный документ Word, затем в меню Файл — Сохранить как выбираем тип файла — Шаблон документа. В результате получим документ Word с расширением .dot — шаблон.

Для редактирования шаблона лучше его открывать не двойным щелчком, как обычный документ, а например, через контекстное меню: правой кнопкой — и выбрать пункт открыть. В противном случае при попытке сохранения придется повторно задавать формат документа — шаблон (.dot), иначе он будет сохранен как обычный документ Word (.doc).

В качестве примера создадим шаблон реквизитов заказчика. Оформить его можно например так: создать заголовок, затем таблицу, куда будут вставлены реквизиты. Вставлять данные лучше в таблицу, так как в этом случае если текст не влезет в ширину столбца, то столбец автоматически увеличится по высоте. А вот если вставлять текст просто в заданное место, то при аналогичной ситуации не умещаемые данные появятся с новой строки, что изменит макет шаблона.

А теперь собственно о технологии вставки текста в нужное место. Чтобы вставить текст, сначала нужно определить место, куда он должен вставляться. В данном примере это делается при помощи «Закладок» (смотрим в меню документа Word: Вставка — Закладка).

Закладка — это элемент документа, которому присвоено уникальное имя. Это имя можно использовать для последующих ссылок. Например, можно использовать закладку для определения текста, который необходимо проверить позже. Чтобы в следующий раз не искать данный текст во всем документе, можно перейти к нему с помощью диалогового окна Закладка.

В нашем случае закладками являются элементы шаблона, выделенные курсивом (смотрим в папку Dot). Создаются они очень просто:

  • Выделите элемент, которому следует назначить закладку — например курсивный текст Заказчик
  • В меню Вставка выберите команду Закладка
  • В поле Имя закладки введите или выберите нужное имя — в данном случае вводим имя «Заказчик». Имя закладки должно начинаться с буквы, в нем могут использоваться цифры, но не должно быть пробелов. Если потребуется разделить слова в имени закладки, можно использовать знак подчеркивания, например: Главный_заказчик.
  • Нажмите кнопку Добавить.

В итоге получили закладку с именем «Заказчик». В принципе, можно было просто установить курсор в нужное место и вышесказанным образом создать закладку. Но тогда для просмотра, где какая закладка установлена в документе нужно будет через меню Вставка — Закладка выбрать имя закладки и нажать кнопку Перейти. Это неудобно, проще и нагляднее создать одноименный текст в документе.

Теперь осталось создать функцию, которая бы открывала созданный шаблон Word, вставляла бы туда вместо закладок нужный текст и сохраняла созданный документ под заданным именем. В прошлой статье уже рассказывалось о способах открытия документов Office. Осталось только выяснить, как обратиться к закладке. Делается это при помощи свойства документа Bookmarks.Item Например:

Здесь идет обращение к закладке под именем Заказчик и при помощи ее свойства Text ей присваивается нужное значение — в данном случае содержимое одноименного поля на форме. На случай, если в поле нет данных, применена функция Nz(Значение, Значение если Null).

Документ создается под именем инициалов заказчика, поэтому данное поле не должно быть пустым. Это реализовано при помощи свойства поля (см. конструктор таблиц) «Обязательное поле — Да». Кроме того, в приведенном примере так же реализована процедура поиска ранее созданного документа при помощи стандартной функции Dir. Если документ не найден, то создается новый документ Word на основе шаблона

Set app = New Word.Application
app.Visible = True
app.Documents.Add strPathDot

если же такой документ существует, то выводится соответствующее сообщение: «Документ с таким именем ранее уже был создан. Заменить его?» При выборе «Да» создается новый документ взамен старого, при выборе «Нет» открывается старый документ

Обмен данными с Microsoft Word в системе автоматизации

В настоящем разделе будут рассмотрены несколько примеров управления объектами Microsoft Word из процедур VBA: открытие и печать документа, слияние документов для почтовых рассылок и заполнение полей в документе Word данными из БД Microsoft Access.

Иерархия объектов VBA приложения Microsoft Word

Так же как и при использовании объектной модели Microsoft Excel, познакомимся сначала с некоторыми объектами объектной модели Microsoft Word.

  • Объект Application — ссылается на активное приложение Microsoft Word. Через этот объект можно получить доступ ко всем остальным объектам модели. Объект Application имеет свойства ActiveDocument и ActiveWindow, которые представляют собой активный документ и активное окно соответственно. Можно указать Word.Application в качестве значения аргумента функций CreateObject() и GetObject() И В операторе Dim As New .
  • Объект Document — является глобальным объектом и, так же как и объект Application, может использоваться в коде автоматизации в качестве значения аргумента функций CreateObject() и GetObject() и в операторе Dim As New . Семейство Documents представляет собой набор всех документов, открытых в Word.
  • Объект Selection — представляет собой выделенную область в окне документа Word или точку вставки. Каждый документ может иметь только одну область выделения, и только одна область выделения открытых документов может быть активна в некоторый момент времени. Это означает, что всегда существует только один объект Selection. Объект Selection подчинен объекту Application, a создается при применении метода Select к объекту Document.
  • Семейство windows объекта Application представляет собой набор всех окон приложения Word.
  • Семейство Bookmarks подчинено объекту Document, и каждый объект этого семейства представляет собой закладку в документе.
  • Объект Range представляет собой непрерывную область текста в документе Word. Диапазоны, как и закладки, используются для идентификации текста в документе, однако, в отличие от закладок, диапазоны существуют только во время выполнения процедур VBA. Диапазоны не зависят от области выделения в документе. Можно работать с диапазоном, не затрагивая области выделения. Диапазонов в документе может быть несколько.

Открытие документа Word

Для того чтобы открыть документ Word, можно использовать любой из перечисленных ранее способов создания экземпляров класса объекта автоматизации. Ниже приводятся примеры процедур VBA для открытия документа. В первой используется функция CreateObject (), а во второй — GetObject(). Для проверки кода этих процедур вы можете, так же как и при работе с объектами приложения Excel, использовать окно отладки.

В данном случае независимо от того, запущен ли уже Word, программа запустит еще один его экземпляр и в нем откроет файл Letter.doc. После того как все операции с документом закончены, нужно закрыть Word, для чего используйте метод Quit. Если при этом документ был изменен, то приложение Word выдаст сообщение, спрашивающее о том, нужно ли сохранить изменения. При этом программа приостанавливает выполнение и ждет указания пользователя. Таких ситуаций следует избегать.

Если все изменения делались программно, то лучше сначала закрыть документ, выполнив команду

Окно документа будет закрыто, при этом все изменения будут сохранены. Если же нужно, чтобы пользователь мог посмотреть сделанные программой изменения и при необходимости что-то откорректировать, можно не закрывать приложение в программе, а предоставить сделать это пользователю.

В следующей процедуре для открытия документа используется функция Getobject (). То есть сначала делается попытка проверить, не запущен ли уже Word. Если он еще не запущен, будет сгенерирована ошибка (код ошибки: 429). Программа перехватит эту ошибку и использует функцию CreateObject(), чтобы запустить Word. Если Word уже запущен, то новый документ будет открыт в этом же экземпляре приложения. Затем документ выводится на печать, после чего закрывается либо документ, либо приложение в зависимости от значения флага (modeFlag). Значение флага показывает, запускался ли экземпляр Word, или документ был добавлен к другим открытым документам:

Вывод данных из таблицы Access в документ Word

Такая операция может быть полезна, когда требуется автоматически внести данные в один из типовых документов: служебную записку, письмо, договор и т. д. Не всегда такие документы можно сформировать, используя отчеты Access. Например:

  • требуется оформить договор, который, как правило, представляет собой довольно длинный текстовый документ, в который нужно вставить несколько чисел или строк;
  • нужно обеспечить возможность ручного редактирования текста документа;
  • документ должен быть сохранен в виде текстового файла (отчет Access может быть только напечатан).

В качестве примера рассмотрим документ Word, который находится в файле Contract.doc на компакт-диске. Документ представляет собой текст договора и содержит несколько полей формы, которые должны быть заполнены данными из таблицы Access. (Подробно о полях формы можно пропитать, например, в кн.: Ф. Новиков, А. Яценко. Microsoft Office 2000 в целом. «БХВ—Санкт-Петербург», 1999.) Откройте этот файл, запустив Word. На рис. 15.32 показаны начало документа и поля, которые должны быть заполнены. Кроме того, представлена стандартная панель инструментов Формы (Forms), с помощью которой эти поля были созданы.

Замечание

Чтобы вывести на экран эту панель инструментов, щелкните правой кнопкой мыши в области панелей инструментов и выберите из списка элемент Формы (Forms).

Чтобы вставить такое поле в документ, нужно:

  1. Установить курсор (точку ввода) в то место, где должно начинаться поле, и нажать кнопку Текстовое поле (Text Form Field). Поле будет вставлено в документ в точке ввода.
  2. Дважды щелкнуть на этом поле. Откроется диалоговое окно Параметры текстового поля (Text Form Field Options), в котором требуется заполнить, по крайней мере, одно поле: Закладка (Bookmark).
  3. Ввести имя закладки и нажать кнопку ОК.

Рис. 15.32. Документ Word, содержащий поля для вставки

Рассмотрим программу, которая открывает файл Contract.doc и автоматически заполняет поля договора. Такая программа может быть связана, например, с кнопкой в форме «Заказы клиентов» (Customer Orders) и обрабатывает нажатие данной кнопки. При нажатии на кнопку должен сформироваться договор с тем клиентом, который отображается в текущей записи формы. Для простоты будем считать, что номер договора будет равен номеру текущего заказа (выделенного в подчиненной форме).

В данной программе с помощью функции Getobject() создается объект Document. Если при этом Word не запущен, то одновременно создается скрытый экземпляр объекта Application Word. Если Word уже запущен, то новый документ добавляется к уже открытым документам.

Далее показаны два способа нахождения нужной закладки в документе. В первом случае используется семейство Bookmarks. Вызвав метод Select нужного элемента этого семейства, можно создать объект Selection, а в документе при этом выделяется требуемое поле.

Во втором случае к объекту Selection (вспомните, что он может означать не только выделенную область, но и точку ввода) применяется метод Goto, которому в качестве значения аргумента Name передается имя нужной закладки.

После того как все поля заполнены, договор выводится на печать. Но предварительно пользователь получает сообщение, требующее подтвердить необходимость печати. Документ печатается только если пользователь подтвердит это.

Потом документ закрывается и далее проверяется, открыты ли еще какие-либо документы (используется свойство Count семейства windows). Если других открытых документов нет, то приложение тоже закрывается. В конце процедуры освобождаются обе объектные переменные.

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

Слияние документов для почтовых рассылок

Следующий пример связан с эффектным решением еще одной типовой задачи — созданием серийных документов. Это могут быть письма с одинаковым содержанием, но адресованные разным лицам, или типовые бланки, которые должны оформляться в большом количестве. Задача сводится к тому, что должны существовать шаблон такого документа и некоторая база данных. Требуется создать необходимое количество экземпляров такого документа, вставив в каждый экземпляр существующие данные. Если источником данных является таблица Access или запрос, задача решается просто — достаточно выделить эту таблицу (запрос) в списке в окне базы данных и выполнить команду меню Сервис, Связи с Office, Слияние с MS Word (Tools, Office Links, Merge it With MS Word). Однако может оказаться, что данные для вставки в бланк или письмо определяются достаточно сложно, например представляют собой набор записей — Recordset. Тогда можно создать все бланки программно.

Сейчас мы создадим приглашение сотрудникам фирмы «Борей» на некоторое мероприятие. Мероприятие торжественное и важное, поэтому мы хотим напечатать приглашение на красивом бланке.

Рис. 15.33. Шаблон документа для слияния с данными из Access

Шаблон документа должен быть приготовлен заранее. Рассмотрим, как это можно сделать.

  1. Создайте красивый бланк, пользуясь средством Microsoft Clip Gallery или любой другой библиотекой картинок, рамочек и т. д. (Можно использовать шаблон, присутствующий на компакт-диске, — файл Приглашение.dot). Это будет основной документ для слияния.
  2. Теперь нужно установить связь с источником данных. В программе мы будем использовать в качестве источника данных временную таблицу Access, т. е. таблицу, которая существует только при работе процедуры VBA. Однако для установления связи нужно создать такую таблицу в базе данных. Создайте новую таблицу и определите следующие поля таблицы: «Фамилия», «Имя», «Обращение», «Должность». Назовите ее «СписокПриглашенных».
  3. Откройте файл Приглашение-dot и выполните команду меню Сервис, Письма и рассылки, Мастер слияния (Tools, Letters and Mailing, Mail Merge Wizard). Будет запущен Мастер слияния, который в новой версии Microsoft Word реализован в виде панели задач, расположенной слева на экране (рис. 15.34)

Рис. 15.34. Панель Мастера слияния

  1. Далее следуйте указаниям мастера. На первом шаге выберите тип документа — Письма (Letter) и нажмите кнопку Далее (Next), чтобы перейти к следующему шагу.
  2. На втором шаге выберите переключатель Текущий документ (Use The current document).
  3. На третьем шаге нужно указать источник данных. Оставьте значение поля Выбор получателей (Select Recipient) по умолчанию — Использование списка (Use an existing List) и нажмите на ссылку Обзор (Browse). Появится стандартное диалоговое окно для выбора файла.
  4. Найдите в этом окне файл «Борей.MDB» и нажмите кнопку Открыть (Open). Появится диалоговое окно со списком таблиц.
  5. Выберите в нем таблицу «СписокПриглашенных». Появится диалоговое окно, в котором будет отображено содержимое исходной таблицы (рис. 15.35). Закройте это окно.

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

  1. Теперь на экране отображается панель инструментов Слияние (Mail Merge). Установите курсор в левый верхний угол документа и нажмите кнопку Добавить поля слияния (Insert Merge Fields). Появляется одноименное диалоговое окно со списком всех полей в источнике данных. Выберите в списке поле «Обращение» и нажмите кнопку Вставить (Insert). Аналогично вставьте остальные поля (см. рис. 15.34). Поля слияния являются одним из видов полей Word и выглядят в основном документе как заключенные в угловые кавычки названия соответствующих полей источника данных.
  2. Сохраните документ в виде шаблона (файл с расширением dot) и закройте.

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

Сначала создается таблица «СписокПриглашенных» с той же структурой, которая была создана вручную. Затем все данные, отображаемые в форме, записываются в эту таблицу. Все операции с данными выполняются с использованием объектов DАО. Объект Application Word создается с помощью функции GetObject() или CreateObject () в зависимости от того, запущен ли уже Word. Для создания нового документа на основе шаблона используется метод Add семейства Documents. При слиянии основного документа с записями в таблице создается новый документ. Для этого устанавливается значение свойства Destination объекта MailMerge равным константе wdSendToNewDocument. Этот документ уже не содержит поля слияния, а является просто текстовым документом, который можно сохранить в виде файла, задав его имя. Перед сохранением в файле документ выводится на печать. После этого нужно аккуратно закрыть сначала новый документ, потом основной документ, к которому присоединен источник данных, и потом, если нужно, сам Word.

Ссылка на основную публикацию
Adblock
detector