Початкові відомості про програмування в access

В цій статті

Що таке програмування

Об'єкти (такі як форми і звіти) і елементи управління (такі як кнопки і текстові поля) мають широкий набір властивостей подій, з якими можна пов'язати макроси або процедури. Кожна властивість події пов'язано з певною подією, наприклад клацанням миші, відкриттям форми або зміною даних в текстовому полі. Події також можуть бути ініційовані факторами, які не належать до Access, наприклад системними подіями, а також макросами і процедурами, пов'язаними з іншими подіями. Теоретично можна створити дуже складну базу даних, додавши численні макроси або процедури для декількох властивостей подій в багатьох об'єктах, однак в більшості випадків потрібних результатів можна досягти за допомогою досить невеликого числа програм.

Що краще використовувати - макроси або програми VBA

Рішення про те, який засіб програмування слід використовувати - макроси або програми VBA - має прийматися з урахуванням двох факторів: безпеки і функціональності. Вимоги до безпеки обумовлені тим, що на мові VBA можна створити програму, яка здатна знизити рівень захисту даних або пошкодити файли на комп'ютері. При роботі з базою даних, створеної іншою людиною, програми VBA допустимо використовувати тільки в тому випадку, якщо база даних отримана з надійного джерела. Якщо створювана база буде використовуватися іншими особами, слід уникати застосування програмних засобів, які вимагають надання базі даних статусу надійного джерела. Загальні методики подолання таких вимог викладаються нижче в даному розділі.

Додаткові відомості про включення і відключення потенційно небезпечного вмісту см. В статті Включення і відключення макросів в документах Office (як уже згадувалося, в більшості інших програм Microsoft Office під терміном «макрос» розуміється програма на мові VBA, тому важливо не плутати цей термін з макросами Access).

Щоб забезпечити безпеку своєї бази даних, слід по можливості намагатися застосовувати макроси, вдаючись до програмування на мові VBA тільки в тих випадках, коли потрібні операції неможливо виконати з використанням макрокоманд. Більш того, рекомендується використовувати тільки такі макроси, для виконання яких не вимагається надавати базі даних статус надійної. Подібне обмеження при застосуванні макрокоманд дозволяє користувачам бути впевненими, що база даних не містить програм, здатних пошкодити дані або інші файли на комп'ютерах.

При додаванні програмних можливостей в об'єкт або елемент управління рекомендується використовувати наступні нижче варіанти в зазначеному порядку:

Макрос, який містить лише макроси, для виконання яких не вимагається надавати базі даних статус надійної.

Макрос, що містить макроси, для виконання яких потрібно надавати базі даних статус надійної.

Застосування макросів полегшує виконання багатьох завдань з програмування, таких як відкриття і закриття форм, а також виконання звітів. З їх допомогою можна просто і швидко зв'язати створені об'єкти бази даних, оскільки практично не потрібно запам'ятовувати правила синтаксису. аргумент, доступні для кожної з макрокоманд, відображаються у вікні будівника макросів.

Крім випадків, коли застосування макросів обумовлено підвищеним рівнем безпеки і зручністю в роботі, їх необхідно використовувати для виконання наступних завдань:

Призначення клавіші макрокоманди або набору макрокоманд. Для виконання цього завдання потрібно створити групу макрокоманд з ім'ям AutoKeys.

Виконання макрокоманди або послідовності макрокоманд при першому відкритті бази даних. Для виконання цього завдання потрібно створити групу макрокоманд з ім'ям AutoExec.

Примітка: Макрос AutoExec виконується раніше інших макросів або програм VBA, навіть якщо в діалоговому вікні Параметри Access вказана стартова форма і для події цієї форми OnOpen або OnLoad призначений макрос або програма VBA.

Програми на мові VBA замість макросів слід використовувати для виконання наступних завдань:

Використання вбудованих функцій або створення власних функцій. В Access включено безліч вбудованих функцій, наприклад функція IPmt. яка розраховує відсотки по платежах. Вбудовані функції дозволяють виконувати обчислення, не вдаючись до розробки складних вираз. За допомогою програм VBA користувачі можуть створювати власні функції як для вирішення завдань, що виходять за рамки можливостей вбудованих функцій, так і для заміни складних виразів. Крім того, призначені для користувача функції можна використовувати у виразах для виконання спільних операцій над декількома об'єктами.

Створення та обробка об'єктів. У більшості випадків зручніше створювати або змінювати об'єкт в режімеКонструктор для цього об'єкта. Однак в деяких ситуаціях може виникнути необхідність змінити визначення об'єкта в програмі. Засоби VBA дозволяють виконувати обробку всіх об'єктів в базі даних, а також самої бази даних.

Послідовна обробка записів. За допомогою мови VBA можна послідовно обробити набір записів, виконуючи потрібні операції з кожної із записів. Навпаки, в макросах обробка виконується щодо всього набору даних одночасно.

Виконання стандартних завдань з програмування з використанням створення кнопок

Натисніть кнопку Microsoft Office. а потім виберіть команду Відкрити.

У діалоговому вікні Відкрити виберіть і відкрийте потрібну базу даних.

В області переходів клацніть правою кнопкою миші форму, в яку потрібно додати кнопку, і виберіть команду Конструктор.

Переконайтеся, що на вкладці Конструктор у групі Елементи керування встановлений прапорець Використовувати майстер.

На вкладці Конструктор у групі Елементи керування та поля виберіть команду Кнопка.

У сітці форми клацніть місце, де потрібно розмістити кнопку.

Відкриється вікно створення кнопок.

Виберіть параметр Текст або Малюнок. щоб в кнопці відображався відповідно текст або малюнок.

Якщо потрібно, щоб з'явився текст, його можна змінити в текстовому полі, розташованому поруч з параметром Текст.

Натисніть кнопку "Далі .

Введіть зрозуміле ім'я для кнопки. Цей крок є необов'язковим, а дане ім'я не відображається в кнопці. Однак рекомендується вказувати зрозумілі імена, що спростить посилання на потрібні кнопки згодом (наприклад, під час налаштування перемикання між елементами управління на формі за допомогою клавіші). Наприклад, якщо дана кнопка закриває форму, їй можна присвоїти ім'я cmdClose або CommandClose.

Натисніть кнопку Готово.

Access помістить створену кнопку на форму.

Якщо вікно властивостей ще не відкрито, натисніть клавішу F4, щоб відкрити його.

Клацніть вкладку Подія в вікні властивостей.

В поле властивості On Click натисніть кнопку.

На вкладці Конструктор у групі Подання натисніть кнопку Подання. а потім клацніть Режим форми. Натисніть нову кнопку, щоб переконатися, що вона працює як очікувалося.

Загальне уявлення про макроси

Макрос являє собою засіб, що дозволяє автоматизувати виконання завдань і додати в форми, звіти і елементи управління додаткову функціональність. Наприклад, при додаванні кнопки в форму властивість події OnClick цієї кнопки зв'язується з макросом, що містить команди, які повинні виконуватися при кожному натисканні кнопки.

Корисно уявити макрос Access як спрощений мова програмування, де програма створюється шляхом побудови списку макрокоманда, які будуть виконані. При побудова макросу кожна з макрокоманд вибирається в списку, а потім в неї підставляються потрібні дані. Макроси дозволяють розширювати функціональність форм, звітів і елементів управління, не вдаючись до створення програми в модулі VBA. Макроси містять поднабор команд, доступних в VBA, і багато користувачів знаходять більш зручним працювати з макросами, а не з програмами VBA.

Макроси створюються з використанням будівника макросів, вікно якого показано на наступному малюнку.

Щоб відкрити будівник макросів:

На вкладці Створення в групі Інші клацніть Макрос. Якщо ця команда недоступна, натисніть кнопку зі стрілкою або під кнопкою Модуль. або під кнопкою Модуль класу. а потім клацніть Макрос.

Загальне уявлення про мову VBA

VBA являє собою мову програмування, за допомогою якого можна створювати в Access потужні програми. VBA містить сотні команд, які дозволяють виконувати набагато складніші операції, ніж допускається макросами Access.

Можливості VBA можна розширити, скориставшись елементами управління сторонніх розробників або створивши власні функції і процедури відповідно до своїх потреб. VBA також можна використовувати для інтеграції Access з іншими програмами.

Перетворення макросів в програми VBA

Перетворення макросів, пов'язаних з формою або звітом

В області переходів клацніть правою кнопкою миші форму або звіт і виберіть команду Конструктор.

На вкладці Інструменти для бази даних в групі Макрос клацніть Перетворити макроси форми або Перетворити макроси звіту.

Якщо для форми або звіту існує модуль класу, Access створить такий модуль і додасть в нього окрему процедуру для кожного макросу, який був пов'язаний з формою або звітом. Крім того, Access змінить властивості події для форми або звіту таким чином, що надалі замість макросів будуть виконуватися нові процедури VBA.

Якщо форма або звіт відкриті в режимі конструктора, а вікно властивостей не відображається, натисніть клавішу F4, щоб відкрити його.

Перетворення глобальних макросів

В області переходів клацніть ім'я макросу, який потрібно перетворити.

На вкладці Інструменти для бази даних в групі Макрос клацніть Перетворити макроси.

У діалоговому вікні Перетворення макросу вкажіть потрібні параметри, а потім натисніть кнопку Перетворити.

Розгорніть дерево під вузлом з ім'ям бази даних, в якій ведеться робота.

У вузлі Модулі двічі клацніть модуль Перетворений макрос- ім'я макросу.

Прикріплення функції VBA до властивості події

При перетворенні глобального макросу в VBA отримана програма VBA поміщається в стандартний модуль. На відміну від модуля класу, стандартний модуль не є частиною форми або звіту. Швидше за все, буде потрібно зв'язати цю функцію з властивістю події форми, звіту або елемента управління, щоб виконати її в потрібний час. Для цього можна скопіювати програму VBA в модуль класу, а потім зв'язати її з властивістю події або створити спеціальний виклик функції, що знаходиться в стандартному модулі, з властивості події з використанням наступної нижче процедури.

В області переходів клацніть правою кнопкою миші форму або звіт, які потрібно зв'язати з функцією, і виберіть команду Конструктор.

Клацніть елемент керування або розділ, які потрібно зв'язати з функцією.

Якщо вікно властивостей ще не відкрито, натисніть клавішу F4, щоб відкрити його.

На вкладці Подія в вікні властивостей клацніть поле властивості події, яке потрібно зв'язати з функцією.

В поле властивості введіть знак рівності (=), а за ним ім'я функції: = МойМакрос (). Переконайтеся, що не забули поставити дужки.

Збережіть форму або звіт, натиснувши на панелі швидкого доступу кнопку Зберегти.

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

Це основні кроки по додаванню програми VBA в базу даних. У даній статті наводяться тільки відомості початкового рівня. Доступна велика кількість довідників та електронних ресурсів, за допомогою яких можна вдосконалити свої навички в області програмування.

Інформацію стосовно користування з довідковою системою

Відкриється вікно довідки.

При побудові макросу або процедури VBA можна також клацнути макрокоманду, ключове слово або ім'я вбудованої функції, а потім натиснути клавішу F1. У більшості випадків в Access буде відображена довідка по виділеному елементу.

Відкривши вікно довідки, скористайтеся кнопками переходу на панелі інструментів, щоб переміщатися по сторінках.

Перемикання в довідку розробника Access

Клацніть стрілку списку поруч із кнопкою Пошук.

У вікні довідки буде відображений список доступних тем довідки.

Щоб переключитися назад в довідку Access, натисніть кнопку зі стрілкою списку поруч із кнопкою Пошук. а потім клацніть Довідка Access в групі Вміст на веб-сайті Office Online або Вміст на даному комп'ютері.

Щоб отримати додаткові відомості про роботу з локальної або мережевої довідкою, клацніть меню «Стан підключення» в лівому нижньому кутку вікна довідки і виберіть команду Пояснення параметрів.

Схожі статті