На этом шаге мы рассмотрим пример приложения, иллюстрирующего связь главной и вспомогательной таблиц.
Две таблицы базы данных могут быть связаны друг с другом по ключу. Одна из этих связанных таблиц является главной, а другая - вспомогательной.
Рассмотрим ситуацию, когда необходимо создать приложение, в котором имеется таблица Teams (баскетбольные команды), содержащая характеристики баскетбольных команд. И хотим, чтобы пользователь, перемещаясь по этой таблице видел не только характеристику команды, но и список игроков этой команды, то есть записи из таблицы Players (игроки), в которых значение поля TeamName (название команды) совпадает со значением поля TeamName текущей записи первой таблицы. Файлы базы данных, содержащей данные таблицы можно взять здесь.
В этом случае главной является таблица Teams, а вспомогательной - таблица Players, а ключом, определяющим их связь является поле TeamName из обеих таблиц.
Пусть имеется два комплекта компонентов TADOTable, TDataSource и TDBGrid. Компоненты ADOTable1 и ADOTable2 подключены соответственно к таблицам Teams и Players через компонент TADOConnection.
Для организации связи между таблицами необходимо в свойстве MasterSource компонента ADOTable2, настроенного на вспомогательную таблицу, установить значение DataSource1. Затем, щелкнув по кнопке с многоточием в свойстве MasterField, необходимо в окне редактора связей полей (рисунок 1) установить связь между таблицами по полю TeamName.
Рис. 1. Окно редактора связей полей
Приложение может иметь следующий вид:
Рис. 2. Приложение в работе
Теперь при перемещении по таблице Teams (команды), в таблице Players (игроки) будет видна информация об игроках команды, выбранной в таблице Teams.
Текст этого приложения можно взять здесь.
На следующем шаге мы рассмотрим пример приложения, иллюстрирующего использование
метода GetTableNames.