лучшие книги по экономике
Главная страница

Главная

Замовити роботу

Последние поступления

Форум

Создай свою тему

Карта сайта

Обратная связь

Статьи партнёров


Замовити роботу
Книги по
алфавиту

Б
В
Г
Д
Е
Ж
З
И
К
Л
М
Н
О

Інформатика та комп’ютерна техніка

Страницы [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ]
[ 16 ] [ 17 ] [ 18 ] [ 19 ] [ 20 ] [ 21 ] [ 22 ] [ 23 ] [ 24 ] [ 25 ] [ 26 ] [ 27 ] [ 28 ] [ 29 ] [ 30 ] [ 31 ] [ 32 ]
[ 33 ] [ 34 ] [ 35 ] [ 36 ] [ 37 ] [ 38 ] [ 39 ] [ 40 ] [ 41 ] [ 42 ] [ 43 ] [ 44 ] [ 45 ] [ 46 ] [ 47 ] [ 48 ] [ 49 ] [ 50 ]

Рядок Имя таблицы використовується для вибирання таблиці.
Рядок Поле призначений для задання поля, значення котрого будуть з’являтися у заданому стовпчику.
Рядок Сортировка дозволяє задати порядок сортування значень поля.
Рядок Вывод на экран може використовуватися для відміни виведення на екран деяких полів під час виконання запиту.
Рядки Условие отбора та Или використовуються для створення умови відбирання записів.
Виконання запиту в режимі конструктора можна досягти ви-
бравши меню Запрос/Запуск або інструмент .
Наприклад, необхідно відібрати записи, в котрих місяць=1 та оклад>700. При цьому, у запит повинні потрапити тільки такі поля: МІСЯЦЬ, ПРІЗВИЩЕ, ПОСАДА, ОКЛАД. Запит та результат його виконання — див. на рис. 10.135.
За допомогою рядка Условие отбора можна створити за-
пит з параметрами. Під час виконання такого запиту відкриваються вікна діалогу, котрі містять запрошення на введення умови відбору записів. Щоб створити запит з параметрами для кожного поля, яке передбачається використовувати як параметр, у рядок Условие отбора треба ввести текст запрошення у квадратних дужках ([]). Якщо необхідно увести діапазон значень, використовуються параметри BETWEEN та AND у такому вигляді:
BETWEEN […] AND […]. Для параметра можна встановити тип даних за допомогою меню Запрос/Параметры.

Рис. 10.135. Запит на відбирання записів,
у яких МІСЯЦЬ=1 та оклад>700

Наприклад, необхідно відібрати записи за декілька місяців для конкретного працівника. На рис. 10.136 відображено запит, вікна діалогу для введення параметрів та виконання запиту.
Зберігання запиту відбувається за допомогою меню Файл/ Сохранить або Сохранить как/Экспорт.
Запит також можна відредагувати у режимі SQL. Для цього потрібно відкрити запит у режимі таблиці або конструктора та вибрати меню Вид/Режим SQL. На рис. 10.137 відображено два запити, розглянуті вище, мовою SQL.

Рис. 10.136. Запит з параметрами

Рис. 10.137. Запити мовою SQL

Порядок створення нового запиту за допомогою конструктора:

  • Вибрати вкладинку Запросы, натиснути на кнопку Создать та вибрати Конструктор.
  • З’явиться вікно діалогу для додавання таблиць або запитів таке саме, як і під час встановлення зв’язку між таблицями (рис. 10.127), в якому треба вибрати потрібні таблиці.
  • Вибрати поля, які повинні з’являтися у запиті.
  • Задати порядок сортування.
  • Визначити умови відбирання записів.
  •  Якщо потрібно, створити розрахункові поля.
  • Зберегти запит.

Створення розрахункових полів. У запиті можна створювати поля, значення яких розраховуються за допомогою заданого виразу. Під час запису виразу треба дотримуватися певних правил:

  • імена таблиць, запитів, звітів, полів та елементів управління повинні братися у квадратні дужки (наприклад, [назва матеріалу]). Якщо ім’я не містить пропусків та спеціальних символів, тоді дужки є необов’язковими;
  • ім’я поля відокремлюється від імені таблиці (запита) крапкою;
  • текст береться у лапки (наприклад, "мідь");
  • дата/час супроводжуються символом # (наприклад, #12.12.00#).

Вираз може містити стандартні функції. Розглянемо деякі з них:

  • Математичні функції:
  • sinx — sin(x)
  • cosx — cos(x)
  • tgx — tan(x)
  • ¦x¦ — abs(x)
  • lnx — log(x)
  • ex — exp(x)
  •  — sqr(x)
  • Логічна функція:

IIF(<умова>;<вираз1>;<вираз2>)
Ця функція діє так само, як і у VISUAL FOXPRO та EXCEL. Якщо умова вірна, обчислюється вираз 1, якщо ні — вираз 2. Умова може містити логічні оператори AND та OR. Приклад використання функції IIF для розрахунку прибуткового податку наведено нижче.

  • Функції перетворення типів даних:
  • перетворення даних текстового типу у числовий — VAL(x);
  • перетворення даних числового типу у текстовий — STR(x);
  • перетворення даних текстового типу на тип дати DA­TEVALUE(х);
  • перетворення даних типу ДАТА у текстовий тип CDATE(х).
  • Функції дат:
  • поточна дата — NOW();

Для створення розрахункового поля потрібно встановити курсор у рядок ПОЛЕ порожнього стовпчика та увести назву поля, символ «:» і вираз. Для уведення виразу можна використовувати будівник виразів. Для цього треба натиснути на кнопку Построить  на панелі інструментів або натиснути на праву кнопку миші та вибрати Построить. У вікні Построитель выражений (рис. 10.138) можна ввести вираз, використовуючи кнопки операцій, імена полів з таблиць та запитів, вбудовані та власні функції.

Рис. 10.138. Створення запиту ПОВНИЙ ЗАПИТ

Для кожного поля у запиті можна встановити формат виведення. Для цього необхідно встановити курсор миші у рядок Поле, натиснути на праву кнопку миші, вибрати Свойства і задати потрібний формат поля (рис. 10.139).

Рис. 10.139. Встановлення формату поля
Наприклад, необхідно створити запит, який повинен містити: всі поля (крім тих, що повторюються) з таблиць ТАБЕЛЬ, ПРАЦІВНИКИ та РОБОЧІ ДНІ; розрахункові поля НАРАХОВАНО, УТРИМАНО та СУМА ДО ВИДАЧІ. Крім того, під час виконання запиту повинен запрошуватися номер місяця, за який треба відбирати записи. Записи повинні упорядковуватися за полями МІСЯЦЬ та ПРІЗВИЩЕ.
Порядок створення запиту:

  • Створити запит, в який додати поля з таблиць ТАБЕЛЬ, ПРАЦІВНИКИ та РОБОЧІ ДНІ за допомогою майстра Простой запрос.
  • Відкрити запит, створений за допомогою майстра у режимі конструктора.
  • У рядку Условие отбора поля МІСЯЦЬ увести параметр: [Уведіть номер місяця].
  • У рядку Сортировка для полів МІСЯЦЬ та ПРІЗВИЩЕ задати По возрастанию.
  • У порожній стовпчик, який розташований за полем КІЛЬКІСТЬ ВІДПРАЦЬОВАНИХ ДНІВ, увести вираз для розрахунку нарахованої заробітної плати: Нараховано: [Оклад]/[Кількість робочих днів]*[Кількість відпрацьованих днів] (рис. 10.138).
  • У наступний порожній стовпчик увести вираз для розрахун­ку утримання прибуткового податку:

Утримано: IIf([Нараховано]<=17;0;IIf([Нараховано]>17 And [Нараховано]<=85;([Нараховано]–17)*0,1;IIf([Нараховано]>85 And [Нараховано]<=170;6,8+([Нараховано]–85)*0,15; IIf([Нараховано] > 170 And [Нараховано]<=1020;19,55+([Нараховано]–170)*0,2;IIf ([Нараховано]> 1020 And [Нараховано]<=1700; 189,55+ ([Нараховано]–1020)*0,3;393,55+([Нараховано]–1700)*0,4))))) .

  • У наступний порожній стовпчик увести вираз для розрахунку суми заробітної плати до видачі:

Сума до видачі: [Нараховано] – [Утримано].

  • Для створених розрахункових полів встановити формат ДЕНЕЖНЫЙ (рис. 10.139).
  • Зберегти запит.
  • Виконати запит (рис. 10.140).


Рис. 10.140. Виконання запиту ПОВНИЙ ЗАПИТ
Мовою SQL цей запит буде мати такий вигляд:
SELECT DISTINCTROW Табель.Місяць, [Робочі дні].[Назва місяця],
Табель.[Табельний номер], Працівники.Прізвище,
Працівники.Посада, Працівники.Оклад, Табель.[Кількість
відпрацьованих днів], [Робочі дні].[Кількість робочих днів],
[Оклад]/[Кількість робочих днів]*[Кількість відпрацьованих днів]
AS Нараховано, IIf([Нараховано]<=17,0,IIf([Нараховано]>17 And
[Нараховано]<=85,([Нараховано]–17)*0.1,IIf([Нараховано]>85 And
[Нараховано]<=170,6.8+([Нараховано]–
85)*0.15,IIf([Нараховано]>170 And
[Нараховано]<=1020,19.55+([Нараховано]–
170)*0.2,IIf([Нараховано]>1020 And
[Нараховано]<=1700,189.55+([Нараховано]–
1020)*0.3,393.55+([Нараховано]-1700)*0.4))))) AS Утримано,
[Нараховано]–[Утримано] AS [Сума до видачі]
FROM Працівники RIGHT JOIN ([Робочі дні] RIGHT JOIN Табель
ON [Робочі дні].Місяць = Табель.Місяць) ON
Працівники.[Табельний номер] = Табель.[Табельний номер]
WHERE (((Табель.Місяць)=[Уведіть номер місяця]))
ORDER BY Табель.Місяць, Працівники.Прізвище;

10.3.5. Структурована мова запитів SQL

Мова SQL — це мова програмування, яка використовується під час аналізу, поновлення та обробки реляційних баз даних. СУБД ACCESS використовує мову Місrosoft JET SQL. У поперед­ньому питанні було розглянуто запити, де у відповідність кожному було наведено інструкцію SQL (рис. 10.137). Для створення запиту мовою SQL треба вибрати вкладинку Запросы, натиснути на кнопку Создать, вибрати Конструктор, у вікні Добавление таблицы натиснути на кнопку Закрыть, у меню Вид вибрати Режим SQL та увести інструкцію SQL. Інструкції SQL можна використовувати у таких випадках:

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

Мова SQL складається з інструкцій, речень, операцій та агрегатних функцій, які поєднуються в інструкції для створення, модифікації та маніпулювання базою даних.
Речення SQL змінюють умови відбирання записів. Існують такі основні речення:

  • FROM — призначено для визначення імені таблиці, з якої відбираються записи;
  • WHERE — задає умови відбирання записів;
  • GROUP BY — використовується для розподілу вибраних записів по групах;
  • HAVING — визначає умову, яку повинна задовольняти кожна група записів;
  • ORDER BY — використовується для визначення порядку сортування вибраних записів;
  • CONSTRAINT — використовується в інструкції CREATE TABLE для визначення індексу для існуючої таблиці.

Операції SQL поділяються на логічні та порівняння. Логічні операції: AND, OR, NOT. Операції порівняння: <, <=, >, >=, =, <> (не дорівнює), BETWEEN (задання інтервалу значень), LIKE (задання шаблону значень, які збіглися), IN (визначення записів у базі даних).
Агрегатні (статистичні) функції використовуються для груп записів, повертаючи єдине значення для всієї групи. Існують такі основні анрегатні функції:

  • підсумовування даних — SUM(<вираз>);
  • обчислення середнього — AVG(<вираз>);
  • визначення мінімального значення — MIN(<вираз>);
  • визначення максимального значення — MAX(<вираз>);
  • визначення кількості записів COUNT(<вираз>);

Інструкції SQL поділяються на такі категорії:

  • інструкції Мови Визначення Даних (DDL);
  • інструкції Мови Маніпулювання Даними (DML).

Інструкції DDL використовуються для створення, зміни, вилучення об’єктів бази даних, зміни імен схеми бази даних, вилучення даних.
Створення таблиць. Для створення таблиць використовується інструкція CREATE TABLE. Наприклад, інструкція створення таблиці ПРАЦІВНИКИ буде мати такий вигляд:

CREATE TABLE ПРАЦІВНИКИ ([ТАБЕЛЬНИЙ НОМЕР] DOUBLE, [ПРІЗВИЩЕ] TEXT (20), [ПОСАДА] TEXT (15), [ОКЛАД] FLOAT);

Додавання та вилучення полів. За допомогою команди ALTER TABLE можна додавати, вилучати та змінювати поля. Для додавання поля використовується параметр ADD COLUMN, для вилучення стовпчика — DROP COLUMN.
Наприклад, для додавання у таблицю ПРАЦІВНИКИ поля ДОМАШНЯ АДРЕСА типа TEXT довжиною 30 символів потрібно записати інструкцію такого вигляду:
ALTER TABLE ПРАЦІВНИКИ ADD COLUMN [ДОМАШНЯ АДРЕСА] TEXT (30);
Для змінення поля спочатку необхідно його вилучити, а потім — додати. Наприклад, необхідно збільшити розмір поля ПОСАДА до 25 символів:
ALTER TABLE ПРАЦІВНИКИ DROP COLUMN [ПОСАДА];
ALTER TABLE ПРАЦІВНИКИ ADD COLUMN [ПОСАДА] TEXT (25);
Створення та вилучення індексів. Індекс можна створити за допомогою інструкцій CREATE TABLE, CREATE INDEX та ALTER TABLE. Під час створення індексу необхідно задавати його тип, який може приймати такі значення:

  • UNIQUE — визначає поле або декілька полів (складений індекс) як унікальний ключ;
  • PRIMARY KEY — визначає поле або набір полів як первинний ключ;
  • FOREIGN KEY — визначає поле або декілька полів як зовнішній ключ.

Наприклад, для таблиці ТАБЕЛЬ необхідно створити первинний індекс за полями МІСЯЦЬ та ТАБЕЛЬНИЙ НОМЕР різними методами:

  • під час створення таблиці: CREATE TABLE ТАБЕЛЬ ([МІСЯЦЬ] INTEGER ,[ТАБЕЛЬНИЙ НОМЕР] DOUBLE, [КІЛЬКІСТЬ ВІДПРАЦЬОВАНИХ ДНІВ] DOUBLE, CONSTRAINT ІНДЕКС_МІС_ТАБ PRIMARY KEY ([МІСЯЦЬ], [ТАБЕЛЬНИЙ НОМЕР]));
  • створення індексу для існуючої таблиці за допомогою інструкції CREATE INDEX: CREATE PRIMARY KEY INDEX ІНДЕКС_МІС_ТАБ ON ТАБЕЛЬ ([МІСЯЦЬ], [ТАБЕЛЬНИЙ НОМЕР]); (Потрібно пам’ятати, що таблиця може мати тільки один індекс типу PRIMARY KEY);
  • додавання індексу до існуючої таблиці за допомогою інструкції ALTER TABLE: ALTER TABLE ТАБЕЛЬ ADD CONSTRAINT ІНДЕКС_МІС_TАБ PRIMARY KEY ([МІСЯЦЬ], [ТАБЕЛЬНИЙ НОМЕР]);

Інструкції DML використовуються для вибирання, додавання, вилучення та модифікації записів у таблицях.
Вибирання записів. Інструкція SELECT вибирає записи з бази даних у тимчасовий об’єкт RECORDSET. Ці записи надалі можна виводити на екран, вилучати, змінювати та використовувати у звітах. Формат інструкції SELECT:
SELECT [предикат] <список полів або виразів>
FROM <таблиці>[ IN <зовнішня база даних>]
[WHERE <умова вибирання записів>]
[GROUP BY <список полів>]
[HAVING <критерій>]
[ORDER BY <список полів>]
[WITH OWNERACCESS OPTION ];
Предикат використовується для обмеження кількості за-
писів, що вибираються, і може приймати такі значення: ALL (всі записи), DISTINCT (записи, значення в яких повторю-
ються, вибираються один раз) або TOP (вибирає задану кількість перших записів). За замовчанням використовується значення ALL.
Замість списку полів може задаватися символ «*», що означає вибрати всі поля із заданої таблиці. Полю або виразу можна надати нову назву таким чином: <ім’я поля(вираз)> AS <назва> (наприклад, АДРЕСА AS ДОМАШНЯ АДРЕСА; КІЛЬКІСТЬ* ЦІНА AS ВАРТІСТЬ).
Речення FROM використовується для задання таблиць, з яких вибираються записи. Якщо треба вибрати поля з кількох таблиць, перед їх іменами потрібно задавати ім’я таблиці з символом «.» (наприклад, ТАБЕЛЬ.ТАБЕЛЬНИЙ НОМЕР).
Речення WHERE визначає умову відбирання записів з бази даних. Якщо WHERE відсутнє, вибираються всі записи заданих таблиць. Наприклад, для того, щоб вибрати записи за місяці 1-ий, 2-ий, 3-ий можна записати: WHERE МІСЯЦЬ BET­WEEN 1 AND 3.

Приклад 1.
Вибрати всі поля всіх записів таблиці ТАБЕЛЬ:
SELECT * FROM ТАБЕЛЬ

Приклад 2.
Визначити прізвища перших трьох працівників, котрі мають більший оклад, ніж інші:
SELECT TOP 3 Працівники.Прізвище
FROM Працівники
ORDER BY Працівники.Оклад DESC;
У цьому прикладі DESC означає сортування записів у порядку зменшення значень.
Приклад 3.
Визначити КІЛЬКІСТЬ ВІДПРАЦЬОВАНИХ ДНІВ працівника з табельним номером 1234 у 2 місяці:
SELECT Табель.[Кількість відпрацьованих днів]
FROM Табель
WHERE (((Табель.Місяць)=2) AND ((Табель.[Табельний
номер])=1234));
Речення GROUP BY дозволяє з’єднати записи з однаковими значеннями заданих полів (таких як МІСЯЦЬ, ТАБЕЛЬНИЙ НОМЕР) в один запис. Якщо в інструкцію SELECT додати агрегатну функцію SQL (SUM, AVG, тощо), для кожного запису створюється підсумкове значення. Наприклад, необхідно визначити суми окладів по кожній посаді. На рис. 10.141 відображено інструкцію запиту та результат його виконання.

Рис. 10.141. Інструкція запиту та результат його виконання

Речення HAVING є необов’язковим і визначає, які згруповані записи повинні бути вибрані інструкцією SELECT з реченням GROUP BY. Наприклад, необхідно визначити суми окладів по посадах «Секретар» та «Економіст». У цьому випадку запит буде мати такий вигляд:
SELECT Працівники.Посада, SUM([Оклад]) AS [Сума окладів]
FROM Працівники
GROUP BY Працівники.Посада
HAVING ПОСАДА="Економіст" OR ПОСАДА="Секретар";
Параметр WITH OWNERACCESS OPTION дає змогу користувачам, котрі не мають доступу до початкових таблиць, переглядати дані запиту.
Для створення запитів на основі кількох таблиць речення FROM має такий формат: FROM <таблиця1> <тип з’єднання> <таблиця2> ON <таблиця1>.<поле>=<таблиця2>.<поле>. Тип з’єд­нання може приймати такі значення:

  • INNER JOIN — з’єднуються записи з двох таблиць, в яких зустрічаються однакові значення у полі, яке є спільним для обох таблиць;
  • LEFT JOIN — з’єднуються всі записи з першої таблиці і тільки ті записи з другої таблиці, в яких значення спільного поля збігаються;
  • RIGHT JOIN з’єднуються всі записи з другої таблиці і тільки ті записи з першої таблиці, в яких значення спільного поля збігаються;

Наприклад, з таблиць РОБОЧІ ДНІ, ПРАЦІВНИКИ та ТАБЕЛЬ треба вибрати записи за місяць, значення якого запрошується під час виконання запиту та в яких нарахована заробітна плата >700. У запит включити лише такі поля: МІСЯЦЬ, ПРІЗВИЩЕ, НАРАХОВАНО (розрахункове поле). Виконати сортування записів по полям МІСЯЦЬ та ПРІЗВИЩЕ. Інструкція SQL для розв’язання цієї задачі буде мати такий вигляд:
SELECT Табель.Місяць, Працівники.Прізвище, [Працівники]![Оклад]/[Робочі дні]![Кількість робочих днів]*[Табель]![Кіль­кість відпрацьованих днів] AS НАРАХОВАНО
FROM [Робочі дні] RIGHT JOIN (Працівники RIGHT JOIN Табель ON Працівники.[Табельний номер] = Табель.[Табельний номер]) ON [Робочі дні].Місяць = Табель.Місяць
WHERE (((Табель.Місяць)=[Уведіть номер місяця]) AND (([Працівники]![Оклад]/[Робочі дні]![Кількість робочих днів]* [Табель]![Кількість відпрацьованих днів])>700))
ORDER BY Табель.Місяць, Працівники.Прізвище;
Створення нової таблиці на основі запиту. Інструкція SELECT INTO дозволяє замість об’єкта RECORDSET створити таблицю з вибраними записами і має такий формат:
SELECT <список полів> INTO <нова таблиця>
[IN <зовнішня база даних>]
FROM <таблиця-джерело>;
Наприклад, необхідно створити таблицю ЗАРОБІТНА ПЛАТА, в яку необхідно включити всі поля (в одному екземплярі) з таблиць ТАБЕЛЬ, ПРАЦІВНИКИ та РОБОЧІ ДНІ:
SELECT Табель.Місяць, [Робочі дні].[Назва місяця], Табель.[Табельний номер], Працівники.Прізвище, Працівники.Ок­лад, Табель.[Кількість відпрацьованих днів], [Робочі дні].[Кіль­кість робочих днів] INTO [ЗАРОБІТНА ПЛАТА]
FROM [Робочі дні] RIGHT JOIN (Працівники RIGHT JOIN Табель ON Працівники.[Табельний номер] = Табель.[Табельний номер]) ON [Робочі дні].Місяць = Табель.Місяць;
Вилучення записів. Записи таблиць, які перелічені у реченні FROM і задовольняють умову, задану у реченні WHERE, можна вилучити за допомогою запиту на вилучення записів. Формат інструкції на вилучення записів:
DELETE [таблиця.*]
FROM таблиці
WHERE <умова>;
Інструкція DELETE дозволяє вилучити записи з окремої таблиці або таблиць (з таблиці «БАГАТО» відношення «один-до-багатьох»). Наприклад, в таблиці ТАБЕЛЬ вилучити записи за
1 місяць:
DELETE *
FROM Табель
WHERE [МІСЯЦЬ]=3;
Додавання записів у запиті. Для додавання записів використовується інструкція INSERT INTO. Формат запиту для додавання одного запису:
INSERT INTO <таблиця або запит> [(поле_1[, поле_2[, ...]])]
VALUES (значення_1[, значення_2[, ...])
Наприклад, додати запис у таблицю ТАБЕЛЬ:
INSERT INTO ТАБЕЛЬ ([Місяць],[Табельний номер], [Кількість відпрацьованих днів])
VALUES (3,1238,22);
Формат запиту для додавання кількох записів:
INSERT INTO <таблиця або запит> [IN внешняяБазаДанных] [(поле_1[, поле_2[, ...]])]
SELECT [<джерело даних>]поле_1[, поле_2[, ...]
FROM <вираз>;
Додати кілька записів можна з іншої таблиці або запиту, які визначаються за допомогою інструкції SELECT.
Змінення записів у запиті. Інструкція UPDATE дозволяє змінювати значення в полях заданої таблиці і має такий
формат:
UPDATE <таблиця>
SET <нове значення>
WHERE <критерії>;
Наприклад, в таблиці ТАБЕЛЬ значення поля КІЛЬКІСТЬ ВІДПРАЦЬОВАНИХ ДНІВ збільшити на 2 у третьому місяці:
UPDATE ТАБЕЛЬ
SET [Кількість відпрацьованих днів]=[Кількість відпрацьованих днів]+2
WHERE [Місяць]=3
Створення складних запитів. Для виконання дій, які не можна реалізувати в одній інструкції, використовуються складні запити. Ці запити можуть містити декілька інструкцій SELECT або декілька речень FORM у середині інструкції SELECT.

Приклад 1. Визначити прізвища працівників, котрі мають оклад більший за середній. Інструкції запиту та результат виконання відображено на рис. 10.142.

Рис. 10.142. Інструкція запиту та результат виконання

Приклад 2. Визначити прізвище працівника, котрий мав максимальний оклад у першому місяці; додати у запит місяць та оклад. Інструкція буде мати такий вигляд:
SELECT Табель.Місяць, Працівники.Прізвище, Працівники.Оклад
FROM Працівники RIGHT JOIN Табель ON Працівники.[Табельний номер] = Табель.[Табельний номер]
WHERE Табель.Місяць=1 AND Працівники.Оклад=
(SELECT MAX(Оклад)
FROM Працівники);

10.3.6. Створення та використання форм

Форми у СУБД ACCESS створюються самостійно або за допомогою майстрів. Форму, створену за допомогою майстра, можна доробити у режимі конструктора.
Створення форми за допомогою майстра:

  • Вибрати вкладинку Формы та натиснути на кнопку Создать.
  • У вікні Новая форма (рис. 10.143) вибрати джерело даних (таблицю або запит), у списку засобів створення форми вибрати Мастер форм та натиснути на кнопку Оk.

Рис. 10.143. Створення форми

  • Вибрати поля, які повинні вводитися у форму.
  • Вибрати зовнішній вигляд форми (наприклад, В один столбец) та натиснути на кнопку Далее.
  • Задати стиль форми (наприклад, Обычный) та натиснути на кнопку Далее.
  • Увести ім’я форми та натиснути на кнопку Готово.

Відкрити форму для перегляду або уведення даних можна вибравши її ім’я у вікні бази даних та натиснувши на кнопку От-
крыть
. На рис. 10.144 відображено форму, яку створено на основі таблиці Працівники.

Рис. 10.144. Форма ПРАЦІВНИКИ

Створення підпорядкованих форм (ієрархічних). Підпорядкована форма — це форма, яка знаходиться усередині іншої форми — головної форми. Головна форма може мати будь-яку кількість підпорядкованих форм. Головна форма та дані таблиці, на основі котрої вона побудована, повинні бути зв’язані відношенням «один-до-багатьох» з першою підпорядкованою формою, а перша підпорядкована форма — відношенням «один-до-бага­тьох» з другою підпорядкованою формою. Наприклад, необхідно створити форму, яка основана на таблиці працівники і містить підпорядковану форму, яка основана на таблиці табель:

  • Вибрати вкладинку Формы, натиснути на кнопку Создать, вибрати Мастер форм та натиснути на кнопку Оk.
  • Вибрати таблицю Працівники та поля, які необхідно включити до форми.
  • Вибрати таблицю Табель та поля, які необхідно додати у форму, натиснути кнопку Далее.
  • Натиснути на селекторну кнопку Подчиненные формы та вибрати таблицю, по якій буде створена головна форма — Працівники (рис. 10.145). Натиснути на кнопку Далее.

Рис. 10.145. Визначення типу уявлення даних та головної форми

  • Вибрати зовнішній вигляд підпорядкованої форми та натиснути на кнопку Далее.
  • Вибрати стиль форми та натиснути на кнопку Далее.
  • Увести імена головної та підпорядкованої форм і натиснути на кнопку Готово.

На рис. 10.146 показано головну та підпорядковану форми.

Рис. 10.146. Головна та підрядкова форми

Робота з формою у режимі конструктора. У режимі конструктора можна створити нову форму або модифікувати існуючу. На рис. 10.147 у режимі конструктора відображено форму Працівники, яку було створено за допомогою майстра (рис. 10.144).

Рис. 10.147. Форма ПРАЦІВНИКИ у режимі конструктора

Форма містить такі розділи:

  • Заголовок — використовується для виведення тексту заголовка форми, коментарів по роботі з формою, кнопок для відкривання зв’язаних форм, тощо;
  • Область данных — містить елементи управління, які призначені щодо виведення даних полів таблиць, керуючі елементи (кнопки, перемикачі) тощо;
  • Верхний колонтитул — використовується для відображення заголовка форми, стовпців тощо (виведення відбувається тільки під час друкування форми);
  • Нижний колонтитул — використовується для зображення дат, номерів сторінок (виведення відбувається тільки під час друкування форми).
  • Область выделения формы (квадрат на перетині лінійок). Якщо виконати CLICK у цій області — відбувається виділення форми, DOUBLE CLICK — відкривається вікно властивостей форми;
  • Область выделения раздела (квадрат біля заголовка розділу). Якщо виконати CLICK в цій області — відбувається виділення розділу, DOUBLE CLICK — відкривається вікно властивостей розділу.

Під час створення нової форми в ній присутня лише одна категорія — Область данных. Інші розділи додаються за допомогою меню Вид.
Форма складається з об’єктів. Для додавання нових об’єктів використовується панель елементів (рис. 10.147). Кожний об’єкт має властивості, які можна змінювати у вікні властивостей. Щоб завантажити це вікно, потрібно виділити об’єкт та вибрати меню Вид/Свойства або натиснути праву кнопку миші та вибрати Свойства. Наприклад, для змінення надпису поля Оклад необхідно змінити властивість Подпись; для встановлення формату даних для поля Оклад потрібно змінити властивість Формат поля.

Страницы [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ]
[ 16 ] [ 17 ] [ 18 ] [ 19 ] [ 20 ] [ 21 ] [ 22 ] [ 23 ] [ 24 ] [ 25 ] [ 26 ] [ 27 ] [ 28 ] [ 29 ] [ 30 ] [ 31 ] [ 32 ]
[ 33 ] [ 34 ] [ 35 ] [ 36 ] [ 37 ] [ 38 ] [ 39 ] [ 40 ] [ 41 ] [ 42 ] [ 43 ] [ 44 ] [ 45 ] [ 46 ] [ 47 ] [ 48 ] [ 49 ] [ 50 ]


ВНИМАНИЕ! Содержимое сайта предназначено исключительно для ознакомления, без целей коммерческого использования. Все права принадлежат их законным правообладателям. Любое использование возможно лишь с согласия законных правообладателей. Администрация сайта не несет ответственности за возможный вред и/или убытки, возникшие или полученные в связи с использованием содержимого сайта.
© 2007-2021 BPK Group.