У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент


переглянути за допомогою властивостей Count – кількість, Name – ім’я та Item – значення. Нижче поданий приклад програми для видачі порядкових номерів, імен та значень всіх властивостей форми Oplaty_f.

Option Compare Database

Option Explicit

Private Sub Wlastywosti_formy()

Dim i As Integer

For i = 0 To [Forms]![Oplaty_f].Properties.Count

MsgBox "i= " & i & " " & [Forms]![Oplaty_f].Properties(i).Name & " = " & _

[Forms]![Oplaty_f].Properties.Item(i)

Next i

End Sub

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

Застосування методу CloseCurrentDatabase приводить до закриття БД, а Quit – до виходу з MS Access. Нижче подані приклади команд.

Application.CloseCurrentDatabase

Application.Quit

Об’єкт DoCmd дозволяє виконати команду. Розглянемо його окремі методи, це:

Open – відкрити об’єкт;

Приклад. Відкрити таблицю Oplaty_t і представити її до редагування:

DoCmd.OpenTable " Oplaty_t ", acViewNormal, acEdit

FindRecord – пошук запису за зразком.

Приклад. Увідкритій таблиці Platnyky_t знайти і представити до редагування запис, у поточному полі якого міститься значення “Дрозд”:

DoCmd.FindRecord ("Дрозд")

GoToRecord – перехід на запис.

Приклад. Увідкритій таблиці Oplaty_t представити до редагування 4-й запис:

DoCmd.GoToRecord , "Oplaty_t", acGoTo, 4

Метод GoToRecord може містити такі параметри:

acFirst – попередній запис;

acGoTo – заданий запис;

acLast – останній запис;

acNewRec – новий запис;

acNext default – наступний запис;

acPrevious – початок набору даних.

Rename – змінити ім’я об’єкта.

Приклад. Змінити ім’я таблиці Platnyky_t на Klienty:

DoCmd.Rename "Klienty", acTable, "Platnyky_t"

RunSQL – виконати запит (вираз SQL).

Приклад 1. Знищити всі записи відкритої таблиці Fondy_t, поле Naz_f яких містить значення “Майорка”:

S = "DELETE * FROM Фонди WHERE Naz_f='Майорка'"

DoCmd.RunSQL S

Приклад 2. У всіх записах відкритої таблиці Fondy_t змінити значення поля Naz_f на “Гаваї”, якщо воно дорівнює “Канари”:

p = "UPDATE Fondy_t SET Naz_f = 'Гаваї' WHERE Naz_f = 'Канари'"

DoCmd.RunSQL p

RunMacro – виконати макрос.

Приклад. Виконати макрос Perewirka:

DoCmd.RunMacro "Perewirka"

Close – закрити об’єкт.

Приклад. Закрити таблицю Oplaty_t з занесенням у пам’ять виконаних змін:

DoCmd.Close acTable, "Oplaty_t", acSaveYes

Quit – вихід з MS Access та закриття всіх його вікон.

Об’єкт Recordset призначений для обробітку наборів даних. Набір даних представляє собою таблицю, яка містить дані з однієї або декількох таблиць. Цей об’єкт є найбільш вживаним для програмного редагування таблиць. Його оголошення має вигляд:

Dim нд As New ADODB.Recordset

Тут нд – ім’я набору даних, змінна об’єктного типу.

У процесі розвитку VBA об’єкт (контейнер) Recordset був розроблений у декількох варіантах, з них два останні – стандартів DAO i ADO підтримуються версією MS Access 2002. Стандарт ADO новіший, його об’єкти мають назви попередника, але дещо змінені властивості, кількість та типи параметрів методів, внесені нові додаткові засоби, зокрема, для роботи з зовнішніми даними, такими, наприклад, як масмедіа. Якщо використовується стандарт ADO, то при оголошенні набору даних необхідно додавати описувач ADODB.

Об’єктній змінній нд можна присвоїти значення об’єкта за допомогою команди Set:

Set нд = New ADODB.Recordset

Нижче подані окремі методи набору даних.

Open служить для відкриття набору даних, його застосування має вигляд:

нд.Open "Джерело", назва з’єднання з БД, параметри

Приклад. Створити та відкрити набір даних aRS на основі таблиці Oplaty_t:

aRS.Open "Oplaty_t", CurrentProject.Connection, adOpenKeyset, adLockOptimistic

Тут CurrentProject.Connection – з’єднання з поточним проектом. Параметри визначають тип курсора та умови колективного доступу до набору даних. Курсор – допоміжна (скрита) таблиця, яка служить у якості хранилища набору даних.

Перечислимо та коротко охарактеризуємо окремі методи

AddNew – додати запис.

Delete(adAffectCurrent) – знищити запис (поточний);

Move(k) – перейти на k-й запис;

Update – змінити дані, перенести їх у таблицю-джерело;

Filter– фільтрація набору даних за умовою;

Close – закрити набір даних;

Set нд = Nothing – звільнення пам’яті, яку займає закритий набір даних.

Властивості Recordset:

Name – ім’я набору даних;

Type – тип набору даних;

CursorType – тип курсора;

Edit – редагування набору даних;

Bof, Eof – початок, кінець набору даних;

RecordCount– кількість записів;

нд(“ім’я поля”).Value – значення поля;

нд(№ поля).Value – значення поля (варіант), № починається з 0;

нд.Fields(№ поля).Value – значення поля (варіант), № починається з 0;

AbsolutePosition– № поточного запису.

Об’єкт Err. Властивості об’єкта Err можна використати для програмної обробки помилок, зокрема:

 

Number – номер помилки;

Description – системне повідомлення;

AccessError() – масив системних повідомлень.

Масив системних повідомлень містить короткі описи помилок англійською або російською мовою. Їх можна переглянути за допомогою програми:

Option Compare Database

Option Explicit

Sub Zmist_pomylok()

Dim i As Integer

For i = 1 To 50000

MsgBox "№: " & i & "Текст помилки: " & AccessError(i)

Next i

End Sub

Для видачі повідомлень державною мовою варто створити їх масив. У прикладі, текст якого поданий нижче, застосувується масив Powidomlen(5000) для обробки заздалегідь помилкової команди. Відомо, що команда DoCmd.FindNext в даній програмі приведе до виникнення помилки з кодом 2143, яка видає на екран повідомлення: “Не был указан образец поиска в команде НайтиЗапись”. Його замінено на: “В даній ситуації команда пошуку запису недопустима”

Option Compare Database

Option Explicit

Private Sub Demo_pomylky()

Dim Powidomle(5000) As String

Powidomle(2143) = "В даній ситуації команда пошуку запису недопустима"

On Error GoTo r

DoCmd.FindNext ‘Заздалегідь недопустима команда, відсутнє джерело даних

x: Exit Sub

r: MsgBox " Помилка: " & Powidomle(Err.Number)

Resume x

End Sub

Засоби MS Access для створення модулів. Для складання модулів у вікні База Даних слід вибрати об’єкт Модулі. Після натискання на кнопку Створити, одержимо вікно – інтерфейс редактора VBA, готовий


Сторінки: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23