Бази даних в Excel, Access з викликами на VBA

Зміст

Завдання

Рішення

Висновок

Список використаної літератури

Варіант №2

Завдання

Створити базу даних „Звіт про співробітників фірми”.

Кількість записів – не менш 20.

Для розв’язання задачі необхідно:

    Сформувати вихідну таблицю та роздрукувати її.

    Визначити суму окладів по відділам фірми.

    Знайти відділ з максимальною кількістю співробітників.

    Відсортувати таблицю за ПІБ.

    Знайти ПІБ співробітників з мінімальним окладом.

    Визначити загальну суму окладів по фірмі.

Рішення

Таблиця „Звіт про співробітників фірми” у режимі даних середовища MS Excel наведена на рис.1.

Рис.1.

Додавання проміжних і остаточних підсумків виконується після сортування вихідної бази по обраному полю. Виконаємо сортування вихідної бази по полю "Назва відділу" і додамо проміжні і загальний підсумки. Для додавання підсумків відкриємо вікно діалогу "Проміжні підсумки". Для цього виконуємо команди меню Данные/Итоги. У вікні діалогу задамо поле, у якому буде відслідковуватися зміна значень (наприклад поле " Назва відділу "). Потім вкажемо в рядку "Операция" той вид операції, що потрібний для виконання завдання (Сумма, Кількість і т.д.). У списку вікна діалогу "Додати підсумки по" укажемо, яких ще полях бази даних необхідно виконати аналогічні дії. Вікно діалогу з установленими параметрами наведено на Рис.2.

Рис.2.

Результат встановлення проміжних підсумків зображений на рис.3.

Рис.3.

Додамо ще один рівень підсумків за кількістю співробітників відділу, та розрахуємо максимальну кількість чоловік у відділі (рис.4)

Рис.4.

Відсортуємо таблицю за ПІБ (меню Данные/Сортировка...) Рис.5.

Для звичайного сортування бази даних по одному полю ( по зростанню чи по убуванню) необхідно скористатися пунктом меню Данные Сортировка чи піктограмами на графічному меню.

Сортування по зростанню Сортування по убуванню

При цьому курсор повинний бути встановлений у поле, що будемо сортувати. Для сортування по зростанню по полю "ПІБ" установимо курсор на комірку у цьому полі і виберемо напрямок сортування "по зростанню".

Рис.5.

Результат сортування зображений на рис.6.

Рис.6.

Знайдемо ПІБ співробітників з мінімальним окладом (рис.7).

Рис.7.

До комірки Е32 занесено формулу =БИЗВЛЕЧЬ(A2:G26;E2;G31:G32). Критерій зображений у діапазоні G31:G32.

Експортуємо таблицю з середовища MS Excel до середовища MS Access (рис.8)

Рис.8.

Таблиця „Звіт” у режимі Конструктора середовища MS Access зображена на рис.9.

Рис.9.

Таблиця „Звіт” у режимі Таблиці середовища MS Access зображена на рис.10.

Рис.10.

Запит на вибірку „Сума окладів по відділам” у режимі Конструктора наведений на рисунку 11.

Рис.11.

Запит на вибірку „Сума окладів по відділам” у режимі Таблиці наведений на рисунку 12.

Рис.12.

Запит на вибірку „Сума окладів по фірмі” у режимі Конструктора наведений на рисунку 13.

Рис.13.

Запит на вибірку „Сума окладів по фірмі” у режимі Таблиці наведений на рисунку 14.

Рис.14.

Запит на вибірку „Максимальна кількість у відділі” у режимі Конструктора наведений на рисунку 15.

Рис.15.

Запит на вибірку „Максимальна кількість у відділі” у режимі Таблиці наведений на рисунку 16.

Рис.16.

Запит на вибірку „Сортування” у режимі Конструктора наведений на рисунку 17.

Рис.17.

Запит на вибірку „Сортування” у режимі Таблиці наведений на рисунку 18.

Рис.18

Запит на вибірку „Співробітник з мінімальним окладом” у режимі Конструктора наведений на рисунку 19.

Рис.19.

Запит на вибірку „Співробітник з мінімальним окладом” у режимі Таблиці наведений на рисунку 20.

Рис.20.

Алгоритм програми на VBA, що реалізований на другому аркушу книги MS Excel “ZVBA” зображений на наступному рисунку 21.

0100090000037800000002001c00000000000400000003010800050000000b0200000000050000000c02bf12390f040000002e0118001c000000fb021000070000000000bc02000000cc0102022253797374656d0012390f0000e4c7110072edc630509679020c020000390f0000040000002d01000004000000020101001c000000fb029cff0000000000009001000000cc0440001254696d6573204e657720526f6d616e0000000000000000000000000000000000040000002d010100050000000902000000020d000000320a1a13000001000400000000003c0fc01220002d00040000002d010000030000000000

Рис.21.

Інтерфейс програми на VBA зображений на наступному рисунку 22.

Рис.22.

Пароль на вхід до робочої книги 12345.

Програмний код на VBA наведений у лістингу 1

Лістинг 1

Private sub> CommandButton1_Click()

Worksheets("ZVBA").Cells(9, 8).Formula = "=Sum(G2:G9)"

Worksheets("ZVBA").Cells(16, 8).Formula = "=Sum(G10:G16)"

Worksheets("ZVBA").Cells(21, 8).Formula = "=Sum(G17:G21)"

Worksheets("ZVBA").Cells(22, 8).Formula = "=Sum(H3:H31)"

End sub>

Private sub> CommandButton2_Click()

Worksheets("ZVBA").Range("A2:G21").Sort _

Key1:=Worksheets("ZVBA").Range("E1")

End sub>

Private sub> CommandButton3_Click()

Worksheets("ZVBA").Range("A2:G21").Sort _

Key1:=Worksheets("ZVBA").Range("A1")

End sub>

Private sub> CommandButton4_Click()

Set myRange = Worksheets("ZVBA").Range("C2:C9")

a = Application.WorksheetFunction.Count(myRange)

MsgBox a

End sub>

Private sub> CommandButton5_Click()

Worksheets("ZVBA").Range("A2:G21").Sort _

Key1:=Worksheets("ZVBA").Range("G1")

a = Cells(2, 5)

MsgBox a

End sub>

Private sub> CommandButton6_Click()

ThisWorkbook.Saved = True

ThisWorkbook.Close

End sub>

Висновок

За допомогою введення формул з математичними, статистичними функціями та функціями для роботи з базами даних у відповідні комірки, та виконання команд меню у середовищі MS Excel були виконані пункти завдання. За допомогою запитів на вибірку у середовищі MS Access також були виконані пункти завдання. За допомогою кодів та макросів мови VBA для елементів управління – розроблених кнопок для меню також були виконані пункти завдання.

Список використаної літератури

    Харитонова И.А., Михеева В.Д. Microsoft Access 2000: Разработка приложений. – СПб.: БХВ, 2000. – 832 с.

    Робинсон С. Microsoft Access 2000: - СПб.: Издательский дом Питер, 2002. – 512 с.

    Вейскас Дж. Эффективная работа с Microsoft Access 2000: СПб.: Питер-Пресс, 2002. – 1040 с.

    Дженнингс Р. Использование Microsoft Access 2000: Специальное издание. - Издательский дом «Вильямс», 2002. – 1152 с.

    Справка Microsoft Access 2002.//Корпорация Microsoft (Microsoft Corporation), - 2001.

    Справка Microsoft Excel 2002.//Корпорация Microsoft (Microsoft Corporation), - 2001.

    Руденко В.Д., Макарчук О.М., Патланжоглу М.О. Практичний курс інформатики. /За ред. Мадзігона В.М.-К.: Фенікс, 1997.-307 с.

    Ситник В.Ф. та ін. Основи інформаційних систем – К.:КНЕУ, 2001

    Береза А.М. Основи створення інформаційних систем – К.:КНЕУ, 2001

    Информационные системы в экономике. Под редакцией профессора В.В.Дика – М.: Финансы и статистика, 1996

    Смирнова Г.Н, Сорокин А.А., Тельнов Ю.Ф. Проектирование экономических информационных систем – М.: Финансы и статистика, 2003

TYPE=RANDOM FORMAT=ARABIC>7



Overview

Лист1
ZVBA


Sheet 1: Лист1

Звіт про співробітників фірми
№ з/п Назва відділу Код співробітника Адреса ПІБ Посада Оклад
1 Розробки 1001 Дніпропетровськ, вул.Південна, 18 Борин Т.Л. Інженер 1100,00
2 Розробки 1002 Дніпропетровськ, вул.Західна 12 Бобов Н.А. Інженер 1150,00
3 Розробки 1003 Дніпропетровськ, вул.Олева, 32-2 Волин А.І. Інженер 1200,00
4 Розробки 1004 Дніпропетровськ, вул.Алова, 24-5 Додин Н.О. Інженер 1250,00
5 Розробки 1005 Дніпропетровськ, вул.Північна, 34-6 Гопов П.Л. Інженер 1300,00
6 Розробки 1006 Дніпропетровськ, вул.Східна, 7 Ганов І.П. Економіст 1350,00
7 Розробки 1007 Дніпропетровськ, вул.Наукова, 56 Вунин І.Д. Економіст 1400,00
8 Розробки 1008 Дніпропетровськ, вул.Лутова, 45 Бубин Р.І. Економіст 1450,00

Розробки Количество

8


Розробки Итог



10200,00
9 Збірки 2001 Дніпропетровськ, вул.Січнева, 58 Бобин Н.І. Слюсар 1500,00
10 Збірки 2002 Дніпропетровськ, вул.Лютого, 79 Габов Н.І. Слюсар 1550,00
11 Збірки 2003 Дніпропетровськ, вул.Травнева, 98 Гунин Г.Д. Слюсар 1600,00
12 Збірки 2004 Дніпропетровськ, вул.Войкова, 67 Апин О.Б. Слюсар 1650,00
13 Збірки 2005 Дніпропетровськ, вул.Морська, 56-4 Бойко Р.Н. Слюсар 1700,00
14 Збірки 2006 Дніпропетровськ, вул.Жовтнева, 86-3 Валин І.О. Слюсар 1750,00
15 Збірки 2007 Дніпропетровськ, вул.Рижська, 65-5 Генин О.І. Завідувач 1800,00

Збірки Количество

7


Збірки Итог



11550,00
16 ВТК 3001 Дніпропетровськ, вул.Фучика, 84-9 Гунов А.Б. Контролер 1850,00
17 ВТК 3002 Дніпропетровськ, вул.Цеткин, 67-8 Дадин Р.І. Контролер 1900,00
18 ВТК 3003 Дніпропетровськ, вул.Зотова, 64-32 Бабин І.І. Контролер 1950,00
19 ВТК 3004 Дніпропетровськ, вул.Додина, 32-76 Велин Т.І. Контролер 2000,00
20 ВТК 3005 Дніпропетровськ, вул.Пуго, 6-64 Гусев Г.Т. Завідувач 2050,00

ВТК Количество
5

ВТК Итог
Максимальний відділ 8 9750,00

Общее количество
20

Общий итог
31500,00

Оклад

Співробітник з мін.окладом: Борин Т.Л. 1100,00

Sheet 2: ZVBA

№ з/п Назва відділу Код співробітника Адреса ПІБ Посада Оклад





1 Розробки 1001 Дніпропетровськ, вул.Південна, 18 Борин Т.Л. Інженер 1100,00

Меню

2 Розробки 1002 Дніпропетровськ, вул.Західна 12 Бобов Н.А. Інженер 1150,00




3 Розробки 1003 Дніпропетровськ, вул.Олева, 32-2 Волин А.І. Інженер 1200,00
4 Розробки 1004 Дніпропетровськ, вул.Алова, 24-5 Додин Н.О. Інженер 1250,00
5 Розробки 1005 Дніпропетровськ, вул.Північна, 34-6 Гопов П.Л. Інженер 1300,00
6 Розробки 1006 Дніпропетровськ, вул.Східна, 7 Ганов І.П. Економіст 1350,00




7 Розробки 1007 Дніпропетровськ, вул.Наукова, 56 Вунин І.Д. Економіст 1400,00
8 Розробки 1008 Дніпропетровськ, вул.Лутова, 45 Бубин Р.І. Економіст 1450,00
9 Збірки 2001 Дніпропетровськ, вул.Січнева, 58 Бобин Н.І. Слюсар 1500,00




10 Збірки 2002 Дніпропетровськ, вул.Лютого, 79 Габов Н.І. Слюсар 1550,00




11 Збірки 2003 Дніпропетровськ, вул.Травнева, 98 Гунин Г.Д. Слюсар 1600,00
12 Збірки 2004 Дніпропетровськ, вул.Войкова, 67 Апин О.Б. Слюсар 1650,00
13 Збірки 2005 Дніпропетровськ, вул.Морська, 56-4 Бойко Р.Н. Слюсар 1700,00




14 Збірки 2006 Дніпропетровськ, вул.Жовтнева, 86-3 Валин І.О. Слюсар 1750,00
15 Збірки 2007 Дніпропетровськ, вул.Рижська, 65-5 Генин О.І. Завідувач 1800,00
16 ВТК 3001 Дніпропетровськ, вул.Фучика, 84-9 Гунов А.Б. Контролер 1850,00
17 ВТК 3002 Дніпропетровськ, вул.Цеткин, 67-8 Дадин Р.І. Контролер 1900,00




18 ВТК 3003 Дніпропетровськ, вул.Зотова, 64-32 Бабин І.І. Контролер 1950,00
19 ВТК 3004 Дніпропетровськ, вул.Додина, 32-76 Велин Т.І. Контролер 2000,00
20 ВТК 3005 Дніпропетровськ, вул.Пуго, 6-64 Гусев Г.Т. Завідувач 2050,00