Параметри поля

Конструктор таблиць

Майстер таблиць

Створення, редагування та робота з таблицями.

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

a. Щоб запустити майстра створення таблиць, двічі клацніть на значку Создание таблицы с помощью мастера (Create Table By Using Wizard).

У першому вікні майстра, показаному на рис. 2, потрібно вказати підходящу структуру й вибрати в ній необхідний набір полів.

b. Виберіть положення перемикачаДеловые (Business).

c. У спискуОбразцы таблиц (Sample Tables) виберіть пунктКонтакты (Contacts).

Рис. 2. Вікно «Майстра таблиць» (перше вікно)

d. Клацніть на пунктіИмя (FirstName) спискуОбразцы полей (Sample Fields).

e. Клацніть на кнопці зі стрілкою вправо, щоб додати обране поле в структуру створюваної таблиці.

f. Повторюючи крокиd та e, додайте в список Поля новой таблицы (Fields In My New Table) поля Фамилия (LastName), Адрес (Address),НазваниеКомпании (Company Name) і РабочийТелефон (WorkPhone).

g. Клацніть на кнопці Далее (Next).

h. У поле другого вікна майстра(рис. 3) введіть словоКонтакти, що буде відігравати роль імені таблиці. Потім клацніть на кнопціДалее.

Рис. 3. Друге вікно майстра

i. У третьому вікні майстра клацніть на кнопціГотово (Finish). Майстер згенерує таблицю й відкриє її в режимі введення даних.

Рис. 4. Третє вікно майстра

Примітка

Оскільки в другому вікні (рис.3) залишилося обраним положення перемикача Microsoft Access автоматически определяет ключ (Yes, Set A Primary Key For Me), Access додає в таблицю додаткове ключовеполе Код_ Контакты, що відіграє роль унікального ідентифікатора записів.

Зверніть увагу, що ключове поле Код_Контакты автоматично заповнюється деякими числами. Ці числа не обов'язково утворять безперервну послідовність. Вміст ключового поля різний для всіх записів таблиці, що дозволяє однозначно ідентифікувати запис. Такі поля використаються для формування зв'язків таблиць.

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

Заповнимо таблицю даними:

1) Клацніть на полі Имя (FirstName) і введіть будь-яке ім'я. Access автоматично додасть у таблицю, створену в попередній вправі, перший запис, а рядок нового запису зміститься вниз.

2) Введіть прізвище в поле Фамилия (LastName).

3) Заповніть всі інші поля першого запису.

4) Клацніть на поле Имя (FirstName) останнього рядка й уведіть ім'я ще однієї людини, його прізвище, адресу, назву компанії й телефон. Додайте подібним чином кілька записів, щоб таблиця стала така, як показано на рис. 5. Якщо ви помилилися при введенні, просто клацніть на клітинці з невірними даними й відредагуйте їх. Стандартні заголовки стовпців часто виявляються незручними, тому Access дозволяє заміняти їх.

Рис. 5. Таблиця даних

5) Клацніть на заголовку Фамилия (LastName) правою кнопкою миші й виберіть команду Переименовать столбец (Rename) або двійчі клацніть лівою кнопкою миші.

6) Введіть слово Прізвище, що замінить підсвічений заголовок Фамилия (LastName). Аналогічно змініть назви інших полів.

7) Клацніть на кнопці Первая запись (First Record) і перемістіть покажчик поточного запису на початок таблиці.

8) Клацніть на кнопці Следующая запись (Next Record), щоб перейти до другогого запису.

9) Виконайте інші переміщення по таблиці за допомогою панелі, що розміщена внизу вікна.

10) Клацніть на кнопці Удалить запись (Delete Record) панелі інструментів.

Конструктор таблиць призначений для створення та зміни структури таблиці. За допомогою конструктора можна формувати як завгодно складні таблиці з полями будь-якого типу.

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

1. У вікні бази даних (Database Window) клацніть на кнопці Таблицы і перемкнетеся на список таблиць бази даних.

2. Двічі клацніть на значку Создание таблицы в режиме конструктора (Create Table In Design View). Вікно конструктора, показане на рис. 6, складається із двох частин. У верхній відображається список полів таблиці, а в нижній - властивості виділеного поля.

Рис. 6. Конструктор таблиць

3. Введіть слово Дата, що буде відігравати роль назви нового поля.

4. Клацніть на клітинці Тип данных (Data Type) першого рядка списку полів. Тут необхідно вибрати тип поля, що визначає структуру й розмір даних

5. Клацніть на стрілці, що з'явилася, і із списку осередку Тип данных виберіть пункт Дата/время (Date/Time).

6. Натисніть клавішу Tab й уведіть розшифровку призначення поля: Дата контакту. Такі описи вводити не обов'язково, але їхня наявність допомагає розібратися в структурі таблиці.

7. Клацніть на другій клітинці стовпця Имя поля (Field Name) і введіть ім'я Опис.

8. Задайте для другого поля тип Текстовый (Text).

9. Вкажіть призначення поля: Опис контакту.

Примітка

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

10. Додайте ще одне поле з ім'ям Код_Контакти й типом Числовой (Number).

Тепер потрібно додати індексоване поле й призначити його ключем, що однозначно ідентифікує записи таблиці. Індексовані поля, або індекси, відрізняються від звичайних полів. Для них Access створює спеціальні списки, що дозволяють виконувати швидке сортування й пошук по вмісту індексованого поля. Таблиця може містити декілька індексів. Ключ — це спеціальний індекс, що ідентифікує записи. Значення такого поля повинні бути унікальними. Його наявність не обов'язкова, але воно так часто використається, що при відсутності ключа Access нагадує про це і пропонує автоматично додати ключове поле.

11. Додайте поле Ключ і призначте йому тип Счетчик (AutoNumber). Такий тип даних рятує користувача від необхідності введення значень ключового поля й ініціює автоматичну генерацію унікальних значень.

12. Зберігаючи активним рядок Ключ, клацніть на кнопці Ключевое поле (Primary Key). На кнопці цього рядка з'явиться значок ключа, що показує особливий статус поля.

Рис. 7. Список полів таблиці у вікні «Конструктор таблиць»

13. Клацніть на кнопці закриття вікна конструктора.

14. Access запитає про необхідність збереження структури таблиці. У відповідь клацніть на кнопці Да.

15. У вікні, що відкрилося, введіть ім'я Список.

Рис. 8.Введення імені таблиці

16. Клацніть на кнопці ОК.

1.3.3 Список підстановки

Прийшов час наповнити таблицю Список конкретною інформацією. Для цього виконаєте наступні кроки.

1) У вікні бази даних відкрийте список таблиць і двічі клацніть на значку Список. Обрана таблиця відкриється в режимі перегляду даних.

2) Додайте кілька записів.

Рис. 9. Список контактів, що відбулися

Примітка

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

3) Клацніть на кнопці Вид (View) панелі інструментів. Відкриється вікно конструктора таблиці.

4) У списку типу даних для поля Код_Контакти виберіть пункт Мастер подстановок (Lookup Wizard).

Рис. 10.Перше вікно майстра підстановок

5) У першому вікні майстра (рис. 10) залишіть обраним положення перемикача Объект «столбец подстановки» будет использовать значения из таблицы или запроса (I Want The Lookup Column To Look Up The Values In The Table Or Query) і клацніть на кнопці Далее. Три положення перемикача другого вікна майстра (рис. 11) виводять на екран список таблиць, запитів або поєднують ці два списки. Тут потрібно вибрати таблицю або запит на роль джерела підстановки. У нашому випадку база даних крім таблиці Список містить тільки один об'єкт - таблицю Контакти, що і виявиться обраною у вікні майстра.

Рис. 11. Друге вікно майстра підстановок

6) Клацніть на кнопці Далее. Третє вікно майстра, показане на рис. 12, пропонує вибрати з таблиці Контакти поля, що беруть участь у підстановці. Цей список зобов'язаний містити те поле, значення якого повинні міститися в полі Код_Контакти, тобто однойменне поле таблиці Контакти.

Рис. 12.Третє вікно майстра підстановок

7) Клацніть на пункті Код_Контакти.

8) Клацніть на кнопці зі стрілкою вправо. У список джерела підстановки варто також додати ті поля, вміст яких повинен відображатися замість чисельного значення, які вводяться з поля Код_Контакти таблиці Контакти в поле Код_Контакти таблиці Список. Я думаю, що буде зручно вибирати людей по їхніх іменах і прізвищам.

9) Додайте в список Выбранные поля (Selected Fields) пункти Прізвище й Ім’я.

10) Потім клацніть на кнопці Далее.

11) У наступному вікні потрібно вибрати порядок сортування списку.

12) Потім клацніть на кнопці Далее.

13) У наступному вікні майстер продемонструє два стовпці таблиці-джерела(рис. 13), сховавши стовпець Код_Контакти, що містить ідентифікатор запису. Клацніть на кнопці Далее.

Рис. 13. Вікно майстра підстановок

14) У поле останнього вікна введіть назву Контакт (рис. 14), що замінить ім'я стовпця Код_Контакти, і клацніть на кнопці Готово.

15) У вікні, що з'явилося, клацніть на кнопці Да і підтвердіть необхідність збереження побудованої структури.

Рис. 14. Введення назви, що замінить ім'я стовпця Код_Контакти

16) Клацніть на кнопці Вид, щоб знову перемкнутися в режим введення даних.

Тепер у третьому стовпці таблиці (рис. 15) замість чисел видні прізвища, що відповідають цим числам, хоча саме значення поля Код_Контакти не змінилося. Access автоматично шукає відповідний запис таблиці Контакти по числу, що розміщується в полі Код_Контакти, і виводить в клітинку текст поля Прізвище - третього поля таблиці Контакти з обраних у вікні майстра підстановки. Давайте спробуємо додати в таблицю Список ще один запис.

Рис. 15.Список підстановки

17) Клацніть в нижній клітинці стовпця Дата та введіть дату 30.01.11 .

18) Натисніть клавішу Tab і надрукуйте текст «Лист із пропозиціями про співробітництво».

19) Знову натисніть клавішу Tab і клацніть на кнопці, що з'явилася, а потім у списку, що розкривається виберіть людей зі списку підстановки, сформованого на базі полів Прізвише і Ім’я таблиці Контакти.

20) Клацніть на другому пункті списку.

Рис. 16.Список підстановки

Access автоматично відшукає в таблиці Контакти значення поля Код_Контакти для запису, що містить інформацію про Єпіфанова Антона, і введе знайдене число в поле Код_Контакти таблиці Список. Це значення залишиться схованим. Замість нього клітинці таблиці Список з'явиться відповідне прізвище, взяте з таблиці Контакти (рис. 16).

1.4 Зв'язок таблиць

У попередній вправі за допомогою майстра підстановок був сформований зв'язок між двома таблицями. Такий зв'язок дозволяє встановити правила взаємодії між таблицями. Список підстановок можна було організувати й без зв'язку. Але уявіть, що ви видалите з таблиці Контакти запис, на який посилаються деякі записи таблиці Список. У такій ситуації залишаться описи контактів, прізвища людей яких загублені. Наявність правильно організованого зв'язку дозволяє уникнути подібних неприємностей.

Виберіть команду Сервис > Схемаданных (Tools> Relationships). Відкриється вікно, що схематично зображує зв'язки бази даних. На рис. 17 видно, що лінія зв'язку з'єднує поля Код_Контакти таблиці Контакти й Контакт таблиці Список.

Рис. 17. Зв'язки бази даних.

Примітка

Даний зв'язок з'єднує ключове й звичайне поля. Це зв'язок типу «один до багатьох», коли одному запису таблиці Контакти може відповідати кілька записів таблиці Список, але не навпаки.

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

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

Для встановлення зв’язку між таблицями потрібно вибрати команду меню Сервис - Схема данных або натиснути на кнопку на панелі інструментів. У діалоговому вікні „Добавление таблицы” по черзі вибираємо таблиці і натискаємо кнопку Добавить. Після вибору останньої натискаємо кнопку Закрыть.

Вікно діалогу «Схема данных» містить списки полів кожної вибраної таблиці , причому ключові поля виділені жирним шрифтом. Щоб встановити зв’язок між таблицями потрібно в головній таблиці вибрати поле для зв'язку і перемістити його, накладаючи на поле підлеглої таблиці, по якому здійснюється зв’язок. В результаті на екрані з’явиться вікно «Изменение связей». Це вікно містить інформацію про встановлені зв'язки і надає додаткові опції.

В лівій частині вікна вказується головна таблиця, а в правій підлегла. Під іменами таблиць вказані поля , по яким був здійснений зв’язок. У нижній частині вікна показано тип зв'язку (наприклад, «один-к одному»). Включення перемикача «Обеспечение целостности данных» означає, що:

· у підпорядковану таблицю не може бути введений запис з неіснуючим у головній таблиці значенням ключа зв'язку;

· не можна вилучати записи з головної таблиці, якщо не вилучено пов’язані з ним записи підпорядкованої таблиці;

· зміну значень ключа зв'язку головної таблиці треба проводити відповідно до змін підпорядкованої таблиці.

При натисканні на кнопку «Объединение» вибирається тип об’єднання записів головної та підпорядкованої таблиць. Після натискання кнопки «Создать» встановлюється зв'язок між полями. Лінія об’єднує поля в обох списках.

Для знищення зв'язків потрібно вибрати команду меню Сервис - Схема данных, клацнути на лінії зв'язку, яку будемо знищувати, натискаємо клавішу Delete і підтверджуємо знищення зв’язку натисненням кнопки ОК. Приклад створення та редагування зв'язків між об’єктами бази даних.

1) Для здійснення зв’язку між таблицями потрібно скористатися командою меню Сервис - Схема данных, або натиснути на кнопку . У діалоговому вікні „Добавление таблицы” вибираємо таблицю Контакти , натискаємо кнопку Добавить, потім вибираємо таблицю Список , натискаємо кнопку Добавить та кнопку Закрыть.

2) Щоб налаштувати параметри зв'язку, виконаєте наступні кроки:

· двічі клацніть на лінії зв'язку. Відкриється вікно діалогу, показане на рис. 18.

Рис. 18.Параметри зв'язку

· Встановіть прапорець на перемикачі режима Обеспечение целостности данных (Enforce Referential Integrity). Цей режим не дозволить Access залишати в таблиці Список записів, для яких не можна підібрати запис таблиці Контакти з підходящим значенням поля Код_Контакти.

· Встановіть прапорець Каскадное удаление связанных записей (Cascade Delete Related Records). Тепер при видаленні запису таблиці Контакти (тобто видаленні інформації про конкретну людину) будуть вилучені всі відповідні записи таблиці Список (тобто всі описи контактів із цією людиною). Якщо зазначений прапорець скинутий, видалення тих записів таблиці Контакти, на які посилається хоча б один запис таблиці Список, заборонено.

Примітка

Встановлення прапорця Каскадное обновление связанных полей приведе до того, що при відновленні поля Код_Контакти таблиці Контакти будуть автоматично обновлятися однойменні поля у відповідних записах таблиці Список.

· Клацніть на кнопці ОК.

· Закрийте вікно Схема даних.

· У вікні бази даних двічі клацніть на значку таблиці Контакти. У вікні, що відкрилося, в таблиці видно невеликі знаки «плюс», розташовані в лівій частині записів. Їхня присутність говорить про наявність зв'язку ключового поля таблиці з іншою таблицею.

Рис. 19.Вибірка даних із зв'язаної таблиці

· Клацніть на знаку «плюс» запису для Олі Шевчук. Відкриється вкладена таблиця, що містить значення того запису таблиці Список який дорівнює величині однойменного поля (поля Код_Конитакти), запису для Олі Шевчук (рис. 19). поля Код_Конитакти.

Примітка

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

· Клацніть ще на якому-небудь знаку «плюс», і ви побачите опис всіх контактів із ще однією людиною. Таким чином, за допомогою створеного зв'язку ви можете швидко переглядати у вікні таблиці список опису всіх контактів з певною людиною або групою осіб.

 

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

ТАБЛИЦЯ 1. Типи даних

Назва типу Призначення
Текстовий (Text) Текст довжиною до 255 символів
Поле MEMO (Memo) Текст довжиною до 65 000 символів
Числовий (Number) Числа різних форматів
Дата/час (Date/Time) Дата й/або час
Грошовий (Currency) Грошові значення різних форматів
Лічильник (AutoNumber) Лічильник, що автоматично збільшується на одиницю з додаванням кожного нового запису
Логічний (Yes/No) Величини, здатні приймати тільки два значення: так/ні або 1/0
Поле об'єкта OLE (OLE Object) Поля, що дозволяють вставляти малюнки, звуки й дані інших типів
Гіперпосилання (Hyperlink) Посилання, що дають можливість відкривати об'єкт Access (таблицю, форму, запит і т.п.), файл іншого додатка або web-сторінку

 

 

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

1. У вікні бази даних виділіть таблицю Список і клацніть на кнопці Конструктор (Design), яка розташована у верхній частині вікна. Обрана таблиця відкриється в режимі конструктора.

2. Опис контакту може бути досить довгим, а максимальна довжина текстових полів обмежена 255 символами. Тому змініть тип поля Опис на тип Поле MEMO.

3. Клацніть на полі Дата.

4. Для зручності прочитання дати контакту змініть формат її відображення, вибравши в списку, що розкривається, Формат поля (Format) пункт Длинный формат даты (Long Date) , як показано на рис. 20.

Рис. 20. Вибір формату

5. Крім типу даних і формату відображення вкладка Общие (General) вікна конструктора дозволяє настроїти деякі додаткові параметри поля, що впливають на спосіб введення даних. Параметр Значение по умолчанию (Default Value) задає вміст поля, що записується в новий запис у тому випадку, якщо користувач не ввів у це поле ніяких даних. Якщо ви регулярно оновлюєте список контактів, то дата контакту найчастіше буде збігатися з поточною датою. Щоб спростити введення інформації, можна задати поточну дату як значення за замовчуванням для поля Дата. Введіть у поле Значение по умолчанию (Default Value) функцію Date(), що повертає поточну дату.

6. У деяких випадках потрібно не тільки задати тип даного поля, але й обмежити його можливі значення деяким інтервалом або більш складним правилом відбору. Таке правило вводиться в поле Условие на значение (Validation Rule) див. рис 21. Припустимо, ви точно знаєте, що всі контакти, які будуть заноситися в список, відбудуться після 1 січня 2011р. Щоб уникнути помилок, можна змусити Access повідомляти вам про введення невірної дати. Для цього виконайте наступні кроки:

· У полі Условие на значение клацніть на кнопці Построителя выражений.

Рис 21. Накладання умов на значення

· Відкриється вікно діалогу.

· Для задання умов або значень певних параметрів Access пропонує великий набір математичних операцій і функцій. «Построитель выражений» допомагає орієнтуватися у всьому різноманітті функцій Access. Верхнє поле «Построитель выражений» містить створюваний вираз. Його можна змінювати, як шляхом безпосереднього редагування тексту, так і за допомогою інших кнопок і списків «Построитель выражений».

· Необхідно, щоб дата запису була пізніше, тобто більше, дати 1 січня 2011р. Тому клацніть на кнопці >, щоб додати потрібну умову.

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

· Двічі клацніть на папці Функции (Functions) у лівому списку «Построитель выражений».

· Клацніть на папці Встроенные функции (Built-in Function), щоб вивести список стандартних функцій Access.

· У середньому списку виберіть категорію Дата/время.

· Подвійним клацанням на імені функції DateValue додайте її в поле виразу. Замість місцезаповнювача аргументу «stringexpr» потрібно ввести конкретну дату в строковому форматі.

· У поле виразу одноразовим клацанням виділіть текст «stringexpr», а потім надрукуйте "1.1.2011".

· Клацніть на кнопці ОК.

7. У поле Сообщение об ошибке (Validation Text) введіть текст «Невірна дата», що буде з'являтися при введенні дати, більш ранньої, чим 1 січня 2011 р. (рис. 22)

Рис. 22. Повідомлення про порушення умов

8. Клацніть на кнопці закриття вікна конструктора. У вікні запиту на відновлення структури таблиці клацніть на кнопці Да. Через додавання умов на значення поля Дата Access зробить запит про необхідність перевірки вмісту цього поля у вже наявних записах таблиці. Клацніть на кнопці Нет, щоб не виконувати перевірку.

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

1. Виділіть таблицю Список у вікні бази даних і клацніть на кнопці Открыть (Open). Тепер всі дати відображаються в довгому форматі, а в полі Дата в рядку нового запису автоматично з'являється поточна дата.

2. Клацніть в полі Дата другого рядка та змініть її вміст на 15.11.2010 і натисніть клавішу Tab, щоб перейти до наступного поля. Так як модифікована дата передує 1 січня 2011 р., що суперечить настроєній умові, Access не дозволить забрати курсор з поточного поля й відкриє вікно повідомлення з текстом, введеним вами в поле Сообщение об ошибке конструктора таблиці (рис. 22). Таке повідомлення буде з'являтися доти, поки ви не скорегуєте дату.

3. Виправте дату на 19.01.2011.

4. Закрийте таблицю Список.