Читать книгу Базы данных на Delphi 7 - Сергей Николаевич Талипов - Страница 4
ЛЕКЦИЯ № 4
Оглавление1. СОЗДАНИЕ ПОЛЕЙ ВЫБОРА И ВЫЧИСЛЯЕМЫХ ПОЛЕЙ
Поля выбора «Lookup» используются для создания виртуальных полей, данные в которых пользователь не набирает вручную, а выбирает из выпадающего списка. После выбора значения из списка оно отображается на экране, а в файл БД записывается код выбранного значения из выпадающего списка в соответствующее поле БД. Выпадающий список формируется из каких либо двух полей другой таблицы. Одно поле другой таблицы хранит код записи, а другое соответствующий текст, который появляется в выпадающем списке. Lookup-поля используются для подключения к основной таблице вспомогательных таблиц-справочников БД. Рассмотрим применение полей выбора на примере.
Например, имеется следующие таблицы:
Таблица 1. Диски – CD (Table_CD)
Код диска | Название диска | Код фирмы |
(Name_CD) | (Kod_Firm) | |
0000001 | Итнернет – 2001 | 00001 |
0000002 | Суперсистемный диск 2k2 | 00002 |
0000003 | English Platinum (2) | 00003 |
0000004 | All stars disco 2 | 00004 |
0000005 | Золотая бухгалтерия 2001 | 00002 |
Таблица 2. Фирмы – поставщики (Table_Firm)
Код фирмы (Kod_Firm) | Название фирмы (Name_Firm) |
00001 | Красные Челны |
00002 | Технопром |
00003 | CD-маркер |
00004 | Мегаполис |
Данные таблицы имеют общее поле «Код фирмы». Необходимо сделать так, чтобы при просмотре первой таблицы вместо кодов фирм выходило соответствующее название фирмы. Для этого необходимо в первой таблице поле «код фирмы» сделать невидимым для визуальных компонент, и добавить к таблице «Lookup»-поле. Данное поле просмотра будет смотреть код фирмы в первой таблице у каждой записи, находить соответствующую запись с данным кодом во второй таблице, брать из второй таблицы соответствующее коду название фирмы и подставлять его в качестве своего значения. В результате первая таблица будет отображаться следующим образом:
Таблица 1. Диски – CD (Table_CD)
Код диска | Название диска | Фирма (Loolup-поле) |
(Name_CD) | (nFirm) | |
0000001 | Итнернет – 2001 | Красные Челны |
0000002 | Суперсистемный диск 2k2 | Технопром |
0000003 | English Platinum (2) | CD-маркер |
0000004 | All stars disco 2 | Мегаполис |
0000005 | Золотая бухгалтерия 2001 | Технопром |
Если при просмотре таблицы 1 мы поменяем для первой записи значение фирмы «Красные челны» на «Технопром» (через выпадающий список), то в поле «Код фирмы» таблицы 1 запишется значение «00002», взятое из таблицы 2. Таким образом, поля просмотра позволяют хранить в базе данных только нужные коды, а их текстовые значения брать из другой базы данных и подставлять для просмотра и выбора.