Створення програми vba в access (рішення)

До пункту 1 - створення бази даних і необхідних таблиць:

  • Запустіть Microsoft Access і в меню Файл виберіть Створити. У вікні Створення файлу виберіть Нова база даних. Збережіть створену базу даних. У нашому прикладі база даних буде знаходитися в кореневому каталозі диска C: і називатися Dogovors.mdb.

У вікні бази даних перейдіть на вкладку Таблиці і клацніть два рази мишею по рядку Створення таблиці в режимі конструктора.

У створеній таблиці визначте три стовпці (див. Рис. 12.9).

Збережіть цю таблицю як Шаблони і закрийте вікно конструктора.

У вікні бази даних на вкладці Таблиці ще раз клацніть по рядку Створення таблиці в режимі конструктора. Набір стовпців для нової таблиці повинен виглядати так:

Текстовий (первинний ключ)

Збережіть цю таблицю з ім'ям Договори і закрийте вікно конструктора таблиці.

На вкладці Таблиці вікна бази даних клацніть два рази мишею по створеній таблиці Шаблони. щоб відкрити її в режимі введення даних. У перший рядок цієї таблиці в стовпець Опис введіть "Шаблон договору", а потім виділіть осередок в стовпці Шаблон і в меню Вставка виберіть Об'єкт. У вікні, переставте виберіть пункт Створити з файлу. потім натисніть на кнопку Огляд і виберіть шаблон C: \ DogovorTemplate. dot, який ви створили під час роботи 10.1. Потім натисніть на кнопку OK. щоб помістити шаблон всередину бази даних.

Клацніть по комірці для поміщеного вами шаблону, щоб переконатися, що дійсно поміщений в базу даних. Переконайтеся, що в стовпці НомерШаблона для першого рядка автоматично згенеровано значення 1, і закрийте цю таблицю.

До пункту 2 - створення форми Access і програмного коду для формування файлу договору:

  • У вікні бази даних перейдіть на вкладку Форми і клацніть два рази мишею по рядку Створення форми за допомогою майстра. Відкриється вікно майстра створення форм.

На першому екрані майстра в списку Таблиці і Запити виберіть Таблиця: Договори. потім помістіть в список Вибрані поля все поля з цієї таблиці і натисніть на кнопку Далі.

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

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

На останньому екрані у вікні визначення імені форми введіть ім'я форми Форма для занесення договорів. переставте перемикач в положення Змінити макет форми і натисніть на кнопку Готово. Форма буде відкрита в режимі конструктора.

Проведіть розстановку і дооформлення створених елементів на формі засобами конструктора на ваш смак.

Додайте за допомогою Toolbox на вільну частину форми елемент управління Приєднана рамка об'єкта. Видаліть автоматично згенерувала разом з ним напис, а потім відкрийте властивості цього об'єкта. Для властивості Ім'я налаштуйте значення OLEObject1, а для властивості Висновок на екран встановіть значення Немає.

Переконайтеся, що для елементів управління текстових полів залишені імена за замовчуванням (НомерДоговора. Місто. Дата і т.п.). В результаті форма у вікні конструктора повинна виглядати, наприклад, так, як представлено на рис. 12.10

Створення програми vba в access (рішення)

Мал. 12.10 Форма у вікні конструктора

Клацніть правою кнопкою миші по кнопці Скасування і в контекстному меню виберіть Обробка подій. У вікні Будівник виберіть Програми та натисніть OK. Введіть наступний код для події Click цієї кнопки:

Private Sub cmdCancel_Click ()

Так само відкрийте код для події Click для кнопки Сформувати договір і введіть наступний код:

Private Sub cmdDog_Click ()

Dim dDate As Date

Dim НомерДоговора, Місто, Організація, Представник, Посада, ЮрОснованіе As String

'Надаємо значення змінним за допомогою елементів управління форми

If Form.Controls ( "Дата"). Value <> "" Then _

If Form.Controls ( "НомерДоговора"). Value <> "" Then _

If Form.Controls ( "Місто"). Value <> "" Then _

If Form.Controls ( "Організація"). Value <> "" Then _

If Form.Controls ( "Представник"). Value <> "" Then _

If Form.Controls ( "Посада"). Value <> "" Then _

If Form.Controls ( "ЮрОснованіе"). Value <> "" Then _

ЮрОснованіе = Form. Controls ( "ЮрОснованіе"). Value

'Отримуємо шаблон - тепер з бази даних

Dim oBOF As BoundObjectFrame

Set oBOF = Form.Controls ( "OLEObject1")

oBOF = DLookup ( "[Шаблон]", "Шаблони", "[НомерШаблона] = 1")

'Отримуємо посилання на запущений нами Word і відкритий в ньому документ

Dim oWord As Word.Application

Set oWord = GetObject (, "Word.Application")

Dim oDoc As Word.Document

Set oDoc = oWord.ActiveDocument

Запустіть створений вами код на виконання і переконайтеся в його працездатності.

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

  • У вікні бази даних Access в меню Сервіс виберіть Параметри запуску.

У вікні Параметри запуску зніміть всі прапорці, а в списку Висновок форми / сторінки виберіть Форма для занесення договорів (див. Рис. 12.11).

Створення програми vba в access (рішення)

Мал. 12.11 Налаштування параметрів програми у стартовому вікні Параметри запуску

Натисніть на кнопку OK. Потім закрийте і знову відкрийте створену вами базу даних. Переконайтеся, що всі об'єкти бази даних, крім форми для занесення договорів, заховані від користувача.

База даних відкриється в звичайному режимі, якщо при її натисканні тримати кнопку .

Схожі статті