Scientific journal PHYSICAL AND MATHEMATICAL EDUCATION
Has been issued since 2013.
Науковий журнал Ф1ЗИКО-МАТЕМАТИЧНА ОСВ1ТА
Видаеться з 2013.
http://fmo-journal.fizmatsspu.sumy.ua/
Шамшина Н.В. Вивчення макроав даних в MICROSOFT ACCESS // Ф'зико-математична осв'та : науковий журнал. -2017. - Випуск 2(12). - С. 165-169.
Shamshina Natalia. The Study Of Data Macros In Microsoft Access // Physical and Mathematical Education : scientific journal. -2017. - Issue 2(12). - Р. 165-169.
УДК 004.65+372.8
Н.В. Шамшина
Сумський державний педагог1чний ушверситет '¡мен'! А.С. Макаренка, УкраУна
ВИВЧЕННЯ МАКРОС1В ДАНИХ В MICROSOFT ACCESS
Анота^я. Стаття присвячена макросам даних в останн1х вераях ACCESS, яка е одн1ею з найпопуляршших систем управл1ння базами даних. Автор розглядае поняття макроав даних, Ух застосовування для забезпечення ц1л1сност1 даних i реал1зац1У складноУ б1знес-лог1ки при моделюванн конкретно'/' предметноУ областi. Макроси даних - нова функ^я ACCESS 2010, це нова можливiсть вбудовувати лог'жу в поди, що в'>дбуваються в таблицях за додавання, оновлення та видалення даних. Автор описуе типи i пiдтипи макроав даних, Ух призначення, правила створення i застосування, детально анал'зуе Ух особливостi. Створення макроав даних для окремих випадшв пролюстровано прикладами, в яких автор пояснюе призначення та правила використання окремих блоюв опера^й Конструктора макроав: для орган'ваци циклу, розгалуження, для пошуку запису та iн. Автор доступно i детально пояснюе переваги та необх'дшсть використання макроав даних, Ух в'1дм'1нност'1 в'д макроав iнтерфейсу та iзольованих макроав. Матерiал статтi мстить роз'яснення та методичн рекомендацп для вивчення теми «Системи Управлiння Базами Даних» з дисциплiни lнформацiйнi технологи.
Ключовi слова: Access, макроси даних, обмеження цiлiсностi, б'1знес-лог'1ка.
Постановка проблеми. В наш час, незважаючи на ¡стотш змши навчальноТ програми, вивченню систем управлшня базами даних в Kypci шформатики придшяеться штрохи не менше уваги, шж рашше. Це пояснюеться необхщшстю освоення навичок роботи в сучасних автоматизованих системах облту i контролю даних. Одшею з найбтьш доступних i зручних для вивчення в шктьному кура е Система Управлшня Базами Даних (СУБД) Access з пакету Microsoft Office. Розробка новоТ верси програми Access, ТТ вдосконалення призвело до нових можливостей для створення макроав piзних видiв, у тому чи^ i макроав даних, що вщповщають за лопку збереження даних. Макроси даних е необхщними для pеалiзацiТ бiзнеc-логiки при моделюванш конкретноТ предметноТ област и створенш ефективних сучасних баз даних.
Аналiз актуальних дослщжень. Аналiз науково-методичних джерел щодо методичних рекомендацш при вивченш макроав даних в СУБД Access, дозволяе стверджувати, що методика вивчення макроав даних на сьогодшшнш день в УкраТш практично не розроблена. Найбтьш доступним джерелом шформацп е довщка з сайту розробника програмного продукту [1-3], але ТТ недостатньо для розумшня початшвця щоб опанувати створення макроав даних, до того ж довщка, як правило, е автоматичним перекладом англомовного джерела. Бшьша ктьмсть посилань, при пошуку по мережу - росшськомовш. Придтяють увагу вивченню макроав даних в СУБД Access викладачi економiчних вищих навчальних закладiв (Бекаревич Ю., Пушкина Н., Самоучитель Access 2013, електрона книга-комерцшний проект). Велика кшьшсть фоpумiв для зацтавлених, де дискутують про помилки при створення макроав даних, надають поради. Все це пщтверджуе актуальнicть даного питання для сучасноТ оcвiти.
Мета статтi - описати piзнi типи макpоciв даних в СУБД Access, Тх призначення i правила створення, надати роз'яснення та методичш рекомендаци для вивчення теми «Системи Управлшня Базами Даних» з дисциплши 1нформацшш технологи.
ISSN 2413-158X (online) ISSN 2413-1571 (print)
Виклад основного матерюлу. Одним з iстотних недолiкiв попереднiх верст СУБД Access була вГдсутшсть процедурно! пiдтримки обмежень цiлiсностi i неможливГсть створення i використання тригерiв. Тригер - це SQL-оператор, який активiзуeться при виконаннi операцiй з об'ектами бази даних. Тригери реалiзують бiзнес-логiку змiни даних i призначенi для пщтримки цiлiсностi бази даних. Цшсшсть бази даних без реалГзацп лопки е лише формальною властивiстю, урахуванням стандартного ушверсального набору обмежень цшкносп, тодi як бiзнес-логiка враховуе вс зaлежностi поведiнки об'ектiв предметноУ обласл, яку система моделюе [5].
Макроси даних, ям вперше з'явилися в Microsoft Access 2010, дозволяють вбудовувати бiзнес-логiку в поди, що вГдбуваються в таблицях за додавання, оновлення та видалення даних. Можна сказати, що макроси даних подiбнi до тригерiв i виконують тi ж функци, що е необхiдними для лопчноУ роботи з даними.
Будь який макрос виконуе дм, тобто записану послщовшсть команд призначених для автоматизацп роботи з базою даних. Макроси даних автоматизують операци, ям необхiднi при змiнi змiсту бази даних, ц операци виконуються при здшсненш транзакций
Макроси даних дозволяють реaлiзовувaти нaступнi сценари:
- перевiркa значення поля, перед тим як дозволити додавання шшого запису;
- перевiркa точностi даних у таблиц^
- збереження Гстори змiн запису;
- створення повщомлення електронноУ пошти при змiнi значення поля.
В Access кнують також iншi типи макроав: iзольовaнi макроси, макроси користувальницького штерфейсу. lзольовaнi макроси i макроси користувальницького штерфейсу пов'язaнi з рiзними об'ектами iнтерфейсу, такими як кнопки, текстовГ поля, облaстi даних форми i звГту. Цим вони вiдрiзняються вiд мaкросiв даних, якi зв'язуються з таблицями [4].
Головна особливiсть мaкросiв даних у тому, що вони дозволяють прив'язувати лопку до запиав в конкретнiй тaблицi, це призводить до наступних переваг Ух використання:
- всi форми i запити для додавання, оновлення та видалення даних в таблиц не потребують окремо прописаних макроав, мльмсть об'еклв бази даних скорочуеться;
- макроси даних спрощують програмування забезпечення цшкносп даних, так як немае необхщносл передбачати ва можливi вaрiaнти здiйснення оперaцiй над даними, достатньо передбачити Ух безпосередньо в базовш таблиц^
- за допомогою макроав даних можна надшно забезпечити цткшсть даних.
Розглянемо, наприклад, ситуaцiю, коли iзольовaний макрос вiдповiдaе за операци при додaвaннi запису и спрацьовуе у формГ, що прив'язана до таблиц без макросу даних. Якщо користувач мае права доступу до таблиць або може виконувати запити, вш зможе обшти форму, порушивши таким чином лопку. При вбудовуванш лопки безпосередньо в таблицю операци виконуються, навГть якщо користувач вносить змши без використання форми [2].
Макроси даних не вГдображаються в роздтГ Макросы в облaстi переходiв робочого вiкнa бази даних. Керування макросами даних здшснюеться за допомогою вкладки Работа с таблицами /Таблица тд час перегляду таблиц у режимi тaблицi або за допомогою вкладки Работа с таблицами при модифтаци таблиц в режимi Конструктора.
1снуе два основнi типи макроав даних:
1) кероваш подiями макроси даних, що викликаються подiями в таблицях, прив'язують лопку до запиав;
2) iменовaнi макроси даних, що запускаються шляхом виклику по iменi, прив'язують лопку до таблицк
Розглянемо перший тип макроав даних. Подiя в таблиц - це кожна операцГя додавання, редагування або видалення запису. Можна запрограмувати запуск макросу даних тсля будь-якоУ з цих трьох подш або безпосередньо перед подiею видалення або змiни.
Розрiзняють п'ять пiдтипiв керованих подiями макроав даних: тсля вставки, тсля оновлення, тсля видалення, до видалення, до змши. Можливi ди, якi можна здшснити з допомогою макросу даних для рiзних подгй в таблиц описaнi нижче (табл. 1).
Як правило, краще викликати подгю До изменения для змши даних i виконання додаткового коду, шж дозволити оновити запис, а вже потГм внести додaтковi змши в ту ж запис, яка ттьки що була збережена в таблицю. Макрос даних После обновления краще використовувати для шдведення тдсуммв i збереження тдсумкових значень в шшГ таблиц [3].
Для створення макросу даних необхщно вГдкрити таблицю бази даних в режимi перегляду або Конструктора. На вкладках вГдображаються кнопки створення макроав даних, ям будуть виконуватися при наступних подгях: После вставки, После обновления, После удаления, До удаления, До изменения, а також кнопка Создать именованный макрос.
Щоб створити, наприклад, макрос даних, що виконуеться до видалення запису з таблицу виберпъ подгю До удаления. При ви6орг вщповщноУ кнопки для створення макросу даних звертайте увагу на текст знизу - тдказку про призначення даного виду макроав. ПГсля натискання кнопки вщкриеться Конструктор
макроав. Якщо макрос для ща поди вже створений, Конструктор макроав вГдкриеться для редагування макросу. Кнопка зГ створеним макросом даних на вкладцГ вГдрГзняеться кольором.
Таблиця 1
_Макроси даних, що керован подiями_
Поди МожливГ ди
BeforeChange До изменения До змши Видача повГдомлення про помилку i блокування змш ПорГвняння старого значення з новим i вщкриття шшоУ форми
BeforeDelete До удаления До видалення Видача повГдомлення про помилку i видалення Виклик форми для змши порядку слщування елементГв
AfterUpdate AfterInsert AfterDelete После обновления После вставки После удаления ПГсля оновлення ПГсля вставки ПГсля видалення Створення повГдомлення електронноУ пошти Обхщ у циклГ набору записГв i оновлення Ух стану
Макроси даних впроваджуються в таблицю. Для кожноУ таблицГ може бути створено по одному макросу даних на кожну з представлених на вкладцГ подГй.
До складу Access 2010-2016 входить новий Конструктор для створення макроав. Кожен макрос складаеться з одша або ктькох команд, в залежносп вщ ситуаци деякГ команди можуть бути недоступш. Список макрокоманд для макросу даних вГдрГзняеться вщ пропонованого для шших макросГв бази даних. В роздш каталогу макрокоманд В этой базе данных вГдображаються Гменоваш макроси даних, створеш для таблиць.
Розглянемо другий тип макросГв даних, який вГдрГзняеться бтьшою ушверсальшстю. 1менованГ або «автономш» макроси даних пов'язуються з певною таблицею, але не з подГею. 1х може бути дектька, з рГзними Гменами для одшеУ таблицГ. Застосовують ГменованГ макроси для спшьного використання макрокоманд в макросах даних i кодГ подГй.
Перевага Гменованого макросу у використаннГ параметрГв. За допомогою параметрГв в Гменований макрос передаються значення, якГ полм можна задГяти в умовних операторах або в розрахунках. КрГм того, за допомогою параметрГв Гз звичайних макросГв в Гменований макрос даних передаються посилання на об'екти. Параметри також забезпечують додаткову гнучкГсть, оскшьки дозволяють повторно використовувати один i той же макрос без змш [3].
Для створення параметра в Гменованому макрос даних в режимГ Конструктора макросГв використовують кнопку Создать параметр. У полГ Имя вказують ушкальне Гм'я параметра. Це Гм'я потрГбно для вказГвки параметра у виразах. Рекомендуеться також ввести текст опису параметра в полГ Описание, при використаннГ параметра текст буде вщображатися у виглядГ пщказки.
При збереженш створеного Гменованого макросу вказують його Гм'я, за замовчуванням: МакросДанных1. У виразах з використанням Гменованого макросу даних вказуеться Гм'я таблицГ, до якоУ вш прив'язаний: Табли ца1.МакросДанных1.
По Гмеш Гменований макрос можна викликати з будь-якого шшого макросу даних або звичайного макросу. Для цього необхщно використати макрокоманду ЗапускМакросаДанных. Для кожного зГ створених параметрГв в макрокомандГ передбачено поле, в якому можна вказати необхщне значення.
Створеш макроси даних можна редагувати, видаляти, для Гменованого макросу можна змшити Гм'я. Кероваш подГями макроси даних видаляють при роботГ з таблицею в режимГ Конструктора.
У макросах даних можна використовувати рГзш структуры елементи програмування, наприклад, розгалуження та цикли. Для цього в режимГ Конструктора макросГв вибирають наступш блоки команд:
- для вибору одного з дектькох можливих варГантГв дш в залежносп вщ зазначених умов використовують блок управлшня Если...То...Иначе;
- для оргашзаци циклГв при перевГрцГ запиав у таблицГ використовують блок даних ДляКаждойЗаписи;
- якщо необхГдно виконати операци для одного запису використовують блок даних НайтиЗапись;
- для змши значень поля використовують блок даних ИзменитьЗапись, а в ньому ЗадатьПоле;
- для створення запису в резервно! таблицГ використовують блок даних СоздатьЗапись, а в ньому ЗадатьПоле.
При роботГ з блоками даних використовують Псевдоним для позначення поточноУ записи в таблицГ, псевдошм задають як внутршнш параметр макрокоманды.
Конструювання макросГв даних з використанням бломв команд схоже на структурне програмування i дае можливГсть отримати та закртити корисш навички, усвщомити i засвоУти сутшсть елементГв структурного програмування.
Розглянемо приклад створення макросу з використанням розгалуження. Макрос враховуе кшьмсть TOBapiB на складi: якщо кiлькiсть товару опускаеться нижче певного рiвня, необхiдно повiдомити персонал про те, що товар закiнчуеться, якщо ще нижче - про необхщшсть замовлення ново'| партГГ товару. У таблиц облiку товарiв на складi «склад» створимо макрос даних, що спрацьовуе для поди До изменения. Для того щоб здшснити перевiрку значень використовуемо оператор Если...То...Иначе, який буде виконуватися при кожному внесены змш у таблицю. При значеннях в поле ктькосл товару менше 100 одиниць, [кiлькiсть] < 100, у полi [стан] задаеться значення «ЗАМОВИТИ!». При значеннях вiд 100 до 500, [ктьшсть]>=100 And [кшьшсть]<=500, задаеться значення иЗакiнчуеться!и. У вах iнших випадках задаеться «пропуск». Макрос даних в режимi Конструктора представлено на рис. 1.
Слщ зазначити, що подiбну логiку також можна додати до таблицу якщо значення поля «стан» задати як обчислюване з використанням функци IIf( ):
НА[кшьксть]<100;"ЗАМОВИТИ!";НА[кшьпсть]>=100 And [кшьккть]<=500;"Зашнчуеться!";" ")), однак, в Конструкторi макроав базова структура розгалуження представлена бтьш наочно i легше для розумiння. Але, якщо потрiбно повiдомлення виводити в шшу таблицю для автоматичного замовлення товару, макрос даних е незаменим. Розглянемо на простому прикладi як iз першо'1 таблицi, де вiдбуваються поди, перейти до змши запису в шшш таблицi.
Наступний приклад представляе макрос даних, який при додаванш запису в першу таблицю шдбивае пщсумки i зберiгае пiдсумковi значення в шшу таблицю. Лопка така: при вставц запису про надходження певного товару в таблиц «Приход», в таблиц «склад» у рядку, що вщповщае даному товару, кшьмсть товару мае збiльшитися. Для цього необхщно створити макрос даних для поди После вставки в таблиц «Приход» з передачею даних у таблицю «склад». В таблиц «склад» вщшукуеться запис з вщповщним товаром, доданим до таблиц «Приход». Для даного запису значення поля [кшьшсть] в таблиц «склад» збiльшуеться на величину значення поля [кшьк] в таблиц «Приход»: [кiлькiсть]+[Приход].[кiльк]. Макрос даних в режимi Конструктора представлений на рис. 2.
I I о-нидЧ, I Приход | T^t склад : Д
Q изменения :
ЕЭ Если [к1льк1сть]< 1 00 то ЗэдатьП оле
Имя стан Значение - "ЗАМОВИТИ!"
ЕЕ] Иначе если [кшьк1сть]> = 100 And [к1льк1сть]< =500 то ЗэдатьП оле
Имя стан Значение = "Зактчуеться!"
ЕЗ Иначе
ЗэдатьП оле
Имя стан Значение = " " Конец блока "Если"
J Приход^ 7% Приход: После вставки :
В Найти запись з склад
Условие отбора = [склад].[назБа]=[Прихой.[назЕа] Псевдоним Добавлена^
□ Изменить Запись
Псевдоним Добавленая Задать Поле
Имя [кшьюсгь] Значение = [ктьккть]+[Приход], [кшьк] Конец изменения записи
Рис. 1.
Рис. 2.
У наданому прикладi використано блоки даних НайтиЗапись, ИзменитьЗапись, ЗадатьПоле. Псевдошм Добавленая використаний для позначення поточного запису в таблицк Звершть увагу, що блок даних ИзменитьЗапись, е вкладеним у Конструкторi макросiв й записаний з вщступом! Це важливо, iнакше псевдонiм для поточного запису не буде знайдений i макрос не спрацюе.
Запис в таблиц «склад» буде змiнено незалежно вщ того вiдкрита чи нi таблиця «склад». Змши в таблиц будуть видимi або при вiдкриттi таблицу або при оновленнi. Бiльш того, макроси спрацьовують незалежно вiд наявност зв'язкiв iз забезпеченням цiлiсностi даних мiж зазначеними таблицями.
Аналогiчний макрос даних можна створити для таблиц «Витрати», яка вiдображае вiдпуск товарiв зi складу. Тiльки при цьому необхщно вiднiмати кiлькiсть товару iз значення поля [кiлькiсть] в таблиц «склад». Таблицю «Витрати» легко створити шляхом котювання структури таблицi «Приход», при цьому ва макроси даних, пов'язаш з таблицею також котюються, досить злегка Тх вiдредагувати.
Висновки. Макроси даних зберкаються в таблицу а не в об'ектах, ям використовують таблицю. За допомогою макроав даних можна створити бтьш ефективну базу даних. Типовi ситуаци для застосування макросiв даних.
У разi бази даних облiку товарiв - якщо в таблиц товарних залишшв кiлькiсть одшеТ iз позицiй падае нижче заданого числа, в шшш таблиц автоматично створюеться запис для замовлення щеТ товарноТ позици.
У разi бази даних благодiйних пожертв - надсилання повщомлення електронноТ пошти спонсору з подякою за внесок.
У pa3i бази даних продажiв - автоматичний розрахунок знижки, якщо сума замовлення перевищуе задану величину.
У разi бази даних контамчв - повiдомлення користувачу, якщо заповнеш нi bcí обов'язковi поля адреси.
При видаленш запису - автоматичне додавання запиав в шшу таблицю для ведення журналу аудиту.
Для запобкання видалення запису з таблиц при виконанш певноТ умови.
Наведений опис i приклади макроав даних тюструють тдвищення рiвня складностi матерiалу при вивченнi баз даних. У навчальному плат вивчення макросiв даних повинно бути передбачено тсля вивчення макроав штерфейсу.
Вивчення макроав даних в темi «Системи управлшня базами даних» допомагае глибше засво'Тти та закртити навички використання базових структур програмування, розвивае лопчне мислення, готуе студенпв до подальшоТ професшно'Т дiяльностi та пiдвищуе Тх рiвень компетентность
Список використаних джерел
1. Microsoft Access 2010 Руководство по продукту [Електронный ресурс] - Режим доступа: www.kurskmed.com/itcenter/uploads/989a402.pdf - С. 21-22.
2. Работа с макросами и выражениями в Access 2010 [Електронный ресурс] материал с официального сайта Microsoft, 2010-2015. - Режим доступа: https://msdn.microsoft.com/ru-ru/library/office/gg435977(v=office.14).aspx#odc_ac14_ta_WorkingwithDataMacros_BuildingDataMacros
3. Создание макроса данных. Применяется к: Access 2010 [Електронный ресурс] материал сайта Microsoft, перевод - Режим доступа: https://support.office.com/ru-ru
4. Шамшина Н.В., Создание интерфейса учебно-методического комплекса c использованием макросов в Access 2010 // Фiзико-математична осв^а: Зб. наукових праць. - Суми: Вид-во СумДПУ iменi А.С. Макаренка, 2014. - № 1 (6). - С. 214-221.
5. Шамшина Н.В. Об особенностях сохранения информации в базах данных // Фiзико-математична осв^а: науковий журнал. - 2016. - Випуск 4(10). - С. 148-151.
References
1. Microsoft Access 2010 Керiвництво по продукту [Електронний ресурс] - Режим доступу: www.kurskmed.com/itcenter/uploads/989a402.pdf - р. 21-22
2. Working with macros and expressions in Access 2010. [Electronic resource] the content from the official Microsoft site, 2010-2015.- Mode of access: https://msdn.microsoft.com/ru-ru/library/ office/gg435977(v=office.14).aspx#odc_ac14_ta_WorkingwithDataMacros_BuildingDataMacros
3. Creating a Data Macros. Applies to: Access 2010 [Electronic resource] the Microsoft translation - Mode of access: https://support.office.com/ru-ru
4. Shamshina N. The creation of interface training complex with the use of macros in Access 2010 // Physico-mathematical education: Sat. scientific papers. - Sumy: Publishing house SumSPU named after A. S. Makarenko, 2014. - № 1 (6). - р. 214-221 (in Ukrainian)
5. Shamshina N.V. About the peculiarities of saving information in databases // Physical and Mathematical Education : scientific journal. - 2016. - Issue 4(10). - Р. 148-151. (in Ukrainian)
THE STUDY OF DATA MACROS IN MICROSOFT ACCESS Natalia Shamshina
Makarenko Sumy State Pedagogical University, Ukraine
Abstract. The article is devoted to data macros in recent versions of ACCESS, which is one of the most popular database management systems. The author examines the concept of data macros, their application to ensure data integrity and implement complex business logic in modeling a particular subject area. Data macros is a new feature in ACCESS 2010 is a new opportunity to embed the logic in the events occurring in the tables for adding, updating, and deleting data. The author describes the types and subtypes of data macros, their purpose, rules of creation and application, analysing in detail their features. Create macros data for individual cases is illustrated by examples in which the author explains the purpose and rules of application of separate blocks of the operations Constructor macros: loops, branching, record search, etc. the Author is available and explains in detail the advantages and the need to use macro data and their difference from the macro interface and macro isolated. The article contains explanations and methodical recommendations to studying of a subject "database management System" on the discipline of Information technology.
Key words: Microsoft Access, Data Macros, integrity constraints, business logic.