Запити на вибірку в Access. Створення запитів у Microsoft Access

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

Відкрити створену у попередній лабораторній роботі базу даних Деканат ТФ .

Створення міжтабличних зв'язків

У вікні бази даних вибрати об'єкт Таблиці . Натиснути на кнопку « Схема даних » на панелі інструментів або виконати команду « Сервіс »  « Схема даних », використовуючи командне меню. На екрані з'явиться вікно Схема даних » та вікно « Додавання таблиці (рис. 18).

Мал. 18. Діалогове вікно «Схема даних» та діалогове вікно «Додавання таблиці»

У вікні " Додавання таблиці » на закладці « Таблиці » перераховані усі таблиці бази даних. Для створення зв'язків між таблицями їх потрібно перемістити з вікна. Додавання таблиці " у вікно " Схема даних ». Для перенесення таблиці її треба виділити клацанням миші та клацнути по кнопці « Додати ». Після перенесення потрібних таблиць закрити вікно « Додавання таблиці ».

Перенести всі таблиці у вікно « Схема даних ». Змінити розмір вікон таблиць, щоб було видно весь текст (рис. 19).

Щоб створити зв'язок між таблицями Студенти і Оцінки відповідно до Схема даних треба підвести курсор миші до поля Код студента в таблиці Студенти та при натиснутій клавіші миші перетягнути це поле на поле Код студента в таблиці Оцінки , а потім відпустити кнопку миші. Відкриється вікно « Зміна зв'язків (рис. 20).

Встановити прапорець як « Забезпечення цілісності даних », Клацнувши по ньому. Встановити прапорці у властивостях « Каскадне оновлення пов'язаних полів » та « Каскадне видалення пов'язаних полів ». Це дозволить редагувати записи лише у таблиці Студенти , а таблиці Оцінки ці дії зі зв'язаними записами будуть виконуватися автоматично.

Для створення зв'язку клацнути на кнопку « Створити ».

Мал. 19. Зовнішній вигляд схеми даних бази даних Деканат ТФ» до накладання зв'язків

Мал. 20. Діалогове вікно завдання параметрів зв'язку між полями таблиць

Аналогічно відповідно до Схема даних створюються зв'язки між рештою таблиць (рис. 21).

Мал. 21. Схема даних бази даних Деканат ТФ»

При закритті вікна схеми даних відповісти Так на питання про збереження макету.

Створені зв'язки між таблицями баз даних можуть бути змінені.

Для зміни зв'язків потрібно викликати вікно. Схема даних ». Після цього встановити курсор миші на зв'язок, який потрібно змінити та клацнути правою клавішею миші. З'явиться контекстне меню (рис.22):

Мал. 22. Контекстне меню зв'язку

Якщо вибрати команду « видалити », то після підтвердження зв'язок буде видалено. Якщо потрібно змінити зв'язок, вибрати команду « Змінити зв'язок ». Після цього у вікні « Зміна зв'язків » (у верхній частині) вибрати поля в таблицях, які потрібно зв'язати і клацнути по кнопці « Створити ».

Запити

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

Ми розроблятимемо запити в режимі Конструктора .

У Access можна створювати такі типи запитів:

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

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

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

    Запит на зміну . Це запит, який змінює або переміщає кілька записів за одну операцію. Існує чотири типи запитів на зміну:

1. На видалення запису. Цей запит видаляє групу записів із однієї або кількох таблиць.

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

3. Додавання записів. Додає групу записів з однієї чи кількох таблиць до кінця однієї чи кількох таблиць.

4. На створення таблиці. Створює нову таблицю на основі всіх або частин даних з однієї або декількох таблиць.

    Запити SQL . Створюються за допомогою інструкцій мови SQL , використовуваного в БД .

Я хотів би мати можливість створити параметризований запит у MS Access 2003 та передати значення певних елементів форми у цей запит, а потім отримати відповідний набір результатів та виконати з ними деякі базові обчислення. Я коротко розповім, як отримати параметри запиту заповнення елементами форми. Якщо я повинен використовувати VBA, це нормально.

5 відповідей

Посилання на елементи керування у формі можна використовувати безпосередньо в запитах Access, хоча важливо визначити їх як параметри (інакше результати в останніх версіях Access можуть бути непередбачуваними, якщо вони були надійними).

Наприклад, якщо ви хочете відфільтрувати запит по елементу керування LastName у MyForm, ви повинні використовувати це як критерій:

LastName = Forms! MyForm! LastName

PARAMETERS [!MyForm!] Text (255); SELECT tblCustomers.* FROM tblCustomers WHERE tblCustomers.LastName=!!;

Однак я хотів би спитати, навіщо вам потрібен збережений запит для цієї мети. Що ви робите із результатами? Відображення їх у формі чи звіті? Якщо це так, ви можете зробити це у джерелі записів форми/звіту та залишити збережений запит без змін параметрами, щоб його можна було використовувати в інших контекстах, не відображаючи підказки для заповнення параметрів.

З іншого боку, якщо ви щось робите в коді, просто напишіть SQL на льоту та використовуйте буквальне значення елемента керування форми для створення пропозиції WHERE.

Ось фрагмент коду. Оновлює таблицю за допомогою параметра txtHospital:

Set db = CurrentDb Set qdf = db.QueryDefs("AddHospital") qdf.Parameters!txtHospital = Trim(Me.HospName) qdf.ReturnsRecords = False qdf.Execute dbFailOnError intResult = qdf.

Ось приклад SQL:

PARAMETERS txtHospital Text(255); INSERT INTO tblHospitals () VALUES ()

Є три традиційні способи обійти цю проблему:

  1. Призначте параметру якесь значення, щоб користувачеві було запропоновано ввести значення під час виконання запиту.
  2. Поле посилання на формі (можливо приховане)
  3. Створіть запит на льоту та не використовуйте параметри.

Я думаю, що це просто неправильно для мене, що вам доведеться вводити щось на зразок [?enter ISO code of the country] або посилання на поля у вашій формі, такі як!! .

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

Зазвичай я вибирав останній варіант, створював запит на льоту та оновлював об'єкт запиту в міру потреби. Проте це поширено для атаки з використанням SQL-ін'єкцій (випадково або спеціально, знаючи моїх користувачів), і це просто непристойно.

"Ed. Start - для завершення прикладу дим qryStartDate як dam dim qryEndDate як qryStartDate = #2001-01-01# qryEndDate = #2010-01-01# "Ed. Натисніть "QUOTEING "stallyon": Щоб пройти параметри для роботи в VBA ", є реально надійним: "Перший час" буде визначено деякі variables: Dim qdf As Querydef Dim rst As Recordset "буде виконано": Set qdf = CurrentDB.QueryDefs(qryname) "Now we"ll assign values ​​to query using the parameters option: qdf.Parameters(0) = qryStartDate qdf.Parameters(1) = qryEndDate "Now we"ll навести querydef to aset run it Set rst = qdf.OpenRecordset "Додатковий код на recordset "Close all objects rst.Close qdf.Close Set rst = Nothing Set qdf = Nothing

(Я не перевіряв це сам, тільки дещо, що я зібрав у своїх подорожах, тому що час від часу я хотів зробити це, але закінчував тим, що використав один із моїх раніше згаданих кладжів)

редагувати У мене нарешті була причина використати це. Ось фактичний код.

"... Dim qdf As DAO.QueryDef Dim prmOne As DAO.Parameter Dim prmTwo As DAO.Parameter Dim rst як recordset "... "open up the query: Set qdf = db.QueryDefs("my_two_param_query") "params called param_one and "param_two" link your DAP.Parameters to query Set prmOne = qdf.Parameters!param_one Set prmTwo = qdf.Parameters!param_two "set параметри prmOne = 1 prmTset = 2 Set rst , _ dbSeeChanges) "... Використовуйте записи як звичайний ", щоб вислухати, що ви почуєте після вашого self Set rst = Nothing Set prmOne = Nothing Set prmTwo = Nothing Set qdf = Nothing

DoCmd.SetParameter "frontMthOffset", -3 DoCmd.SetParameter "endMthOffset", -2 DoCmd.OpenQuery "QryShowDifference_ValuesChangedBetweenSELECTEDMonths"

де SQL запиту Access включає практично SQL. наприклад

"select blah from mytable where dateoffset="

Все просто працює!

Давайте візьмемо приклад. параметризований запит виглядає так:

Select Tbl_Country.* Від Tbl_Country WHERE id_Country = _ [?enter ISO code of the country]

і ви хотіли б мати можливість отримати це значення ([? enter... country] one) з форми, де у вас є елементи управління та деякі дані в ньому. Ну... це може бути можливо, але потребує деякої нормалізації коду.

Одним із рішень було б присвоєння елементам управління форми певної логіки, такої як fid_Country для контролю, який триматиме id_Country значення. Потім ваш запит може бути представлений у вигляді рядка:

Qr = "Select Tbl_Country.* Від Tbl_Country WHERE id_Country = "

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

Dim ctl as Control Для кожного ctl в Me.controls If instr(qr,"[" & ctl.name & "]") > 0 Then qr = replace(qr,"[" & ctl.name & "]",ctl .value) End if Next i

При цьому у вас буде повністю оновлений запит, у якому параметри замінені на реальні дані. Залежно від типу fid_country (рядок, GUID, дата і т.д.) може знадобитися додати додаткові подвійні лапкичи ні, щоб отримати остаточний запит, наприклад:

Qr = "Select Tbl_Country.* Від Tbl_Country WHERE id_Country = "GB""

Це повністю сумісний з Access запит, який можна використовувати для відкриття набору записів:

Set rsQuery = currentDb.openRecordset(qr)

Я думаю, що ви зробили тут.

Ця тема має вирішальне значення, коли ваша мета полягає у розробці програм Access. Ви повинні запропонувати користувачам стандартний спосібзапиту даних з них графічного інтерфейсуне тільки для запуску запитів, але й для фільтрації безперервних форм (так само, як це робить Excel за допомогою опції «автофільтр») та керування параметрами звітів. Успіхів!

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

Відкрити створену у попередній лабораторній роботі базу даних Деканат ТФ .

Створення міжтабличних зв'язків

У вікні бази даних вибрати об'єкт Таблиці . Натиснути на кнопку « Схема даних » на панелі інструментів або виконати команду « Сервіс »  « Схема даних », використовуючи командне меню. На екрані з'явиться вікно Схема даних » та вікно « Додавання таблиці (рис. 18).

Мал. 18. Діалогове вікно «Схема даних» та діалогове вікно «Додавання таблиці»

У вікні " Додавання таблиці » на закладці « Таблиці » перераховані усі таблиці бази даних. Для створення зв'язків між таблицями їх потрібно перемістити з вікна. Додавання таблиці " у вікно " Схема даних ». Для перенесення таблиці її треба виділити клацанням миші та клацнути по кнопці « Додати ». Після перенесення потрібних таблиць закрити вікно « Додавання таблиці ».

Перенести всі таблиці у вікно « Схема даних ». Змінити розмір вікон таблиць, щоб було видно весь текст (рис. 19).

Щоб створити зв'язок між таблицями Студенти і Оцінки відповідно до Схема даних треба підвести курсор миші до поля Код студента в таблиці Студенти та при натиснутій клавіші миші перетягнути це поле на поле Код студента в таблиці Оцінки , а потім відпустити кнопку миші. Відкриється вікно « Зміна зв'язків (рис. 20).

Встановити прапорець як « Забезпечення цілісності даних », Клацнувши по ньому. Встановити прапорці у властивостях « Каскадне оновлення пов'язаних полів » та « Каскадне видалення пов'язаних полів ». Це дозволить редагувати записи лише у таблиці Студенти , а таблиці Оцінки ці дії зі зв'язаними записами будуть виконуватися автоматично.

Для створення зв'язку клацнути на кнопку « Створити ».

Мал. 19. Зовнішній вигляд схеми даних бази даних Деканат ТФ» до накладання зв'язків

Мал. 20. Діалогове вікно завдання параметрів зв'язку між полями таблиць

Аналогічно відповідно до Схема даних створюються зв'язки між рештою таблиць (рис. 21).

Мал. 21. Схема даних бази даних Деканат ТФ»

При закритті вікна схеми даних відповісти Так на питання про збереження макету.

Створені зв'язки між таблицями баз даних можуть бути змінені.

Для зміни зв'язків потрібно викликати вікно. Схема даних ». Після цього встановити курсор миші на зв'язок, який потрібно змінити та клацнути правою клавішею миші. З'явиться контекстне меню (рис.22):

Мал. 22. Контекстне меню зв'язку

Якщо вибрати команду « видалити », то після підтвердження зв'язок буде видалено. Якщо потрібно змінити зв'язок, вибрати команду « Змінити зв'язок ». Після цього у вікні « Зміна зв'язків » (у верхній частині) вибрати поля в таблицях, які потрібно зв'язати і клацнути по кнопці « Створити ».

Запити

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

Ми розроблятимемо запити в режимі Конструктора .

У Access можна створювати такі типи запитів:

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

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

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

    Запит на зміну . Це запит, який змінює або переміщає кілька записів за одну операцію. Існує чотири типи запитів на зміну:

1. На видалення запису. Цей запит видаляє групу записів із однієї або кількох таблиць.

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

3. Додавання записів. Додає групу записів з однієї чи кількох таблиць до кінця однієї чи кількох таблиць.

4. На створення таблиці. Створює нову таблицю на основі всіх або частин даних з однієї або декількох таблиць.

    Запити SQL . Створюються за допомогою інструкцій мови SQL , використовуваного в БД .

Сьогодні ми почнемо розглядати такий додаток, як Microsoft Access 2003 , що вміє створювати власні бази даних ( формат mdb), а також створювати клієнтські програми до існуючих баз на основі MS SQL Server. Темою сьогоднішньої статті буде створення нових запитів з Access, що мають на увазі, як прості запити, так і різні функції, уявлення та процедури. Під запитом тут розуміються об'єкти бази даних.

Про Microsoft Access

Microsoft Accessпрограмний продукткомпанії Microsoft, що є реляційною СУБД. Має величезні можливості при організації бази даних, створення окремої програми, яка може взаємодіяти з багатьма іншими СУБД. Рішення клієнт-сервер, що найчастіше зустрічається, де в якості клієнта виступає додаток, написаний в Access ( мова VBA, форми та багато іншого), а сервером є СУБД Microsoft SQL Server. Проте Access підтримує і взаємодію Космосу з іншими СУБД, наприклад, такими як: MySql чи PostgreSQL. Про Access можна розмовляти довго, але ціль сьогоднішньої статті саме створення запитів ( об'єктів) з Access.

Переходимо до практики та почнемо з простої бази mdb, тобто. як там створити ці самі запити.

Створення запитів у Microsoft Access 2003 - база MDB

Для початку відкриваємо базу, потім натискаємо на об'єкти «Запити»і тиснемо кнопку "Створити".

Примітка!Йдеться про те, що база у Вас вже є.

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

Давайте розглянемо кожен із цих типів запитів докладніше.

Типи запитів у Access 2003 - база MDB

Конструктор- це створення запиту на основі конструктора, так би мовити графічному редакторі, але можна перейти в режим sql і написати текст запиту як завжди. Відразу після запуску у Вас відкриється вікно вибору потрібних таблиць або вже існуючих запитів, так як існуючі запити можна також використовувати для вибірки необхідних даних, це начебто «подання».

Якщо не подобається це робити в графічному редакторі, то можете перейти в режим SQL, для цього натисніть пункт меню "Вид", потім «Режим SQL».

Простий запит– це, можна сказати, такий самий конструктор, тільки трохи іншого виду та менше можливостей.

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

Записи, що повторюються- це як видно з назви пошук записів, що повторюються.

Записи без підлеглих- Це пошук тих записів, які відсутні в тій чи іншій таблиці.

З базами mdb достатньо, тому що їх рідко використовують на підприємствах, зазвичай використовують таку схему – пишуть окремий клієнт, а всі дані зберігають на сервері за допомогою СУБД у нашому випадку – це MS SQL Server, а клієнт Access (.adp).

Створення запитів у Microsoft Access 2003 - база MS SQL Server

Давайте розглянемо створення нових запитів із клієнта Access на базі MS SQL Server ( мається на увазі, що клієнт adp та база даних на основі MS SQL Server у Вас вже є).

Примітка! Ця стаття не передбачає вивчення SQL, тому на момент прочитання цієї статті Ви вже повинні розуміти основи SQL і поняття основних об'єктів у базі даних таких як: уявлення, функція, процедура. Якщо Ви зовсім новачок у цьому, то спочатку, звичайно ж, рекомендується освоїти SQL, тому що багато термінів нижче Вам будуть не зрозумілі. Рекомендовані статті:

  • Що таке уявлення VIEWS у базах даних? І навіщо вони потрібні?

Початок так само, відкриває проект, потім натискаємо на об'єкти «Запити»і тиснемо кнопку "Створити".

І тепер детальніше.

Типи запитів у Access 2003 - база MS SQL Server

Конструктор вбудованої функції- це, можна сказати, звичайне уявлення, тільки в неї можна передавати параметри, потім виконуються якісь запити на сервері і повертається таблиця. Це свого роду функція, яка повертає дані у вигляді таблиці. До неї звертаються так ( якщо говорити про sql):

SELECT * FROM my_test_tabl_func(par1, par2 ……)

Після натискання на "OK"для створення цієї функції у Вас з'явиться вже знайоме вікно додавання існуючих таблиць, уявлень. Але я зазвичай закриваю це вікно і пишу запит вручну в спеціальне поле, щоб це поле відобразилося, натисніть на панелі наступне:

Потім, якщо Ви хочете додати вхідні параметри, можете просто в умову ставити знак @ і назву змінної, наприклад, так:

SELECT * FROM table WHERE kod = @par

Після цього на панелі у властивостях функції

на вкладці «Параметри функції»з'явиться параметри, які Ви вказали, причому передавати їх потрібно в тому порядку, в якому вони тут вказані.

Конструктор вистави– це створення звичайного уявлення, просто народі «В'юха».

Конструктор збереженої процедури- створення процедури за допомогою конструктора, принцип такий самий, як і у вищезгаданих функціях. Нагадаю процедура – ​​це набір SQL операторівяк на вибірку, так і на зміну даних.

Введення збереженої процедури– це створення процедури з допомогою текстового редактора, тобто. створення процедури чисто вручну. У результаті те саме, що і за допомогою конструктора. При створенні об'єктів у текстовому редакторішаблон створення у Вас вже створюється автоматично access-ом.

Введення скалярної функції- Це створення функції, яка повертає значення. Створюється за допомогою текстового редактора.

Введення табличної функції– це створення функції, яка поверне набір записів. Схожа на вбудовану функцію.

Для того щоб у клієнті access їх можна було відрізняти, у них різні іконки, ті самі, які Ви бачите при створенні того чи іншого об'єкта.

При створенні всіх цих об'єктів вони зберігаються на сервері, і Ви можете їх використовувати не тільки зі свого adp проекту, але і з інших клієнтів.

Звичайно, всі ці об'єкти Ви можете створити і на сервері за допомогою, наприклад, Enterprise Manager ( застарів, зараз SQL Server Management Studio ), але ми сьогодні розглядаємо можливість створення цих об'єктів з access клієнта.

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

Мета роботи: Вивчення прийомів конструювання та використання запитів на вибір даних.

Перед виконанням лабораторної роботинеобхідно вивчити такі розділи:

Типи запитів;

Створення запитів як конструктора;

Правила запису умов відбору даних;

застосування вбудованих функцій;

Створення обчислюваних полів;

Використання форм введення-виведення даних;

Створення перехресних та активних запитів.

Завдання 1. Створення простого запиту.

1. Відкрийте базу даних Інститут.

2. Натисніть у вікні База даних об'єкта Запити.

3. У вікні Запити натисніть кнопку Створити.

4. У вікні Новий запит виберіть Конструктор та натисніть кнопку OK.

5. У вікні Додати таблицю додайте всі чотири таблиці та закрийте вікно.

6. Налаштуйте розміри та розташування вікон з таблицями на схемі даних.

7. Перетягніть відповідні назви полів (найменування факультету, N групи, найменування спеціальності, N залікової книжки, ПІБ) з вікон таблиць до бланку запиту, розташованого під схемою даних, дотримуючись заданого їх порядку. Використовуйте для кожного поля, яке має бути у вибірці, один стовпець бланка.

8. Перегляньте вибірку, виконавши команду ВИГЛЯД/Режим таблиці або клацнувши по кнопці інструментальної панелі Вигляд.

9. Поверніться в режим конструктора запитів, якщо вибірка містить помилки, і відкоригуйте запит.

10. Закрийте запит. З'явиться діалогове вікно, у якому потрібно підтвердити необхідність його збереження. Надайте запиту ім'я Виборка1.

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

1. У вікні База даних скопіюйте запит Вибірка1, перетягнувши піктограму запиту, натиснувши клавішу Ctrl.

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

3. Відкрийте запит у режимі конструктора. Додати в запит поле Комерційний.

4. Введіть Умову відбору поля Комерційне значення Так.

5. Скасуйте виведення на екран під час запиту значення поля Комерційний. Для цього вимкніть прапорець виведення на екран для цього поля.

6. Перегляньте вибірку, натиснувши кнопку Запуск на інструментальній панелі.

7. Закрийте запит із збереженням макета запиту.

Завдання 3.Створіть запит на вибірку, за допомогою якого знайдіть прізвище та номер залікової книжки наймолодшого студента в одній із груп.


1. У вікні База даних натисніть кнопку Створити та виберіть Конструктор.

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

3. Введіть у рядок Умова відбору поля Дата народження формульне вираз відповідно до завдання. Використовуйте інструментальний засіб Access Побудова виразів. Для цього встановіть курсор у відповідну комірку таблиці опису запиту та натисніть на кнопці інструментальної панелі Побудувати.

4. У вікні Побудовник виразів введіть назву функції DMax. Для цього розкрийте список Опції у лівому вікні постачальника та виберіть Вбудовані функції. Далі в середньому вікні виберіть категорію функцій За підмножиною, а в правому вікні – функцію DMax(). Відповідна функція з'явиться у головному вікні будівельника із позначенням її аргументів.

5. Видаліть перший аргумент функції і вставте замість нього ім'я поля Дата народження або безпосереднім введенням з клавіатури, або розкриттям клацанням мишки списку Таблиці в лівому підокні, а потім, вибравши таблицю Студент, а в ній – поле. В останньому випадку потрібно видалити частину рядка Вираз, що не використовується. Далі введіть значення інших аргументів функції, таким чином, щоб функція набула наступного остаточного вигляду: DMax("[Дата народження]";"Студент";"=851")

6. Натисніть кнопку Ok для запису функції в комірку таблиці опису запиту. Закрийте запит збереженням макета та надайте йому ім'я Вибірка наймолодшого студента. Перегляньте результат виконання запиту подвійним клацанням миші на його ім'я у вікні бази даних.

7. Продемонструйте результат роботи викладачеві.

Завдання 4.Створіть запит для розрахунку кількості комерційних студентів у кожній групі.

1. Створіть новий запитз використанням таблиць Факультет, Група, Студент.

3. Встановіть як умову вибірки для 3-го стовпця – значення Так.

4. Встановіть для 1-го та 2-го стовпців бланка сортування за зростанням.

5. Вимкніть виведення на екран даних 3-го стовпця.

6. Введіть поле Комерційний в 4-й стовпець і замініть назву стовпця на Кількість комерційних. Для цього осередок з назвою поля повинен містити: Кількість комерційних: Комерційний (нова і стара назви стовпця розділені символом «двокрапка»)

7. Клацнувши по кнопці інструментальної панелі Групові операції, додайте в бланк рядок Групова операція та виберіть зі списку для 4-го стовпця операцію Count.

8. Перегляньте вибірку з підрахунком підсумків, клацнувши по кнопці інструментальної панелі Запуск, або виконавши команду ЗАПИТ/Запуск.

9. Поверніться до режиму конструктора запитів, натиснувши кнопку Вигляд інструментальної панелі.

10. Збережіть запит, надавши йому ім'я Підрахунок комерційних груп.

Завдання 5.Складіть запит, що дозволяє побачити вибірку, яка відображатиме кількість комерційних студентів по кожному факультету та кожній групі. Заголовки стовпців мають відповідати назвам факультетів, заголовки рядків – номерам груп. Вибірка має містити також підсумковий стовпець із загальною кількістю комерційних студентів на кожному факультеті. Такий вид вибірки може бути реалізований перехресним запитом. Для застосування такого запиту бажано мати у базі даних відомості з 5-6 груп студентів, які навчаються на 3-х факультетах.

1. Створіть за допомогою конструктора новий запит за допомогою таблиць Факультет, Група, Студент.

2. Введіть в перший стовпець бланка запиту поле Найменування факультету, у другому стовпець - поле N групи, в третій стовпець - поле Комерційний.

3. Виконайте команду ЗАПИТ/Перехресний або клацніть на кнопці інструментальної панелі Тип запиту та виберіть зі списку Перехресний.

4. Виберіть значення у рядку бланка Перехресна таблиця, розгорнувши список у осередках: для 1-го стовпця Заголовки рядків, для 2-го стовпця – Заголовки стовпців, для 3-го стовпця – Значення.

5. Виберіть функцію Count для групової операції у 3-му стовпчику.

6. Перегляньте перехресну вибірку, натиснувши кнопку Запуск.

7. Для створення підсумкового стовпця знову перейдіть у режим конструктора і вставте в бланк запиту ще одне поле Комерційний. Уведіть перед назвою цього поля назву стовпця Разом: У рядку Групова операція виберіть Count, а в рядку Перехресна таблиця – Заголовки рядків.

8. У режимі таблиці зменшіть ширину стовпців таблиці-вибірки. Для цього виділіть стовпці з даними за групами та виконайте команду ФОРМАТ/Ширина стовпців/По ширині даних.

9. Перегляньте відредаговану вибірку та збережіть запит, надавши йому ім'я Кількість комерційних за групами та факультетами.

10. Зразковий вид перехресної вибірки подано на рис.1.

Рис.1. - Перехресна вибірка кількості комерційних студентів за групами та факультетами.

Завдання 6.Складіть запит для виведення списків груп, причому номер групи має запитуватися під час виконання запиту. Такий запит називається запитом із параметром. Параметром є номер групи. Значення параметра вводиться у діалоговому вікні. Для створення запиту необхідно ввести в комірку за умовою текст умови відбору у квадратних дужках.

1. Створіть за допомогою конструктора новий запит за допомогою однієї таблиці Студент.

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

3. Введіть у комірку рядка Умова відбору для поля N групи текст: [Введіть номер групи]

4. Запустіть запит і введіть номер однієї з груп у діалоговому вікні. Перегляньте вибірку. Збережіть запит, надавши ім'я Запит з параметром.

5. Продемонструйте результат роботи викладачеві.




Top