
- •Створення запитів на вибірку
- •Примітки.
- •Запит на створення таблиці
- •Запит на добавлення записів
- •Запит на вилучення запису
- •Перелік доступних кнопок на панелі компонентів.
- •Створення групи макросів
- •Сімейства, об’єкти, властивості і методи
- •Зсилки на сімейства, об’єкти і властивості
- •Методи об’єктів
Сімейства, об’єкти, властивості і методи
Access має два основних компонента: ядро додатку (application engine), який контролює програмний і кінцевий користувацький інтерфейс додатку, і ядро БД (DBEngine), який управляє збереженням даних і визначення всіх об’єктів БД. При відкритті БД ядро додатку використовує ядро БД для визначення всіх імен таблиць, запитів, форм та звітів, макросів та модулів, які будуть виведені у вікні БД.
Ядро додатку формує об’єкт верхнього рівня Application, яке містить сімейство Forms (всі відкриті форми) і сімейство Reports (всі відкриті звіти). В свою чергу кожна форма і звіт містить сімейство Controls, яке включає в себе всі елементи управління форми чи звіту, і сімейство властивостей Properties.
Крім того, об’єкт Application містить два спеціальних об’єкти: DoCmd (выполнить макрокоманду) і Screen (Экран). Об’єкт Screen володіє чотирма корисними властивостями: ActiveControl (Активный элемент управления), ActiveForm (Активная форма), ActiveReport(Активный отчет), PreviousControl (Предыдущий элемент управления).
Не знаючи імен, ми можемо зсилатися на елемент управління, що отримав фокус (якщо він існує), форму, що отримала фокус, звіт, що отримав фокус, чи ім’я елемента управління, який перед цим об’єктам фокус.
Зсилки на сімейства, об’єкти і властивості
Три варіанти синтаксису зсилок на об’єкт в сімействі:
Ім’яСімейства![Ім’я об’єкту]
Ім’яСімейства (“Ім’я об’єкту”)
Ім’яСімейства(Відносний номер об’єкту)
Access нумерує об’єкти в сімействі від 0 до Ім’яСімейства.Count-1. Наприклад, ми можемо визначити кількість відкритих форм за допомогою властивості Count сімейства Forms: Forms.Count.
Приклади звернення до форми MyForm: Forms![MyForm], або Forms(“MyForm”), або Forms(1) - зсилка на другу відкриту форму може бути записана таким чином.
Створення зсилки на об’єкт в програмах:
Set <ім’я змінної> = <зсилка на об’єкт>
Попередньо потрібно ще оголосити змінну в конструкції dim, public, static.
Приклад.
Dim dbMyDB as Database
Set dbMyDB=CurrentDB()
Dim tbMyTable as Tabledef
Set tbMyTable = dbMyDB![tblClubs] ‘tblClubs - таблиця
Dim flMyFields as Field
Set flMyField=tbMyTable![Notes] ‘Notes – поле в таблиці
Методи об’єктів
Коли необхідно виконати деяку дію над об’єктами в БД, можна використати метод об’єкту чи об’єктної змінної, яка вказує на цей об’єкт. В деяких випадках використовують методи для створення того чи іншого об’єкту.
Методів є досить багато. Розглянемо групу методів, яка дозволяє створити набір записів, а потім прочитати, оновити, вставити чи вилучити рядок з набору даних.
Для створення набору даних спочатку оголошуємо об’єктну змінну типу RecordSet. Потім відкриваємо набір записів, використавши метод OpenRecordset для поточної БД (вказавши ім’я таблиці, ім’я запиту чи інструкцію SQL), об’єкт QueryDef, TableDef чи для іншого об’єкту RecordSet. Аргументи методу RecordSet дозволяють відкрити набір записів як таблицю (в цьому випадку можна в подальшому використати для пошуку процедуру Seek), як динамічний набір записів чи як статичний набір записів. Для наборів, що можуть оновлюватися (для динамічних наборів), можна заборонити його оновлення чи читання іншими користувачами, відкрити записи тільки для добавлення чи як статичний набір з послідовним пошуком.
Приклад.
Dim myDB as Database
Dim myTable as RecordSet
Set myDM=CurrentDB()
Set myTable=myDB.OpenRecordSet(“Таблиця1”, dbOpenTable)
Для переходу на визначений запис використовується метод Move. Щоб перейти на перший, останній, наступний, попередній записи використовуються відповідно MoveFirst, MoveLast, MoveNext, MovePrevious.
Приклад обчислення кількості записів в таблиці:
Do until myTable.EOF
myTable.MoveNext
n=n+1
loop
Ms
Для пошуку записів, що задовольняють умову, використовують один з методів Find. Синтаксис умови такий же, як в конструкції Where в SQL.
Приклад пошуку записів в таблиці за умови, що:
myTable.FindFirst “kod=50”
Для вилучення рядку потрібно переміститися на нього і використати метод Delete.
Приклад вилучення записів за умови, що поле kod рівний 50.
myTable.FindFirst “kod=50”
If Not myTable.NotMatch Then
myTable.Delete
End If
Для оновлення використовується метод Edit (блокує і дозволяє редагування). Після цього ми маємо доступ до полів, змінюємо їх. Після завершення редагування потрібно викликати метод Update для збереження змін.
Приклад.
myTable.Edit
myTable![kod]=10
myTable![name]=”Попов”
myTable.Update
Для добавлення нового запису використовується метод AddNew.
myTable.AddNew
myTable![kod]=20
myTable![name]=”Петров”
myTable.Update