Загальні відомості про програмування у програмі Access

Створюючи нову базу даних, ви зазвичай спочатку створюєте кілька об’єктів бази даних, наприклад таблиці, форми та звіти. Згодом виникає потреба у використанні програмування для автоматизації певних процесів і створення зв’язку між об’єктами бази даних. Ця стаття знайомить вас із засобами програмування у програмі Access 2010.

Примітка : До веб-баз даних можна додавати код Visual Basic for Applications (VBA), проте його не можна виконувати під час роботи з базою даних у браузері. Якщо веб-база даних містить код VBA, для виконання коду її потрібно відкрити у програмі Access. Для виконання завдань програмування у веб-базі даних краще використовувати макроси Access.

Додаткові відомості про веб-бази даних див. у статті Створення бази даних для спільного використання в Інтернеті.

У цій статті

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

Що слід використовувати: макроси чи код VBA?

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

Знайомство з макросами

Знайомство з кодом VBA

Перетворення макросів на код VBA

Відомості про використання довідкової системи

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

У програмі Access програмування – це процес додавання функціональності до бази даних за допомогою макросів Access або коду Visual Basic for Applications (VBA). Припустімо, що ви створили форму та звіт і потрібно додати кнопку до форми таким чином, щоб під час її натискання відкривався звіт. У такому випадку програмування – це процес створення макросу або процедури VBA і настроювання властивості події кнопки Після клацання таким чином, щоб натискання кнопки призводило до запуску макросу або процедури. Для виконання простої операції, такої як відкриття звіту, можна скористатися майстром кнопок або вимкнути його та виконати програмування власноруч.

Примітка : У багатьох програмах Microsoft Office використовується термін «макроси», коли мова йде про код VBA. Для користувачів програми Access це може здатися незрозумілим, оскільки у програмі Access термін «макрос» означає іменований набір дій макросів, який можна зібрати за допомогою конструктора макросів. Дії макросів Access представляють лише набір команд, доступних у VBA. Конструктор макросів пропонує більш структурований інтерфейс, ніж редактор Visual Basic, що дає змогу додавати засоби програмування до елементів керування та об’єктів без знання коду VBA. Слід пам’ятати, що у статтях довідки Access макроси Access називаються макросами, а код VBA називається VBA, кодом, функцією або процедурою. Код VBA міститься в модулях класу (які входять до складу окремих форм або звітів і зазвичай містять код лише для цих об’єктів) і в модулях (які не пов’язані з певними об’єктами та зазвичай містять «глобальний» код, який можна використовувати по всій базі даних).

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

Вгорі сторінки

Що слід використовувати: макроси чи код VBA?

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

Веб-застосунки Access.    Веб-застосунки Access – це нова функція програми Access 2010, за допомогою якої можна опублікувати застосунки на сервері Microsoft SharePoint зі службами Access Services. Це дає змогу іншим користувачам використовувати вашу базу даних через стандартний браузер, тому не обов’язково, щоб програму Access було інстальовано на їхніх комп’ютерах. Проте, оскільки код VBA несумісний із засобом веб-публікації, якщо ви плануєте опублікувати застосунок як веб-застосунок Access, для виконання завдань програмування слід використовувати лише макроси.

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

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

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

Відомості про макроси

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

Макроси дають змогу легко обробляти багато завдань програмування, такі як відкриття та закриття форм і запуск звітів. Ви можете швидко та просто встановити зв’язок між створеними об’єктами баз даних (формами, звітами тощо), оскільки не потрібно пам’ятати багато елементів синтаксису. Аргументи для кожної дії відображаються в конструкторі макросів.

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

  • Призначити дію або набір дій для клавіші. Це вимагає створення групи макросів AutoKeys.

  • Виконати дію або послідовність дій під час першого відкриття бази даних. Це вимагає створення макросу AutoExec.

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

Для отримання додаткових відомостей про створення макросів див. розділ Знайомство з макросами.

Відомості про VBA

Засоби програмування VBA слід використовувати замість макросів, якщо потрібно виконати будь-які з наведених нижче дій.

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

  • Створення об’єктів або керування ними.    Здебільшого найлегше створювати та змінювати об'єкт у режимі конструктора цього об'єкта. Проте в деяких ситуаціях потрібно керувати визначенням об'єкта в коді. Використовуючи VBA, можна керувати всіма об'єктами в базі даних, як і самою базою.

  • Виконання дій на рівні системи.    Ви можете виконати дію Запуститизастосунок у макросі для запуску іншої програми (наприклад, Microsoft Excel) із програми Access, але використовувати макрос для виконання інших дій поза межами програми Access не можна. Використовуючи VBA, можна перевірити, чи існує файл на комп’ютері, скористатись автоматизацією або динамічним обміном даними (DDE) для обміну даними з іншими програмами Microsoft Windows, наприклад Excel, і функціями виклику в бібліотеках динамічного компонування (DLL) Windows.

  • Керування записами по одному.    VBA можна використовувати для проходження набору записів по одному запису та виконання операцій із кожним записом. Макроси, на відміну від VBA, працюють з усім набором записів одночасно.

Вгорі сторінки

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

Якщо ви додаєте кнопку до форми, майстер кнопок може допомогти почати роботу із програмуванням. Майстер допомагає створювати кнопки, які виконують певні завдання. У файлі Access 2010 (ACCDB) майстер створює макрос, вбудований у властивість Після клацання кнопки. У файлі MDB або ADP майстер створює код VBA, тому що вбудовані макроси недоступні в цих форматах файлів. У будь-якому випадку потім можна змінити або доробити макрос чи код VBA відповідно до своїх потреб.

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

  2. На вкладці Конструктор клацніть стрілку вниз, щоб відобразити колекцію Елементи керування, а потім переконайтеся, що вибрано параметр Застосувати майстри елементів керування.

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

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

    Запускається майстер кнопок.

  5. На першій сторінці майстра клацніть кожну категорію у списку Категорії, щоб побачити, які дії майстер може запрограмувати для кнопки. У списку Дії виберіть потрібну дію, а потім натисніть кнопку Далі.

  6. Клацніть Текст або Рисунок залежно від того, що потрібно відображати на кнопці – текст або рисунок.

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

    • Якщо потрібно, щоб відображався рисунок, майстер пропонує рисунок у списку. Якщо потрібно вибрати інший рисунок, установіть прапорець Показати всі зображення, щоб відобразити список усіх рисунків кнопок, які пропонуються у програмі Access 2010, або натисніть кнопку Огляд, щоб вибрати рисунок, який зберігається в іншому розташуванні.

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

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

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

    Програма Access розташовує кнопку у формі.

  9. Якщо потрібно переглянути, що «запрограмував» майстер, виконайте ці необов’язкові кроки.

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

    2. Відкрийте вкладку Подія у вікні властивостей.

    3. У полі властивості Після клацання натисніть кнопку Побудувати Зображення кнопки .

      Програма Access запустить конструктор макросів і відобразить макрос, створений майстром. За потреби можна відредагувати макрос (для отримання додаткових відомостей про редагування макросів див. розділ Знайомство з макросами). Після завершення цих дій на вкладці Конструктор у групі Закрити натисніть кнопку Закрити, щоб закрити конструктор макросів. Якщо відобразиться запит про збереження внесених змін і оновлення властивості, натисніть кнопку Так, щоб зберегти зміни, або Ні, щоб скасувати їх.

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

Вгорі сторінки

Знайомство з макросами

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

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

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

Конструктор макросів Access 2010

Для відображення конструктора макросів виконайте наведені нижче дії.

  • На вкладці Створити у групі Макроси та код натисніть кнопку Макрос.

Вгорі сторінки

Знайомство з кодом VBA

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

Примітка : До веб-баз даних можна додавати код Visual Basic for Applications (VBA), проте його не можна виконувати під час роботи з базою даних у браузері. Якщо веб-база даних містить код VBA, для виконання коду її потрібно відкрити у програмі Access. Для виконання завдань програмування у веб-базі даних краще використовувати макроси Access.

Додаткові відомості про веб-бази даних див. у статті Створення бази даних для спільного використання в Інтернеті.

Найшвидший спосіб почати роботу з засобами програмування VBA – спочатку створити макрос Access, а потім перетворити його на код VBA. Інструкції щодо цього містяться в розділі Перетворення макросів на код VBA. Ця функція створює новий модуль VBA, який виконує відповідні операції в макросі. Вона також відкриває редактор Visual Basic для змінення процедури. Працюючи в редакторі Visual Basic, можна клацнути ключові слова та натиснути клавішу F1, щоб запустити довідку Access для розробників і дізнатися більше про кожне ключове слово. Потім можна переглянути довідку для розробників і знайти нові команди, які допоможуть у виконанні потрібних завдань програмування.

Вгорі сторінки

Перетворення макросів на код VBA

Програму Access 2010 можна використовувати для автоматичного перетворення макросів на модулі VBA або модулі класу. Ви можете перетворити макроси, підключені до форми або звіту, незалежно від того, чи існують вони як окремі об’єкти або як вбудовані макроси. Також можна перетворити глобальні макроси, не підключені до певної форми або звіту.

Примітка : До веб-баз даних можна додавати код Visual Basic for Applications (VBA), проте його не можна виконувати під час роботи з базою даних у браузері. Якщо веб-база даних містить код VBA, для виконання коду її потрібно відкрити у програмі Access. Для виконання завдань програмування у веб-базі даних краще використовувати макроси Access.

Додаткові відомості про веб-бази даних див. у статті Створення бази даних для спільного використання в Інтернеті.

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

Цей процес перетворює на VBA будь-які макроси, які посилаються на (або вбудовано у) форму або звіт (або будь-який із їхніх елементів керування) і додають код VBA до модуля класу форми або звіту. Модуль класу стає частиною форми чи звіту та переміщується під час їх переміщення або копіювання.

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

  2. На вкладці Конструктор у групі Знаряддя натисніть кнопку Перетворити макроси форми на код Visual Basic або Перетворити макроси звіту на код Visual Basic.

  3. У діалоговому вікні Перетворення макросів форми або Перетворення макросів звіту виберіть, чи додавати код оброблення помилок до створених функцій. Також у разі наявності будь-яких приміток у макросах виберіть, чи додавати їх у функції як примітки. Для продовження натисніть кнопку Перетворити.

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

  4. Відображення та редагування коду VBA.

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

    2. На вкладці Подія вікна властивостей клацніть у будь-якому полі властивості, у якому відображається текст [Процедура події], а потім натисніть кнопку побудови Зображення кнопки . Щоб переглянути властивості події для певного елемента керування, виберіть елемент керування, клацнувши його. Щоб переглянути властивості події для всієї форми або звіту, виберіть пункт Форма або Звіт із розкривного списку у верхній частині вікна властивостей.

      Програма Access відкриває редактор Visual Basic і відображає процедуру події у своєму модулі класу. Прокручуйте сторінку вгору або вниз, щоб переглянути всі інші процедури в тому самому модулі класу.

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

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

  2. На вкладці Конструктор у групі Знаряддя натисніть кнопку Перетворити макроси на Visual Basic.

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

    Програма Access перетворює макрос і відкриває редактор Visual Basic.

  4. Відображення та редагування коду VBA.

    1. Якщо вікно проекту не відображається, у редакторі Visual Basic у меню View (Вигляд) виберіть пункт Project Explorer (Провідник проектів).

    2. Розгорніть дерево під ім’ям бази даних, у якій ви працюєте.

    3. У групі Modules клацніть двічі модуль Converted Macro-ім’я макросу (Перетворений макрос- ім’я макросу).

      Редактор Visual Basic відкриває модуль.

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

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

  1. У редакторі Visual Basic запишіть ім’я функції. Наприклад, якщо ви перетворили макрос MyMacro, ім’я функції має бути MyMacro().

  2. Закрийте редактор Visual Basic.

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

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

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

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

  7. У полі властивості введіть знак рівності (=), а після нього введіть ім’я функції,  наприклад =MyMacro(). Переконайтеся, що додано дужки.

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

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

Тепер вам відомі основні дії для додавання коду VBA до бази даних. У цій статті описано лише основи початку роботи; є багато відмінних довідників і онлайнових ресурсів, які можуть допомогти у формуванні навиків програмування.

Вгорі сторінки

Відомості про використання довідкової системи

Програма Access 2010 пропонує багато способів отримання довідки із програмування. Довідку можна отримати будь-коли, натиснувши кнопку Довідка у верхньому правому куті вікна програми Access.

Кнопка «Довідка»

Відобразиться вікно довідки Access.

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

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

Панелі інструментів засобу перегляду довідки

Наприклад, натисніть кнопку Домашня сторінка, щоб переглянути зміст, а потім натисніть кнопку Назад, Вперед, Зупинити або Оновити для переходу між розділами або оновлення розділу. Також можна виконати пошук певної інформації в системі довідки, ввівши слова для пошуку в полі під панеллю інструментів, а потім натиснувши клавішу ENTER або клацнувши Пошук.

Шукаючи інформацію про програмування, крім довідки Access доцільно переглянути довідку для розробників.

Перехід до довідки Access для розробників

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

    Кнопка «Пошук» у вікні довідки

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

    Список пошуку в довідці

  2. За наявності підключення до Інтернету в розділі Вміст із веб-сайту Office.com виберіть пункт Довідник розробника. Рекомендовано використовувати цей метод, оскільки вміст веб-сайту Office.com завжди найновіший. Якщо підключення до Інтернету відсутнє або якщо системний адміністратор вимкнув у вікні довідки функцію пошуку в Інтернеті, довідку для розробників можна переглянути, вибравши пункт Довідник розробника в розділі Вміст із поточного комп’ютера.

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

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

Для отримання додаткових відомостей про використання автономної довідки або довідки в Інтернеті відкрийте меню «Стан підключення» в нижньому правому куті вікна довідки, а потім виберіть пункт Роз'яснення параметрів.

Повідомлення про стан підключення в засобі перегляду довідки

Вгорі сторінки

Отримуйте нові функції раніше за інших
Приєднайтеся до оцінювачів Office

Ця інформація корисна?

Дякуємо за ваш відгук!

Дякуємо за відгук! Схоже, вам може стати в нагоді допомога одного з наших спеціалістів служби підтримки Office, з яким ми вас можемо з’єднати.

×