Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.21;
Скачать: CL | DM;

Вниз

Фильтр записей в TTable   Найти похожие ветки 

 
SanteR   (2003-04-02 15:58) [0]

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

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

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


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

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


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

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

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


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

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


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


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

код?


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

> 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);
}
//---------------------------------------------------------------------------




 
Johnmen ©   (2003-04-03 12:16) [6]

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



Страницы: 1 вся ветка

Текущий архив: 2003.04.21;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.021 c
3-67156
v.topalov
2003-04-03 13:24
2003.04.21
Пароль на базу InerBase?


3-67115
Roman_Tutov
2003-04-02 18:05
2003.04.21
Искажаються данные при отображении в DBGrid


14-67533
DaemonDZK
2003-04-04 13:53
2003.04.21
Векторная графика


7-67583
GEN
2003-03-03 01:18
2003.04.21
COM port


9-67072
a12321a
2002-10-25 11:25
2003.04.21
Могу писать на Delphi c OpenGL