Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теорія Access 2010.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
3.57 Mб
Скачать

Створення поля зі списком за допомогою майстра

Створимо поле зі списком для введення значень коду предмета - КП у таблицю НАВЧАННЯ. Це дозволить переглядати і вводити значення, які вже є у головній таблиці ПРЕДМЕТ, а також перевіряти відповідність коду і найменування предмету, наявних у документі-джерелі «План занять».

Виберемо кнопку Поле со списком у групі Элементы управления на вкладці Конструктор, установимо курсор миші у потрібне місце, натиснемо кнопку миші і, не відпускаючи її, накреслимо рамку елемента. Після відпускання кнопки миші запуститься майстер і відкриється діалогове вікно Создание полей со списком. У цьому вікні визначимо спосіб, яким список поля одержує свої значення. Для формування списку зі зв'язаної таблиці виберемо варіант Таблица или запрос содержат значения, которые использует поле со списком (рис 6.9).

Рис. 6.9. Вибір способу форматування списку

У наступному вікні виберемо таблицю ПРЕДМЕТ, що буде поставляти значення у список поля (рис 6.10).

Рис. 6.10. Вибір джерела даних для формування списку

Потім виберемо поле КП, а також поле НП для розшифровки коду КП (рис. 6.11). Ці поля утворять записи списку.

Рис. 6.11. Вибір полів для формування запису списку

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

перемістимо її в потрібне місце (рис. 6.12).

Рис. 6.12. Вікно для оформлення стовпців списку

Далі виберемо поле списку КП, що є ключем зв'язаної таблиці ПРЕДМЕТ. Із цього поля буде вибиратися значення для введення в поле форми (рис. 6.13).

Рис. 6.13. Вікно для вибору поля джерела значень для поля форми

У наступному вікні відмітимо перемикач Сохранить в поле і виберемо поле форми КП

(поле таблиці НАВЧАННЯ ), у яке будуть вводитися значення зі списку (рис. 6.14).

Рис. 6.14. Вибір поля форми, у яке вводиться значення зі списку

Далі введемо підпис поля зі списком - «Код предмету» (рис. 6.15).

Рис. 6.15. Визначення підпису поля зі списком

Натиснемо кнопку Готово. У результаті одержимо поле КП зі списком представленого на рис. 6.18.

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

Створення поля зі списком без використання майстра

Створимо поле зі списком для введення значень ідентифікатора викладача ТАБН. Це дозволить переглядати і вводити значення, які вже є в головній таблиці ВИКЛАДАЧІ, а також перевіряти відповідні номери і прізвища викладачів.

Натиснемо на вкладці Конструктор у групі Элементы управления кнопку Поле со списком.

Установимо курсор миші на елемент Свободный (рис. 6.16).

Рис. 6.16. Елемент форми ПолеСоСписком

Натиснемо праву кнопку миші, щоб викликати контекстне меню. Виберемо пункт Свойства, потім – вкладку Данные. У строчці Данные виберемо поле ТАБН, які необхідно заповнювати через форму у таблиці НАВЧАННЯ (рис. 6.17). У рядку Тип источника строк виберемо елемент Таблица|Запрос, а в рядку Источник строк – таблицю ВИКЛАДАЧІ. Поля, що включаються у список, і їхній порядок визначаються у побудовнику, що викликається в цьому ж рядку натисканням кнопки .

Рис. 6.17. Вікно визначення властивостей даного поля зі списком

Побудовник виводить бланк запитів, у який перетягнемо з таблиці ВИКЛАДАЧІ поля ТАБН і ПІБ.

Для того щоб у списку виводилися два поля, на вкладці Макет необхідно в рядку Число столбцов указати «2». Для настроювання ширини стовпців списку у рядках Ширина списка і Ширина столпца задамо підходящі значення. Закриємо вікно властивостей Поле со списком У результаті одержимо поле ТАБН зі списком в остаточній формі, представленої на рис. 6.18.

Зауваження

Якщо необхідно перетворити звичайне поле у поле зі списком , треба в контекстному меню поля вибрати Преобразовать элемент в і далі вибрати рядок Поле со списком. При включеній кнопці Мастера элементов елемент буде перетворений майстром. При виключеній кнопці необхідно для одержання поля зі списком установити властивості цього поля, як описано вище.

Рис. 6.18. Форма ПЛАН ЗАНЯТЬ у режимі конструктора

Завантаження даних у підлеглу таблицю через форму

Для завантаження даних у підлеглу таблицю НАВЧАННЯ через форму ПЛАН ЗАНЯТЬ можна відразу перейти з режиму конструктора у Режим формы. Для цього на вкладці Главная у списку кнопки Режим вибирається Режим формы.

Якщо форма була закрита, необхідно у вікні Область навигации вибрати форму ПЛАН ЗАНЯТЬ.

На рис. 6.19 приводиться форма ПЛАН ЗАНЯТЬ у режимі форми, що забезпечує завантаження і коректування даних про заняття у таблиці НАВЧАННЯ, підлеглої таблицям ГРУПА, ПРЕДМЕТ, ВИКЛАДАЧІ, дані з яких тільки відображаються у формі.

Рис. 6.19. Форма ПЛАН ЗАНЯТЬ у режимі форми

Завантаження підлеглої таблиці. Для завантаження запису нового заняття у таблицю НАВЧАННЯ через викликану форму необхідно зробити поточний номер групи, для якої вводяться дані про заняття з документа «План занять». Це можна зробити шляхом перегляду записів груп за допомогою кнопок Попередня група і Наступна група (рис. 6.19).

При великій кількості груп доцільно використати функцію пошуку потрібного запису. Щоб здійснити пошук, установимо курсор у поле номера групи, натиснемо на вкладці Главная у групі Найти кнопку Найти і у вікні, що відкрилося, Поиск и замена (рис.6.20) задамо як зразок пошуку номер потрібної групи. Після натискання в цьому

вікні кнопки Найти далее у формі відобразяться дані заданої групи.

Рис. 6.20. Діалогове вікно пошуку запису

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

Для формування такої кнопки використаємо майстер кнопок, у діалоговому вікні якого Создание кнопок (рис. 6.21) треба вибрати відповідну категорію Обработка записей і дія Добавить запись, які забезпечать формування потрібної процедури обробки події.

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

Встановлення властивостей Разрешить добавление, Разрешить удаление, Разрешить изменение, що забезпечують можливість додавання, видалення і зміни записів при завантаженні і коректуванні записів таблиці НАВЧАННЯ – джерела записів, показаного у вікні властивостей підлеглої форми (рис. 6.22).

Рис. 6.22. Установка властивостей підлеглої форми НАВЧАННЯ

Аналогічно створюється форма, для завантаження результатів іспитів у таблицю УСПІШНІСТЬ і їх перегляд. Відповідно до технології завантаження бази даних здійсніть проектування форми для завантаження даних у підлеглу таблицю УСПІШНІСТЬ із документа-джерела «Екзаменаційна відомість».

Визначите загальну структуру складеної форми для введення (перегляду) даних про оцінки студентів групи по предметах відповідно до підсхеми даних для складеної форми, наведеної на рис. 6.23.

Рис. 6.23. Підсхема для складеної форми ВІДОМІСТЬ УСПІШНОСТІ

У результаті завантаження даних про оцінки студентів групи по предметах у БД повинні формуватися тільки записи таблиці УСПІШНІСТЬ (об'єкт завантаження). Завантаження і перегляд цих даних зручно переглядати по кожному проведеному в групі заняттю окремо з відповідною «Екзаменаційною відомістю». Тому в підсхему для форми введення включається таблиця НАВЧАННЯ. Крім того, у формі передбачити висновок (відображення) даних про предмет і викладача, що проводить заняття, а в списку студентів необхідно передбачити відображення його прізвища. Для цього в підсхему включені таблиці СТУДЕНТ, ПРЕДМЕТ і ВИКЛАДАЧІ.

Сплануйте розміщення реквізитів у макеті форми так, щоб забезпечити зручне введення даних у таблицю УСПІШНІСТЬ із документа «Екзаменаційна відомість», а також відображення довідкової інформації про студента, предмет і викладача, у списку студентів передбачите виведення прізвища студента.

Виконаєте конструювання екранної форми (рис. 6.24), через яку буде відбуватися введення, додавання і зміна записів таблиці УСПІШНІСТЬ.

Рис. 6.24. Форма введення й перегляду даних про успішність студентів по теорії і практиці

Запити

Конструювання однотабличного запиту на вибірку

Розглянемо процес конструювання однотабличного запиту на вибірку на прикладі одержання інформації з таблиці ПРЕДМЕТ бази даних «Навчальний процес».

Використання логічних операцій в умові відбору

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

Для створення запиту в режимі конструктора виберемо вкладку Создать на панелі швидкого доступу і натиснемо кнопку Конструктор запросов.

Після натискання кнопки з'являється вікно запиту на вибірку в режимі конструктора Запрос1 (рис. 7.1) і діалогове вікно Добавление таблицы. У діалоговому вікні виберемо таблицю ПРЕДМЕТ і натиснемо кнопку Добавить. Обрана таблиця буде відображена в області схеми даних запиту. Закриємо вікно Добавление таблицы.

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

Рис. 7.1. Вікно конструктора запиту на вибірку з логічними операціями в умові відбору.

Сформульовані в завданні умови вимагають формування наступного логічного виразу:

(ГОДИНИ<=100 AND ЛЕК<>0) OR (ГОДИНИ>150 AND ЧС<3)

Тут ЛЕК<>0 (число лекцій не дорівнює нулю), відповідає заданому в завданні умові вибрати предмети, у яких є лекції.

Умови з перших дужок запишемо у відповідних полях ГОДИНИ і ЛЕК першої строки Условия отбора. Між умовами в різних полях одного рядка виконується логічна операція . Умови із других дужок запишемо у відповідних полях ГОДИНИ і ЧС другого рядка Условия отбора. Між умовами, записаними в різних рядках, виконується логічна операція .

Виконаємо запит, нажавши на панелі конструктора запитів кнопку Выполнить.

На екрані з'явиться вікно запиту в режимі таблиці із записами з таблиці ПРЕДМЕТ, які відповідають заданим умовам відбору.

Збережемо запит, натиснувши кнопку Сохранить на вкладці Файл і задавши потрібне ім'я запиту. Закриємо поточний запит натиснувши кнопку вікна запиту Закрыть. Збережений запит можна виконати, виділивши запит у вікні Все объекты Access, натисканням правої кнопки миші і вибравши кнопку Открыть.

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

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

Така умова записується у бланку запиту в стовпці ГОДИНИ і у полях [ПР] і [ЛЕК], як показано в бланку запиту на рис. 7.2.

Рис.7.2. Вікно запиту на вибірку з таблиці ПРЕДМЕТ записів, у яких кількість годин не дорівнює сумі годин лекцій і практики

Конструювання багатотабличного запиту на вибірку

Запит на основі декількох взаємозалежних таблиць

Нехай необхідно одержати інформацію про оцінки отриманих студентами по всіх предметах. Результат повинен містити прізвище студента, найменування зданих предметів і оцінки.

Для створення запиту на панелі швидкого доступу виберемо вкладку Создание і натиснемо кнопку Конструктор запросов.

Формування схеми даних запиту

У вікні Додавання таблиці виберемо таблиці:

  • СТУДЕНТ- для вибірки прізвище студента з поля ПІБ.

  • УСПІШНІСТЬ- для визначення кодів предметів (поле КП), по яких студент здав іспити, вибірки оцінок по предметах (з поля ОЦІНКА).

  • ПРЕДМЕТ- для вибірки найменування предмету (з поля НП), представленого кодом КП у таблиці УСПІШНІСТЬ.

Закриємо вікно Добавление таблицы.

У вікні конструктора запитів (рис. 7.3) представлена схема даних запиту, що містить обрані таблиці. Між таблицями автоматично встановлені необхідні зв'язки:

  • Одне-багатозначний зв'язок між таблицями СТУДЕНТ і УСПІШНІСТЬ по складному ключу НГ+НС відповідно до побудованого раніше схемою даних.

  • Звязок-об'єднання між УСПІШНІСТЬ і ПРЕДМЕТ оскільки ці таблиці мають поля з однаковим ім'ям КП і однаковим типом даних.

Рис. 7.3. Вікно запиту про успішність студента зі створеною схемою даних.

Підготовка бланка запиту

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

Рис. 7.4. Запит на одержання інформації про здачу іспитів студентками Боярської Н. П. і Макової.

Перетягнемо за допомогою миші поля, що включають у результат виконання запиту, у строку бланка запиту Поле:

  • ПІБ- з таблиці СТУДЕНТ.

  • НП- з таблиці ПРЕДМЕТ.

  • ОЦІНКА- з таблиці УСПІШНІСТЬ.

Введення значень в умови відбору записів

Нехай необхідно одержати інформацію про успішність конкретних студентів: Боярскої Н.П. і Макової.

Задамо у рядку Условие отбора їх прізвища. Запишемо прізвища студентів у різних рядках бланка запиту, оскільки необхідно вибрати записи зі значенням у поле ПІБ- Боярська або Макова. Оскільки ініціали студентки Макової невідомі, її прізвище задамо з використанням символу шаблона «*». Прізвище з ініціалами має крапки, тому його треба брати в лапки. Після введення прізвища із символом шаблону система сама вставляє оператор Like, що визначає пошук за зразком. Заповнений бланк запиту представлений на рис. 7.4.

Виконаємо запит, натиснувши на панелі конструктора запитів кнопку Выполнить.

Зауваження

Запис про заданого студента з'являться у результуючій таблиці запиту тільки в тому випадку, якщо запис про цього студента є в таблиці СТУДЕНТ, а в таблиці НАВЧАННЯ є записи, пов'язані із записом про студента.

Формування записів результату при виконанні запиту

По заданому прізвищу студента - Боярська Н.П.- у таблиці СТУДЕНТ відшукується запис. За значенням ключа зв'язку НГ+НС здійснюється вибірка підлеглих записів з таблиці УСПІШНІСТЬ із оцінками даного студента по різних предметах (у поле ОЦІНКА). Для кожного із цих записів за значенням ключа зв'язку КП вибирається один запис з найменуванням предмета (НП) з таблиці ПРЕДМЕТ.

Таким чином, таблиця з результатом запиту буде містити по одному запису про кожен предмет, зданому студентом. Аналогічно формуються записи для другого заданого в запиті студента - Макової.

Введення параметрів у запит

У попередньому прикладі для завдання прізвища конкретного студента необхідно було коректувати бланк запиту. Щоб уникнути цього, доцільно використати в запиті параметри. При цьому Access перед виконанням запиту через діалогове вікно буде запитувати у користувача конкретні значення параметрів і уведе їх в умови відбору.

Нехай необхідно одержати інформацію про оцінку студента по заданому предмету.

В умову відбору поля ПІБ замість конкретного прізвища введемо назву параметра, по якому буде запитуватися прізвище при виконанні запиту. Назву параметра введемо як текст у квадратні дужки:

[Прізвище і ініціали студента]

Цей текст Access сприймає як ім'я параметра (рис. 7.5). В умову відбору поля НП

уведемо другий параметр запиту: [Найменування предмету]

Рис. 7.5. Бланк запиту з параметрами для введення ПІБ і НП.

Рис. 7.6. Діалогові вікна для введення параметрів запиту.

При виконанні запиту Access виведе діалогові вікна, представлені на рис. 7.6, у які користувач зможе ввести потрібні значення параметрів.