Access (664431), страница 2
Текст из файла (страница 2)
Microsoft Access зберігає значіння дат і часу як числа з плаваючою комою і з подвійною точністю. Значіння з лівого боку від десяткової коми відповідає даті, а дробова частина числа представляє час доби.
Щоб повідомити Access про те, що вводиться дата і час, значення вміщується в символи числа (#). Наприклад, #10 Квітень 2003# і #10/04/03# визначають одну і ту саму дату.
Access дає декілька функцій, які можна використовувати при завданні умов відбору для дат і часу:
Day (дата). Повертає значення дня місяця в діапазоні від 1 до 31.
Month (дата). Повертає значення місяця року в діапазоні від 1 до 12.
Year (дата). Повертає значення року в діапазоні від 100 до 9999.
Weekday (дата). Повертає значення чисел від 1 (Неділя) до 7 (Субота), які відповідають дням тижня.
Hour (дата). Повертає ціле число від 0 до 23, які представляють значення часу.
DatePart (інтервал, дата). Повертає номер кварталу або номер тижня в залежності від того, який код інтервалу задається (“q” - для визначення кварталу, “ww” - для визначення порядкового номера тижня в році).
Date(). Повертає поточну системну дату.
Використання параметрів запиту
До сих пір ми вводили умови відбору безпосередньо в бланк запиту в режимі конструктора. Але на етапі створення запиту на завжди можна визначити, які значіння повинен відшукувати Access. Потрібно включити в запит параметр, і при кожному виконанні запиту Access буде вимагати конкретні умови відбору.
Щоб визначити параметр, потрібно ввести в рядок Условие отбора замість конкретного значення ім’я або фразу, яка вміщена в квадратні дужки. Те, що вміщене всередині квадратних дужок, Access розглядає як ім’я параметра. Воно виводиться в вікні діалогу при виконанні запиту, тому в якості імені параметра розумно використовувати змістовну фразу. В одному запиті можна задати декілька параметрів, при цьому ім’я кожного параметру повинно бути унікальним і інформативним.
Для кожного параметра запиту можна вказати тип даних. Access використовує цю інформацію для перевірки введеного значення. Наприклад, якщо визначено параметр як числовий, Access відкине літерні символи в значенні параметра. З мовчазної згоди Access надає параметрам запиту текстовий тип даних. Якщо потрібно змінити тип даних, треба вибрати команду Запрос/Параметры, і Access виведе на екран вікно діалогу Параметры запроса. В цьому вікні діалогу вводиться ім’я кожного параметра, тип якого ми хочемо визначити, в стовпчик Параметр в такому вигляді, в якому воно було вказане в бланку запиту, але без квадратних дужок. В стовпчику Тип данных треба встановити потрібний тип даних, який вибирається зі списку, що розкривається. Після визначення всіх параметрів натискаємо кнопку ОК.
При виконанні запиту Access попросить ввести почергово значення для кожного з параметрів, використовуючи вікно діалогу.
Багатотабличні запити
Розглянувши можливості запитів, які основані на одній таблиці, на базі отриманих знань легко організувати перегляд об’єднаних даних з декількох пов’язаних таблиць. Здатність запитів відбирати дані з декількох таблиць особливо корисна при створенні форм і звітів.
Розглянемо приклад, в якому об’єднується інформація з двох таблиць. В вікні бази даних треба перейти на вкладку Запросы і натиснути кнопку Создать. В вікні діалогу Новый запрос вибрати Конструктор і натиснути кнопку ОК. Access відкриє вікно нового запиту в режимі конструктора і виведе на екран вікно діалогу Добавление таблицы. Вікно діалогу дозволяє вибрати таблиці і запити, які будуть базовими для нового запиту. Вибираються дві таблиці і закривається вікно.
Я
кщо зв’язок між базовими таблицями був раніше визначений, то верхня частина вікна запиту в режимі конструктора буде виглядати так, як показано
Мал. 2. Конструктор запиту
на мал. 2. Access пов’язує використовувані в запиті таблиці на основі інформації про зв’язок, яка задана при їх створенні. Access зв’язок в вигляді лінії, яка з’єднує первинний ключ одної таблиці з відповідним полем іншої. Якщо зв’язок між таблицями не визначений, Access сам прийме рішення, встановивши зв’язок між полями з однаковими іменами і співпадаючими типами даних.
Користувач включає в бланк запиту необхідні поля з двох таблиць. Побачити результат запиту можна, переключившись у режим таблиці.
Як уже згадувалося, вікні режиму таблиці можна виконувати з набором записів запиту майже всі дії, які доступні для звичайних таблиць.
Одним з найцікавіших аспектів багатотабличних запитів є можливість зміни даних вихідних таблиць прямо в наборі записів.
Створення запиту на основі іншого запиту
При створенні запита в режимі конструктора вікно діалогу Добавление таблицы дозволяє вибрати в якості джерела даних для нового запиту не тільки таблиці, але і запити. Дійсно, побудова одного запиту на основі іншого - це ще один спосіб роботи з даними з декількох таблиць: спочатку створюється один запит, за допомогою якого вирішується визначене коло задач і відбирається сукупність даних з декількох таблиць, а потім на його основі будується інший для отримання кінцевого набору записів.
Використання майстра запитів
-
В
Мал. 3.Діалогове вікно Новый вопрос
вікні бази даних перейти на вкладку Запросы і натиснути кнопку Создать. -
В діалоговому вікні Новый запрос вибрати майстра Простой запрос (мал. 3). Натиснути ОК.
-
В діалоговому вікні (мал. 4), що з’явилося, вказати ім’я таблиці або запита, на якому буде збудований новий запит. Потім вибрати поля, з яких повинні бути відновлені дані.
Мал. 4. Створення простого запиту
Якщо необхідно, вказати додаткові таблиці або запит, а потім вибрати з них поля, які повинні бути використані.
-
Закінчивши роботу в цьому діалоговому вікні, натиснути ОК. Потрібно слідувати інструкціям, які виникають в наступних діалогових вікнах майстра. В останньому діалоговому вікні користувачу пропонується вибір виконати запит або продивитися його структуру в режимі конструктора. Якщо отриманий запит не відповідає вимогам, можна знову звернутися до майстра або внести зміну в запит в режимі конструктора.
Відкриття, копіювання, збереження, перейменування і видалення запитів
Користувач може відкрити в режимі конструктора різні запити: запит на вибірку, перехресний запит і запит на зміну. Запит на вибірку і перехресний запит також можна відкрити в режимі таблиці для огляду результатів.
Можна створити ярлик для відкриття об’єкта бази даних, яка знаходиться або на комп’ютері користувача, або на файловому сервері мережі або в директорії для спільного доступу. В Microsoft Windows можна створити ярлик, перемістивши за допомогою миші об’єкт з вікна бази даних в робочий стіл або папку. Інший спосіб – клацнути правою кнопкою миші потрібний об’єкт (запит, наприклад) і вибрати команду Создать ярлык. Щоб створити ярлик не на робочому столі, треба ввести новий шлях в поле Размещение.
Для копіювання вибирається об’єкт і натискається кнопка Копировать на панелі інструментів. Під час копіювання об’єкта в іншу базу даних, закривається поточна база і відкривається та, в яку потрібно вставити об’єкт. При відкритому вікні бази даних натиснути кнопку Вставить на панелі інструментів.
Збереження запиту відбувається шляхом натискання кнопки Сохранить на панелі інструментів.
Для збереження копії об’єкта бази даних з новим ім’ям або в іншому файлі, при умові що об’єкт відкритий або виділений, потрібно вибрати команду Сохранить как/Экспорт в меню Файл. Щоб зберегти об’єкт в поточній базі даних, треба вибрати параметр В текущей базе данных в діалоговому вікні Сохранение объекта, ввести ім’я об’єкта і натиснути ОК.
Для перейменування запита потрібно впевнитися, що об’єкт бази даних закритий. Далі в вікні бази даних вибрати вкладку Запросы, яка містить потрібний об’єкт. Натиснути кнопку миші на імені об’єкта, а потім знову натиснути кнопку миші, щоб змінити ім’я, ввести нове ім’я.
Для видалення об’єкта виділити його і натиснути кнопку Delete.
Оптимізація запитів
Існує ряд способів прискорення виконання запитів:
-
Стискати бази даних
-
Індексувати поля
-
Вибирати типи даних мінімального розміру
-
При створенні запиту не додавати лишні поля в запит. Зняти прапорець Вывод на экран для полів, зміст яких не виводиться в запиті
-
Використовувати для умов відбору вирази, які дозволяють оптимізувати запит
-
ВИКОНАННЯ ОБРАХУНКІВ В ЗАПИТАХ
Можна виконувати обчислення з любими полями таблиці і зробити обчислюваний вираз новим полем в наборі записів. Для цього можна використати любі із вбудованих функцій Access . Окрім цього, поля запиту можуть містити дані, які отримані за допомогою арифметичних операцій над полями таблиці.
Обчислюване поле може також містити результат конкатенції (об’єднання) значінь текстових полів або рядкових (текстових) констант. Щоб створити рядкову константу, потрібно заключити текст в подвійні або одинарні лапки. В якості операції конкатенції використовується символ “&”. Наприклад, можна створити поле, яке буде містити результат об’єднання поля Прізвище і поля Ім’я: [Прізвище]& [Ім’я].
В виразах можна використовувати наступні оператори:
+ Додає два арифметичних вирази.
- Віднімає від першого арифметичного виразу другий.
* Перемножує два арифметичних вирази.
/ Ділить перший арифметичний вираз на другий вираз.
\ Заокруглює два арифметичних вирази до цілих значінь і ділить перше на друге. Результат округлюється до цілого.
^ Вираховує степінь першого арифметичного виразу, степінь задається другим арифметичним виразом.
MOD Округлює обидва арифметичних вирази до цілих значінь, ділить перше на друге і повертає залишок.
& Створює текстовий рядок, як результат приєднання другого рядка в кінець першого.
Якщо після клацання в чарунці рядка Поле (де ми маємо ввести вираз) натиснути SHIFT+F2, то відкриється вікно Область ввода, в якому зручно задавати довгі вирази.
Використання побудови виразів.
Д
ля побудови складних виразів Access надає утиліту, яка називається Построитель выражений. Для того щоб запустити її, потрібно клацнути по пустому полю в бланку запита і натиснути кнопку Построить на панелі інструментів. Microsoft Access відкриє вікно Построитель выражений, яке показане на мал.5
Мал. 5. Створювач виразів
В верхній частині цього вікна міститься пуста область введення, яка призначена для створення виразів. Можна самому ввести вираз, але легше використати різні кнопки операторів, які містяться прямо під областю введення. В нижній частині вікна знаходяться три списки, призначені для пошуку імен імен полів і функцій, необхідних для створення виразів.
Наприклад, в нас є таблиця з даними про учнів 8-А класу, складається вона з таких полів: Прізвище, Ім'я, По батькові, Дата народження, Фізика, Хімія, Алгебра, Геометрія, Історія, Українська література, Українська мова. Формат останніх семи полів числовий (оцінки за 12-ти бальною шкалою). Необхідно обчислити середню оцінку за навчання для кожного учня.
В бланку запита вибирається вільне поле і запускається Построитель выражений. В нижній частині вікна, що з’явилося, в правому полі відшукуємо таблицю, на основі якої будується запит. При виборі таблиці, у центральному списку з’являються назви полів. Саме з цього списку потрібно обрати необхідні поля. Формула, за якою пройде обчислення така:
Середня оцінка=Сума оцінок по всім предметам/Кількість предметів
У верхньому вікні Построителя выражений ця формула набуде такого вигляду:
Выражение1:([8Аклас]![Фізика]+[8Аклас]![Хімія]+[8Аклас]![Алгебра]+ [8Аклас]![Геометрія]+[8Аклас]![Історія]+ [8Аклас]![Українська література]+[8Аклас]![Українська мова])/7
Щоб не вводити назви полів вручну, достатньо двічі клацати на них в нижньому середньому списку і вони будуть з’являтися автоматично в верхній області введення.