Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Створення процедур обробки об'єктів баз даних

Поиск

Л а б о р а т о р н а я р а б о т а № 12. Створення процедур обробки об'єктів баз даних

 

Основні теоретичні і довідкові відомості

Загальні відомості про об'єкти доступу до даних

Програмна робота з об'єктами Access (таблицями, запитами, записами і ін.) здійснюється за допомогою DAO (Об'єкти доступу до даних), що являють собою взаємозв'язок між програмами мовою VBA і базами даних, з якими треба працювати.

Нижче наведений огляд деяких об'єктів.

DataBase - являє собою відкриту в робочій області базу даних. Для посилання на поточну базу даних використовується ключове слово CurrentDB. Набір DataBases містить у собі усі відкриті в робочій області об'єкти типу DataBase.

TableDef - являє собою опис таблиці, відкритої бази даних. Набір TableDefs є колекцією всіх таблиць, визначених в об'єкті типу DataBase.

Recordset - являє собою набір записів в основній таблиці об'єкта DataBase. У набір Recordsets входять усі відкриті об'єкти типу Recordset поточного об'єкту DataBase.

Field - являє собою стовпець даних. Об'єкт Field представляє значення конкретного поля. У набір Fields входять усі поля відкритої таблиці.

QueryDef - представляє собою опис запиту для об'єкта DataBase. Набір QueryDefs є сімейством усіх запитів в об'єкті типу DataBase.

Index - указує на порядок записів в об'єкті DataBase. У набір Indexs входять усі об'єкти типу Index, розміщені в QueryDef.

У кожного об'єкта є визначений набір характеристик (кількість записів таблиці, значення поля і ін.), які звуться властивостями об'єкта і методи (додати новий запис, відкрити таблицю і ін.), які вказують на операцію над об'єктом.

При посиланні на властивість використовується такий синтаксис:

Об'єкт.Властивість

Установка значення властивості здійснюється так:

Об'єкт.Властивість = Значення

Одержання значення властивостей здійснюється так:

Ім'я змінної = Об'єкт.Властивість

Синтаксис методу такий:

Об'єкт.Метод

Якщо метод використовує аргументи, то застосовується такий синтаксис

Об'єкт.Метод (аргумент1, аргумент2 )

Підключення до бази даних

Підключення до бази даних із процедури VBA складається з трьох етапів:

- оголошення змінних для об'єктів, які передбачається використовувати;

- відкриття бази даних;

- відкриття об'єкта Recordset для таблиці, з якою треба працювати.

Властивості і методи набору записів

Після підключення до бази даних і відкриття таблиці створюється новий набір записів і тепер основна робота відбувається з об'єктом Recordset.

Існує три типи наборів записів:

- табличний тип - визначає основну таблицю відкритої бази даних. Дії можуть бути здійснені тільки з набором записів табличного типу;

- динамічний тип - визначає таблицю, яка є результатом роботи запиту. Динамічні набори записів включають поля з різних таблиць. Вони називаються динамічними, тому що є можливість відновлення записів шляхом додавання, редагування і вилучення;

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

 

Властивості об'єкта Recordset

Rs.BOF - повертає значення True, якщо позиція поточного запису знаходиться перед першим записом.

Rs.Bookmark - встановлює або повертає значення Variant, яке ідентифікує поточний запис.

Rs.EOF - повертає значення True, якщо позиція поточного запису знаходиться нижче останнього запису.

Rs.RecordCount – повертає кількість записів у наборі.

Rs.Sort - повертає або встановлює порядок сортування в наборі записів динамічного і простого типів.

Rs.Fields.Count – повертає кількість полів поточної таблиці.

Rs.Fields.Name – повертає ім’я поля.

 

Методи об'єкта Recordset

Rs.AddNew - додає новий запис у набір табличних або динамічних записів.

Rs.Close - закриває набір даних.

Rs.Delete - вилучає поточний запис з набору табличних або динамічних записів.

Rs.Update - обновлює набір записів.

Rs.Edit - копіює поточний запис набору табличних або динамічних записів у буфер копіювання для подальшого редагування.

Rs.Move - переміщує покажчик поточного запису на визначену кількість записів.

Rs.MoveFirst, Rs.MoveLast, Rs.MoveNext, Rs.MovePrevious - переміщує поточний запис у першу, останню, наступну або попередню позицію поточного набору записів.

2. Порядок виконання роботи

1) Створіть таблицю, яку потрібно обробляти відповідно завдання до лабораторної роботи (дивись Додаток).

2) Напишіть процедуру, яка реалізовує виконання завдання.

3. Контрольні питання

1. Які типи наборів записів таблиці Ви знаєте?

2. Які властивості об'єкта Recordset?

3. Які методи об'єкта Recordset?

Таблиця 12.1- “Завдання до лабораторної роботи №12”

№ вар. Зміст завдання
  Внесіть зміни в таблицю “Відділ” поточної бази даних: підвищити оклад інженерам на 50 грн., ст.інженерам на 60 грн.
  З таблиці “Відомість” поточної бази даних вивести список студентів, які склали всі іспити на 4 і 5.
  З таблиці “Відділ” поточної бази даних вивести список інженерів, які мають вищу освіту і стаж роботи менше 5 років.
  З таблиці “Відомість” поточної бази даних вивести список студентів, які мають хоча б одну двійку.
  З таблиці “Відомість” поточної бази даних вивести список студентів, які склали всі іспити без двійок.
  Для таблиці “Відомість” поточної бази даних визначити середній бал із кожного предмета.
  З таблиці “Відомість” поточної бази даних вивести список предметів, з яких є хоча б одна двійка.
  З таблиці “Відділ” поточної бази даних вивести список співробітників, які мають стаж роботи більше 10 років і оклад менше 300 грн..
  Для таблиці “Відомість” поточної бази даних визначити середній бал для кожного студента.
  Внести зміни в таблицю “Відділ” поточної бази даних: усім співробітникам, які мають стаж роботи більше 10 років і не мають вищої освіти, підвищити оклад на 20 %..
  Для таблиці “Заводи” бази даних “Промисловість” вивести список заводів, у яких більше 1000 працівників.
  Для таблиці “Заводи” поточної бази даних знайти завод з найбільшим річним обсягом виробництва.
  Для таблиці “Заводи” поточної бази даних знайти завод, у якого найбільший відсоток працівників з вищою освітою.
  Для таблиці “Заводи” поточної бази даних знайти завод, у якого найбільше відношення річного обсягу до чисельності робітників.
  З таблиці “Відомість” поточної бази даних вивести список студентів, які мають найбільший середній бал.

Додаток

Таблиці і варіанти завдань

Таблиця 1 - “Товари”

 

Код товару Марка   Опис товару Код постачаль ника   Ціна На складі Поста чання припи нені
  Кава "Добра кава" Мелений по 100 г   2,61грн   Ні
  Кава "Nescafe Classic" Розчинний по 100 г   6,26грн   Ні
  Кава "Арабіка" У зернах 100 г   2,40грн   Ні
  Кава "Галка" Розчинний по 50 г   2,44грн   Ні
  Кава "Галка" В пакетах по 10 г   3,78грн   Ні
  Кава Maxima Мелений по 250 г   4,80грн   Так
  Кава "Віденська кава" У зернах по 100 г   1,94грн   Ні
  Чай Травневий 200 г листовий   4,66грн   Ні
  Чай Dilmah 125 г лист.   2,95грн   Так
  Чай "Батік" Пакет 5 г по 10 шт   1,00грн   Ні
  Чай Dilmah Gold 100 г листовий   2,39грн   Ні
  Чай Lipton Пакет 2 г по 25 шт   3,57грн   Так
  Чай Lipton Асорті по 200 г   15,6грн   Ні
  Чай Ahmad Пакет 2 г по 25 шт   3,17грн   Ні
  Чай Ahmad Лист. з лимоном   3,23грн   Ні
  Цукерки "Вечірній Київ" 500 г   8,56грн   Ні
  Цукерки "Грильяж" 260 г   4,73грн   Ні
  Цукерки "Пташине молоко" 500 г   3,96грн   Ні
  Цукерки "Асорті" 500 г   8,80грн   Ні
  Цукерки "Стріла" 250 г   2,65грн   Ні

Таблиця 2 - “Постачальники”

Код постачальника Фірма постача льника Звертатися до Місто Країна Факс Телеф он Дата доставки
  АТ "Світоч" Петрова В.М. Львів Україна 245-223 234-340 12.08.03
  Pulkala Смірнова К.А. Хельсінкі Фінляндія 456-76-22 456-76-20 02.09.03
  Фабрика ім. К.Маркса Сухова П.И. Київ Україна 295-46-78 205-45-30 05.09.03
  Фабрика “Чай”   Валєєва Б.М. Москва Росія 295-45-67 295-45-50 04.09.03
  АТ "Галка" Коваленко М.М. Львів Україна 245-700 245-756 10.08.03
  Dilmah Лер П.А. Штутгарт Німеччина 567-80-30 567-80-21 30.08.03
  Nestle Кромм А. Франкфурт на Майні Німеччина 4-757-320 4-757-320 11.09.03
  Фабрика "Світоч" Кривенко А.А. Львів Україна 256-901 256-978 23.09.03

Таблиця 3 - “Покупці”

Код покупця Назва фірми Прізвище   Посада   Адреса Телефон
  Оптовий магазин "Атланта" Басів К.И. менеджер Озерна, 8 413-18-10
  Торговий дім Заєць В.Д. Представн. фірми Чкалова, 31 225-54-12
  Агромаркет Дидик С.М. директор Рейтерська, 51 228-57-30
  Бланко Лось М.Н. менеджер Артема, 6 224-15-12
  Віденська кава Калінін М.Т. директор Артема, 34 228-28-50
  Київський спортклуб Довгань П.М. менеджер Дружби народів, 7 295-74-13
  НП Артекс продукт Смєхов В.И. Представн. фірми Польова, 24 441-64-56
  НП "Ельдорадо" Журбін А.С. директор Маяковського, 30 553-56-30
  Магазин "Явір" Шкіль Ю.А. директор Пр. Перемоги 137 226-13-64
  «Валентино» Крайчик М.Ю. менеджер Пр. Перемоги 137 226-23-54

Таблиця 4 - “Замовлення”

 

Код замовлення Код покупця Покупець Адреса Дата продажу Умова доставки
    Оптовий магазин "Атланта" Озерна, 8 04.09.03 Транспортом фірми покупця
    Торговий дім Чкалова, 31 06.09.03 Київтрансагентство
    Агромаркет Рейтерська, 51 04.09.03 Транспортом фірми продавця
    Бланко Артема, 6 10.09.03 Транспортом фірми продавця
    Віденська кава Артема, 34 04.09.03 Транспортом фірми покупця
    Київський спортклуб Дружби народів, 7 20.09.03 Транспортом фірми покупця
    НП Артекс продукт Польова, 24 06.09.03 Київтрансагентство
    НП "Ельдорадо" Маяковського, 30 16.10.03 Транспортом фірми продавця
    Магазин "Явір" Пр. Перемоги 137 21.09.03 Транспортом фірми продавця
    "Валентино" Пр. Перемоги 19 29.09.03 Транспортом фірми покупця

Таблиця 5- “Продажі”

Код оплати Код замовлення Код товару Марка Ціна Кіль кість Вар тість Дата оплати Знижка (%)
      Кава «Добра кава» 2,61грн     10.09.03  
      Кава "Nescafe Classic" 6,26 грн     12.09.03  
      Кава "Арабіка" 2,40грн.     21.09.03  
      Кава "Галка" 2,44грн.     06.09.03  
      Кава "Галка" 3,78грн.     06.09.03  
      Кава Maxima 4,80грн.     08.09.03  
      Кава "Віденська кава" 1,94грн.     21.09.03  
      Чай Травневий 4,66грн.     6.09.03  
      Чай Dilmah 2,95грн.     13.09.03  
      Чай "Батік" 1,00грн.     06.09.03  
      Чай Dilmah Gold 2,39грн.     06.09.03  
      Чай Lipton 3,57грн.     12.09.03  
      Чай Lipton 15,68грн     12.09.03  
      Чай Ahmad 3,17грн     08.09.03  
      Чай Ahmad 3,23грн     08.09.03  
      Цукерки "Вечірній Київ" 8,56грн     20.09.03  
      Кава "Nescafe Classic" 6,26 грн     12.09.03  
      Чай Lipton 15,68грн     12.09.03  
      Цукерки "Грильяж" 4,73грн     08.09.03  
      Цукерки "Пташине молоко" 3,96грн     08.09.03  
      Цукерки "Асорті" 8,80 грн     10.09.03  
      Цукерки "Стріла" 2,65 грн     10.09.03  
      Кава "Віденська кава" 1,94 грн     21.09.03  
      Цукерки “Стріла” 2,85 грн     10.09.03  

 

Таблиця 6- “Платежі”

Дата Товари Рахунок на суму
10.05.03 Напої 3 220,00р.
10.05.03 Продукти 4 300,00р.
10.05.03 Приправи 1 100,00р.
15.06.03 Напої 7 400,00р.
15.06.03 Продукти 8 500,00р.
15.06.03 Приправи 6 600,00р.

 

Таблиця 7- “Студенти” містить наступні поля

 

№№ п/п Ім'я поля Тип даних
  Прізвище Текстовий
  Математика Числовий
  Економіка Числовий
  Фізика Числовий
  Компьютерна техніка Числовий
  Адреса Текстовий
  Телефон Текстовий

 

Таблиця 8-“Відділ” містить наступні поля

№№ п/п Ім'я поля Тип даних
  Прізвище Текстовий
  Стать Текстовий
  Посада Текстовий
  Освіта Текстовий
  Стаж роботи Числовий

 

Таблиця 9-“Відомість” містить наступні поля

№№ п/п Ім'я поля Тип даних
  Прізвище Текстовий
  Математика Числовий
  Економіка Числовий
  Фізика Числовий

Таблиця 10- “Заводи” містить наступні поля

№№ п/п Ім'я поля Тип даних
  Назва заводу Текстовий
  Річний обсяг Грошовий
  Кільк_працівників Числовий
  Кільк_работн_з_вищ_освітою Числовий

 

 

Таблиця 11- Варіанти індивідуальних завдань”

Номери варіантів Коди товарів у таблиці “Товари”
  1 – 11
  1 – 5, 11 – 15
  2 – 7, 17 – 20
  5 – 10, 17 – 20
  11 – 20
  4 – 9, 13 – 16
  3 – 6, 10 – 15
  6 – 12, 15 – 16
  7 – 10, 12 – 17
  8 – 17
  9 – 18
  3 – 9, 18 – 20
  4 – 8, 12 – 16
  5 – 14
  7 – 16


Поделиться:


Последнее изменение этой страницы: 2016-04-26; просмотров: 281; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.137.176.213 (0.008 с.)