- •Операційна система windows, текстовий редактор word, табличний процесор excel
- •1.1. Знайомство із клавіатурою. Робота в Windows з папками й файлами
- •1.2. Робота з файлами, папками, ярликами в Провіднику
- •1.3. Текстовий процесор Word - створення документа, його редагування й форматування
- •1.4. Текстовий процесор Word - робота з таблицями
- •1.5. Текстовий процесор Word - робота з формульним редактором, набір і редагування математичних формул
- •1.6. Текстовий процесор Word - робота із графічними об'єктами - створення малюнків
- •1.7. Табличний процесор Excel - створення й занесення даних у
- •1.8. Табличний процесор Excel – робота з майстром формул
- •1.9. Табличний процесор Excel – робота з діаграмами й графіками
- •1.10. Табличний процесор Excel – рішення пошукових завдань лінійного програмування
- •2. Програмування мовою vba
- •2.1. Вступ
- •2.2. Робота у вікні модуля. Структура програми
- •2.3. Основні типи даних
- •2.4. Змінні, масиви, константи і їхній опис
- •2.5. Операції vba
- •2.5.1. Арифметичні операції
- •2.5.2. Операції порівняння
- •2.5.3. Логічні операції
- •2.6. Стандартні функції
- •2.7. Вираження
- •2.8. Оператор присвоювання
- •2.9. Введення даних користувачем
- •2.10. Виведення даних
- •2.11. Оператори переходу. Програмування розгалужуваних обчислювальних процесів
- •If умова Then оператор
- •If умова Then
- •Оператор If...Then...Else.
- •If умова Then
- •2.12. Оператори циклу. Програмування циклічних обчислювальних процесів
- •Оператор Do ...Loop
- •Оператор While...Wend
- •Оператор For... Next
- •Оператор For Each...Next
- •2.13. Процедури
- •2) Ім'я Список аргументів
- •3. Система управління базами даних access
- •3.1. Вступ
- •3.2. Що таке бази даних?
- •3.3. Архітектура Microsoft Access
- •3.4. Створення бази даних. Створення таблиць. Зв'язування таблиць
- •Визначення типів даних
- •3.5. Зміна проекту бази даних
- •3.6. Створення запитів
- •3.7. Створення й редагування форм
- •3.8. Створення й редагування звітів
- •3.9. Створення й застосування макросів
- •3.10. Модулі Access
- •3.11. Класи й сімейства
- •3.12. Об'єктні моделі Microsoft Office
- •3.13. Моделі об'єктів Microsoft Access
- •3.14. Моделі об'єктів доступу до даних dao і ado
- •3.15. Посилання на об'єкти
- •3.16. Властивості й методи об'єктів
- •3.17. Застосування методу DoCmd у програмах vba
- •3.18. Робота з об'єктами доступу до даних
- •4. Список літератури
- •Додаток
- •5. Таблиці бази даних „учебный процесс”
3.17. Застосування методу DoCmd у програмах vba
VBA дозволяє створювати процедури, що складаються з одних макрокоманд. Прямі еквіваленти існують тільки для деяких з них. Для виконання макрокоманд використовується метод DoCmd. Структура методу:
DoCmd.макрокоманда [аргумент],...
До макрокоманд, які виконуються із середовища VBA, ставляться такі: ApplyFilter (Застосувати фільтр), Close (Закрити), FindNext (Наступний запис), FindRecord (Знайти запис), HourGlass (Пісочні годинники), Maximize (Розгорнути), Minimize (Згорнути), OpenForm (Відкрити форму), OpenQuery (Відкрити запит), OpenReport (Відкрити звіт), ShowToolBar (Панель інструментів).
Відкриття форми. Для відкриття форми використовується макрокоманда OpenForm. Структура методу DoCmd при цьому така:
DoCmd.OpenForm FormName, View, FilterName, WhereCondition, DataMode, WindowMode, OpenArgs
FormName – ім'я форми з поточної бази даних, яку потрібно відкрити.
View – визначає тип відкриття форми. Використовується одна з наступних констант: AcNormal – відкриває форму у вигляді Форма (за замовчуванням); AcDesign - відкриває форму у вигляді Конструктор; AcFormDs – відкриває форму у вигляді Таблиця даних.
FilterName – ім'я запиту з поточної бази даних.
WhereCondition – SQL-вираз (слово WHERE опускається), що визначає записи, які слід вивести на екран (наприклад, “Країна = ‘Росія' “).
DataMode – визначає режим уведення даних, у якому відкрита дана форма, на основі наступних констант: AcAdd – відкриває форму в режимі Додавання (можна вносити нові записи, але не можна редагувати наявні); AcEdit – відкриває форму в режимі Редагування (можна вносити нові записи й редагувати наявні); AcReadOnly – відкриває форму в режимі Тільки перегляд ( уведення й редагування записів неможливо).
WindowMode – визначає режим вікна, у якому виводиться форма. Використовуються константні значення: AcNormal – відкриває форму у вигляді Звичайний. Використовується за замовчуванням; AcHidden – відкриває форму в прихованому виді; AcIcon – відкриває форму у вигляді згорнутої піктограми.
OpenArgs – строковий вираз, що визначає один або кілька аргументів. Ці аргументи можуть використовуватися в програмі, написаній мовою VBA, як модифікатори відкриття форми.
Приклад 1. Записати процедуру-функцію для відкриття форми “Продажи” і вивести записи, що задовольняють наступним умовам: “Замовлена” - більше 18, “Дата замовлення” – 2005р., Форму відкрити у вигляді Форма. Режим уведення даних – Редагування.
Public Function Форма1()
DoCmd.OpenForm _
FormName:=”Продажи”, _
Wherecondition:=”Замовлено> 18 and year(Дата_Замовлення) =2005”, _
view:=acNormal, _
datamode:=acEdit
End Function
Приклад 2. Є форма “Выбор студента” з полем зі списком, де дані міста (рис.3.20). Є форма "Студенты”, де дані міста й прізвища студентів (рис.3.21.) У формі “Выбор студента” є кнопка “Выбор студента по городу”. У поле зі списком вибирається місто, і, нажавши на кнопку, вибираються тільки ті студенти, хто живе в даному місті. Нижче наведена найпростіша процедура для кнопки.
Private Sub Кнопка3_Click()
DoCmd.OpenForm "Студенты", _
wherecondition:= "[Города]=[Forms]![Выбор студента]![Города]"
End Sub
Рис.3.20 - Форма “Выбор студента”
Рис. 3.21 - Форма “Студенты”
Закриття форми. Для закриття форми використовується макрокоманда Close. Cтруктура методу DoCmd при цьому така:
DoCmd.Close ObjectType, ObjectName, Save
ObjectType – тип об'єкта, що закривається. Для закриття форми використовується аргумент acForm. До інших аргументам відносяться acTable, acQuery, acReport, acMacro, acModule. Якщо цей аргумент упущений, то проводиться закриття активного об'єкта.
ObjectName – ім'я об'єкта, який необхідно закрити.
Save – константа, що визначає процедуру закриття об'єкта, у якому містяться не збережені дані: (пропонує користувачеві зберегти внесені зміни; використовується за замовчуванням), acSaveYes (автоматичне збереження внесених змін), acSaveNo (не зберігати внесених змін).
Приклад 3. Записати процедуру - підпрограму для закриття форми ”Продажи” з автоматичним збереженням внесених змін.
Public Sub Закрити ()
DoCmd.Close acForm, “Продажи”, acSaveYes
End Sub
Примітка. Для закриття активного об'єкта досить у програмі написати:
DoCmd.Close
Фільтрація даних у формі
Для фільтрації даних форми використовується макрокоманда ApplyFilter. Cтруктура методу DoCmd при цьому така:
DoCmd.ApplyFilter “ Ім'я фільтра”,”Умова відбору”
Ім'я фільтра – ім'я запиту;
Умова відбору – вираз SQL без Where.
Приклад 4. У формі “Відділ кадрів” (рис. 3.22) процедура Sub для фільтрації даних по “Дата_зачисл” така:
Sub Фільтрація_по_даті()
DoCmd.ApplyFilter "", "[Дата_зачисл]>[Введіть дату]"
End Sub
При запуску програми у вікні діалогу виводиться запрошення на уведення дати.
Рис.3.22 - Форма “Відділ кадрів”