Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Фильтр записей в TTable [D6, Paradox]


SanteR ©   (2003-04-02 15:58:00) 

Есть две связанных таблицы master-detail.
Detail автоматом фильтруется по некому полю в master.

А возможно ли сам master фильтровать по полю в detail?

Пробовал свойство Filtered & событие OnFilterRecord - не помогает. Не успевают обновляются поля в detail и фильтр работает не корректно.
Спасибо.


Johnmen   (2003-04-03 12:16:00) [1]

Думая, что указанное в вопросе желание нереализуемо, т.к. :
1. связи М-Д внутренне (BDE) реализуются с помощью фильтров
2. внутренний фильтр на T3 выставляется после события OnFilterRecord для T2


SanteR   (2003-04-03 12:05:00) [2]

> Mike Kouzmine
Спасибо. Я так и думал, но не был уверен просто.

> Соловьев

А код я все-таки приведу
(правда не D6, а, извиняюсь, CBuilder6)


Table2 - master
Table3 - detail

В нужное время выполняются


Table3->MasterSource = DataSource2;
Table3->MasterFields = "TaskID";
Table3->Filtered = true;


Обработчик для фильтрации например такой


void __fastcall TDataModule1::Table2FilterRecord(TDataSet *DataSet,
bool &Accept)
{
Accept = (Table3Frequency1->AsFloat >= 0.1);
}
//---------------------------------------------------------------------------



Соловьев   (2003-04-02 17:02:00) [3]


> Пробовал свойство Filtered & событие OnFilterRecord - не
> помогает

код?


Mike Kouzmine   (2003-04-02 16:59:00) [4]

Подожди. Ты хочешь чтобы детайл фильтровался на основании мастера, а мастер, в свою очередь по детайлу? Так не получиться. Замкнутый круг.


SanteR   (2003-04-02 16:52:00) [5]

Этим я только дополнительно отфильтрую таблицу detail, а мне надо master фильтровать.

Так что я пока не могу придумать как фильтровать master по значениям полей в другой таблице (detail).
Видно придется добавлять нужные поля в master и как-то синхронизировать их содержимое с соответствующими полями в detail...


Mike Kouzmine   (2003-04-02 16:18:00) [6]

Так свяжи их по двум полям, по трем, по четырем и т.д.


Наверх

Титульная страница Поиск, карта сайта Написать письмо