Классика баз данных - статьи

       

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


с персональной базой, скорее всего, вызовет ваше неудовольствие. Дело в том что поле Work в таблице persons указывает на имя фирмы (поле Name) в таблице firms. Логично было бы устроить форму редактирования таким образмо, чтобы название фирмы можно было выбирать из списка. И этого можно добиться, если заменить текстовое поле на поле со списком.

Но вначале следует создать запрос (Query), который будет возвращать список названий всех фирм, существующих в нашей базе данных. Сделать это можно с помощью элемента New Query, принадлежащего контекстному меню объекта Queries из источника данных (если последний закрыт, вызвать его можно с помощью ).

Проще всего создавать запрос в визуальном виде (Design view) — в этом случае все сводится к правильному выбору предлагаемых элементов диалога. Только в начале нужно добавить таблицы, из которых будет проводиться выборка. В нашем случае такая таблица одна — firms (рис. 11).

Рис. 11. Из этих таблиц будет происходить выборка результатов

Посмотрите на рис. 12 и сделайте точно так же. Вас может удивить присутствие двух одинаковых столбцов Name — но это вполне объяснимо: функции у них будут разные.

Рис. 12. Для работы с формой нужно два одинаковых столбца


Результат в виде SQL-синтаксиса можно увидеть, если с помощью кнопки Switch Design View On/Off (на ней изображен школьный угольник) переключиться в режим SQL. Командная строка должна выглядеть примерно так:

SELECT `Name`, `Name` FROM `myoffdb`.`firms` `firms

Как работает запрос, можно также проверить с помощью кнопки Run Query (в панели инструментов первая слева). Осталось только сохранить запрос(все формы и запросы сохраняются вместе с документом OpenOffice) под именем, скажем,  FirmsName.

Следующий этап — создание формы редактирования таблицы учетных карточек сотрудников и модернизация ее путем внедрения созданного нами запроса. Для этого элемент Table control, привязанный к таблице person, вставьте на пустую страницу. Вы уже можете редактировать (изменять, добавлять, удалять) записи, единственное неудобство это поле Work.

Содержание  Назад  Вперед