Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab27.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
967 Кб
Скачать
☆

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

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

Задача 2: Перевірити правильність завдання загальних годин у таблиці ПРЕДМЕТ. По запиту повинні відбиратися тільки ті записи, у яких значення в полі ГОДИНИ не дорівнює значенню, одержуваному при додаванні значень полів ПР и ЛЕК.

  1. Повторіть пункт 1 з попередньої вправи.

  2. У вікні конструктора у стовпчики бланка запиту в рядок Поле перетягніть з списку полів таблиці ПРЕДМЕТ поля НП, ГОДИНИ, ЛЕК і ПР

  3. Запишіть у бланку запиту в стовпчику , ГОДИНИ у рядку Условия отбора <>[ЛЕК]+[ПР].

  4. Збережіть запит під іменем —ЗАДАЧА2.

  5. Виконайте запит. Проаналізуйте отриманий результат. З’ясуйте, як необхідно змінити дані у таблиці ПРЕДМЕТ, щоб результуюча таблиця у цьому запиті була порожньою. Змініть дані належним чином та знову виконайте запит.

Якщо Ви не бажаєте виконувати роботу далі, оформіть звіт, скопіюйте файл бази даних у власну папку на сервері та підготуйте файл бази даних для перевірки (два запити).

Додатково завдання на рівень “Середній”

2. 3. Створення обчислюваних полів у запитах

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

Задача 3: Знайти записи про предмети, у яких загальне число годин по предмету не збігається із сумою годин лекцій і практики. Для рішення цієї задачі розрахуємо різницю між загальним числом годин по предмету (поле ГОДИНИ) і сумою годин лекцій (поле ЛЕК) і практики (поле ПР). У відповідь включимо тільки ті записи, для котрих ця різниця не дорівнює нулю.

  1. Створіть у режимі конструктора запит на вибірку для таблиці ПРЕДМЕТ. Перетягніть в бланк запиту поля НП, ПР, ЛЕК, ГОДИНИ

  2. Для підрахунку різниці створіть обчислюване поле в порожній комірці рядка Поле, записавши до неї вираз:

[ГОДИНИ]-[ПР]-[ЛЕК]

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

Викличте побудувач виразів, натиснувши на панелі конструктора запитів кнопку Построить , або обравши Построить у контекстному меню (курсор миші повинен бути встановлений у рядку Поле поля, що обчислюється).

  1. У лівій частині вікна Построитель выражений виберіть таблицю ПРЕДМЕТ, на якій побудований запит. Справа відобразиться список її полів. Послідовно вибирайте потрібні поля, натискаючи кнопку Вставить, і вставляючи знаки операцій. При цьому у верхній частині вікна сформується вираз. Для відбору записів із ненульовим значенням різниці в обчислюваному полі в рядок Условие отбора уведіть <> 0 (не равно 0).

Після введення виразу система за замовчанням формує ім'я поля що обчислюється - Выражение 1:. Це ім'я вставиться перед виразом [ГОДИНИ]-[ПР]-[ЛЕК].

  1. Для зміни імені побудованого поля встановіть курсор у полі, що обчислюється, бланка запиту і натисніть праву кнопку миші. У контекстному меню виберіть Свойства і в рядок Подпись поля введіть нове ім'я поля — ГОДИНИ не дорівнюють ПР+ЛЕК. Ім'я поля може бути налагоджене також безпосередньо в бланку запиту.

  2. Збережіть запит під іменем —ЗАДАЧА 3.

  3. Виконайте запит. Проаналізуйте отриманий результат.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]