наборі записів, який є результатом об’єднання таблиць Склади і Товари, можна поновити любе поле, яке належить таблиці Товари, але не можна змінити значення полів, які створюють первинний ключ таблиці Склади. Access дозволяє змінити інші поля цієї таблиці.
Якщо не бути уважним, можливість поновлювати поля з боку “один” може призвести до небажаних результатів.
Створення перехресних запитів за допомогою майстра
1. В вікні бази даних перейти на вкладку Запросыі натиснути кнопку Создать.
2. В діалоговому вікні Новый запросвибрати майстра Перекрестный запрос.
3. Натиснути кнопку ОК.
4. Користувач слідує інструкціям, які з’являються в діалогових вікнах майстра. В останньому діалоговому вікні користувачу пропонується вибір виконати запит або проглянути його структуру в режимі конструктора.
За допомогою майстра сводных таблицдані перехресних таблиць можна вивести на екран, не створюючи окремого запиту. За допомогою зведеної таблиці заголовки рядків і стовпчиків можна змінювати таким чином, щоб різними способами можна було аналізувати дані.
Настройка властивостей запиту
Мал. 6. Вікно бланка запиту
Microsoft Access дозволяє встановлювати ряд властивостей запиту, які змінюють хід його виконання. Щоб відкрити вікно властивостей запиту, потрібно клацнути любому місці верхньої частини вікна запиту в режимі конструктора ззовні списку полів і натиснути кнопку Свойствана панелі інструментів. На мал. 6 показано вікно властивостей запита на вибірку.
Звичайно, користувач вибирає тільки деякі поля, які при виконанні запиту на вибірку необхідно включити в набір записів. Але якщо розробляється запит для використання в формі, і потрібно, щоб всі поля з усіх базових таблиць запиту були доступні в цій формі, встановлюється для властивості Вывод всех полейзначення Да. В більшості випадків краще залишити для цієї властивості встановлене з мовчазної згоди значення Нет, а змінювати цю установку тільки для визначених запитів.
В залежності від складності запиту Access може знадобитися декілька секунд (хвилин), щоб знайти всі рядки і почати вивід інформації на екран. Якщо користувача цікавлять тільки “перші” або “верхні” рядки набору записів, треба скористатися властивістю Набор значений для виводу інформації на екран, як тільки Access знайде перші n або перші % рядків. Якщо ввести ціле значення, Access виведе на екран результат відразу, щойно знайде задане число рядків. При введенні десяткового значення менше 1 Access почне вивід даних після того, як знайде приблизно такий відсоток рядків. Слід врахувати, що при виконанні сортування Access повинен спочатку відібрати всі записи, і тільки відсортувавши їх, він може визначити перші n рядків. В цьому випадку властивість Набор значений не прискорить вивід інформації на екран.
При виконанні запиту часто виникають ситуації, під час яких Microsoft Access знаходить рядки, що повторюються. З мовчазної згоди він включає в результуючий набір тільки унікальні записи. Це означає, що ідентифікатор кожного рядка (первинний ключ таблиці для запиту з єдиною таблицею або сполучення первинних ключів для багатотабличного запиту) унікальний. Якщо користувач не просить Access повертати унікальні значення, в набір записів запиту будуть включені тільки відмінні один від одного рядки. Якщо є потреба бачити всі дані (враховуючи рядки-дублікати), необхідно встановити обидві властивості Уникальные значенияі Уникальные записи- в значення Нет. Користувач не зможе змінювати поля в наборі записів запиту, якщо для властивості Уникальные записивстановлене значення Нет.
Якщо база даних буде використовуватися в мережі в режимі колективного доступу, то для забезпечення безпеки даних можна дати доступ іншим користувачам до таблиць тільки за допомогою запитів. Власник таблиці завжди має до неї повний доступ. Можна заборонити всім доступ до таблиць і дозволити проглядати деякі дані тільки визначеним користувачам. Ця умова буде працювати, якщо для властивості При запуске предоставляются прававстановити значення Пользователя. Якщо для тих, хто використовує конкретний запит, потрібно дозволити “успадкувати права власника” на доступ до таблиць, треба встановити для властивості При запуске предоставляются права значення Владельца.
Якщо запит призначений для роботи в режимі колективного доступу, то для забезпечення цілісності даних при редагуванні використовується властивість Блокировка записей. Access скористається блокуванням тільки в тому випадку, коли в вихідну таблицю потрібно записати рядок. Щоб запис блокувався при внесенні до нього змін одним з користувачів, встановлюється для цієї властивості значення Изменяемой записи.Більш жорстка установка Всех записейблокує всі записи, відібрані запитом, до тих пір, допоки запит відкритий одним з користувачів. Використовується ця установка тільки у тому випадку, коли при виконанні запиту робляться численні зміни в деякій таблиці, і інші користувачі не можуть мата доступу до даних цієї таблиці до тих пір, допоки не завершиться виконання запиту.
4. ЗАПИТИ НА ЗМІНУ ДАНИХ
Для пошуку окремого запису в базі даних і зміни в ній значення поля досить режиму таблиці. Але що робити, якщо потрібно провести однакові зміни в більшій кількості записів. Виконання заміни в кожному окремому запису недоцільно.
Перед тим, як приступити до створення запиту на поновлення записів в базі даних, потрібно створити запит на вибірку з умовою відбору, який дозволяє знайти всі записи, які підлягають поновленню. Після того, як Access вибери потрібні записи, користувачу не складно буде перетворити запит на вибірку в запит на поновлення або в інший тип запита на зміну.
Запит на поновлення
Допустимо, що запит на вибірку створений. Тепер можна змінити запит так, щоб він поновлював рядки таблиці. В режимі конструктора в меню Запросіснують команди для чотирьох типів запитів на зміну: Созданиетаблицы, Обновление, Добавление, Удаление. Окрім цього, для перетворення типу запита можна скористатися списком кнопки Тип запросана панелі інструментів. Треба вибрати пункт Обновление, щоб перетворити запит на вибірку в запит на поновлення.
При подібному перетворенні запита Access змінює заголовок його вікна і