Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Зміна таблиці






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

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

1. Якщо таблиця BookList не була відкрита в режимі конструктора, клацніть на ній правою кнопкою миші і виберіть з контекстного меню команду Design.

2. Натисніть кнопку Add Field, щоб додати в таблицю нове поле. У осередку Name введіть ім'я поля BOOK CODE. Перейдіть до осередку Type клавішею Tab, відкрийте список і виберіть з нього рядок Long. Щоб це поле стало полем лічильника, Встановіть прапорці AutoIncrField і Required. Натисніть кнопку ОК.

3. Введіть ім'я наступного поля, QUANTITY, і натисніть клавішу Tab. Це поле має бути числовим; виберіть із списку Type рядок Byte. Натисніть кнопку OK, щоб приступити до створення наступного поля.

4. Введіть ім'я наступного поля, PRICE, і натисніть клавішу Tab. Перейдіть до списку Type і введіть в нім букву з - при цьому із списку буде вибраний рядок Currency. Натисніть кнопку OK, щоб зберегти визначення поля і приступити до створення наступного.

5. Введіть ім'я наступного поля, RARE BOOK?. Виберіть для нього логічний тип (Boolean). Знову натисніть кнопку OK, щоб перейти до наступного поля.

6. Наступне поле повинне мати ім'я NOTES. Виберіть для нього тип даних Memo і натисніть кнопку ОК.

7. Залишилося ввести останнє поле. Введіть ім'я ACQUIRED, виберіть тип дати/часу (Date/Time) і збережете кнопкою ОК. Закрийте діалогове вікно Add Field кнопкою Close.

8. У діалоговому вікні Table Structure натисніть кнопку Add Index, введіть в поле Name текст BOOK CODE. Клацніть на рядку BOOK CODE в списку Available Fields, щоб включити його в список Indexed Fields.

 

Також звернете увагу на те, що прапорці Primary і Unique встановлені - це означає, що поле BOOK CODE призначене первинним ключем. У деяких ситуаціях таке використання лічильника виявляється небажаним, і тоді (за відсутності інших відповідних полів) як первинний ключ можна вибрати комбінацію декількох полий бази.

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

Щоб призначити в базі даних складений первинний ключ, клацніть на іменах полів в списку, і вони будуть внесені в список Index Fields. Коли обидва поля будуть виділені, натисніть кнопку OK, щоб призначити цей індекс первинним ключем бази. При перегляді властивостей індексу у вікні бази даних з'ясовується, що властивості UNIQUE, PRIMARY і REQUIRED мають значення True. Тепер таблиця індексується по номеру книги (поле BOOK CODE), і кожне значення цього поля має бути унікальним. Оскільки ядро Access автоматично збільшує значення лічильника, можна бути упевненим в унікальності значення. У разі текстового поля вам довелося б простежити за тим, щоб його значення не повторювалося. Якщо цього не зробити, Access не дозволить зберегти запис-дублікат до тих пір, поки значення унікального поля не буде змінено.

9. Тепер проіндексуємо базу по інших полях. Введіть TITLE в текстовому полі Name, після чого клацніть на рядку TITLE в списку Available Fields. Зніміть прапорці Unique і Primary, це призводить до того, що в цьому полі будуть дозволені значення, що повторюються, - іншими словами, ви зможете включити в базу книги з однаковими назвами. Збережете індекс кнопкою ОК.

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

10. Повторите попередній етап і створіть індекс по полю LASTNAME. При цьому дотримуйтеся обережності і не перетворите його на унікальний індекс.

11. Закінчивши створення індексів, закрийте діалогове вікно кнопкою Close.

12. У списку Field List клацніть на рядку QUANTITY, щоб зробити це поле поточним. Введіть 1 в осередку DefaultValue - ця величина визначає кількість книг, що приймається за умовчанням.

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

13. У списку Field List клацніть на рядку PRICE, щоб зробити це поле поточним.

Цього разу ми задамо не значення за умовчанням, а правило перевірки. Наприклад, значення поля QUANTITY можна перевіряти, щоб запобігти випадковому введенню негативної величини. З іншого боку, значення числового типу Byte не можуть виходити за межі інтервалу 0-255, так що перевірка насправді виявляється зайвою.

14. У осередку ValidatationRule введіть> 0 and < 1000. Хоча поле ціни має грошовий тип, воно може набувати і негативних значень.

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

15. Клацніть на осередку ValidationText і введіть в ній текст Допустиме значення ціни - від 0 до 1000. Якщо ви спробуєте ввести ціну, що виходить за межі вказаного інтервалу, відкриється діалогове вікно з попередженням. Щоб повідомлення було змістовнішим (і, можливо, підказувало допустиме значення), слід ввести його текст в осередку ValidationText.

16. Збережете макет таблиці кнопкою Close.

Робота з таблицею закінчена. Спробуємо створити проект Visual Basic, в якому використовується нова база даних. Виконаєте в Visual Basic команду Add - Ins > Data Form Designer, щоб миттєво створити форму на основі таблиці або запиту. Існує і інший варіант - створіть на формі елемент даних і додайте текстові поля або інші елементи, пов'язані з ним. Серед найбільш важливих властивостей елементу даних - властивість DatabaseName, що посилається на базу даних Access (.MDB), і RecordSource, яке посилається на таблицю або запит в MDB - файлі. Властивість DataSource визначає елемент даних, а властивість DataField - поля джерела даних (таблиці або запиту), вказаного у властивості RecordSource елементу даних. У комбінованих полях або списках для отримання інформації від елементу даних використовується властивість RowSource (у поєднанні з ListField). Для пересилки інформації назад в базу через елемент даних застосовується властивість DataSource (і DataField).

Технологія ADO (ActiveX Data Objects)

Об'єкти даних ActiveX, або ADO, - справжня земля обітована для програмістів. Нова універсальна технологія доступу до даних, розроблена фірмою Microsoft, включає функціональні можливості об'єктів DAO, RDO, а також практично будь-якого іншого методу доступу. ADO можна використовувати для підключення до баз даних Access, SQL, Oracle, MS Exchange і іншим джерелам даних.

У ADO використовується OLEDB - новий механізм підключення до баз даних, що забезпечує прискорений і гнучкіший доступ до різних джерел, для яких ADO забезпечує єдиний, зручний інтерфейс. На практиці це означає, що написане вами застосування може легко переходити від розрахованих на одного користувача баз даних (наприклад, Access) до комплексних систем " Клієнт - сервер", в яких використовується Microsoft SQL Server, Oracle або будь-яка інша система управління базами даних, що має або драйвер OLEDB, або ODBC (мал. 8.14).

Як видно з малюнка 8.14, ADO підключається до будь-якого джерела даних, у якого є драйвер OLEDB. Можливо, ви помітили, що ADO може підключатися до серверів Microsoft Exchange. Це дійсно так, але, на жаль, ця тема виходить за рамки книги.

На користь ADO говорить багато що. Універсальний механізм доступу до даних - переконливий аргумент, проте існують і інші. Наприклад, набір записів можна відключити від бази, попрацювати з ним в автономному режимі і пізніше повернути в базу - така можливість надзвичайно корисна в системах " Клієнт - сервер". При відключенні набору ADO зберігає необхідні службові дані: ім'я бази даних, сервер, на якому вона знаходиться, інформацію про ім'я і пароль користувача і інші відомості, що не розглядаються в цій книзі. Оскільки відключений набір записів ADO " пам'ятає", звідки він з'явився, ви можете відновити дані в автономному режимі і пізніше відправити їх назад в базу, наново встановивши підключення. При цьому знижується завантаження сервера, яке вважається однією з основних проблем додатків " клієнт - сервер".

Мал. 8.14. Моделъ ADO.

 

Visual Basic містить три засоби для реалізації ADO у ваших застосуваннях. Перше і найпростіше - елемент даних ADO (ADO Data Control). Крім того, існують два компоненти ActiveX: об'єкт підключення ADO (ADO Connection Object) і об'єкт набору записів ADO (ADO Recordset Object). Bcі три елементи будуть розглянуті в наступних розділах.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.