Синхронное отображение таблиц.
Создадим модуль со справочной информацией
специальности (Specialnost) и
групп (Groups). Сделаем так
чтобы информация в таблицах изменялась
синхронно: при выборе специальности
показывались только группы данной
специальности.
Добавим еще компоненты связанные с
таблицей Группы: ADODataSetGroup_SpecиADODataSourceGroup_Spec.
Первоначально все их настройки совпадают
со свойствами компонентовADODataSetGroups
иADODataSourceGroups.
Осуществим связь таблицы SpecialnostиGroups. Для этого в
синхронизуемой таблице (Группы) необходимо
указать два свойства:DataSource– с какой таблицей будем синхронизировать
(DataSourceSpecialnost) и свойствоMasterFields,
нажмем на нем – откроется окно:
Укажем по каким полям будем соединять
две таблицы: SPECIALNOST_ID и нажмем Add.
Связь осуществлена.
Сортировка по полю
Будем осуществлять сортировку оп
индексируемым полям. Для этого при
запуске и отображении всех форм в
обработчик события OnShowразместим следующий код:
procedure TForm<Модуль
таблицы>.FormShow(Sender:
TObject);
begin
DataMod.DataModule1.ADODataSet<имя
таблицы>.IndexFieldNames:='<название
поля по
которому будем
сортировать>';
end;
например для таблицы Студенты, сортировка
по фамилиям
procedure
TFormStud.FormShow(Sender: TObject);
begin
DataMod.DataModule1.ADODataSetStudents.IndexFieldNames:='FName'
end;
Генерирование запросов
procedure
TForm3.Button3Click(Sender: TObject);
var
i:integer;
begin
if DataModal.DataModule1.ADOQuery1.Prepared then
begin
for i:=0 to Memo1.Lines.Count do
DataModal.DataModule1.ADOQuery1.SQL.Add(Memo1.Lines.Strings[i]);
DataModal.DataModule1.ADOQuery1.Active:=true;
end;
end;