Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
14-67542
Clickmaker
2003-04-04 14:24
2003.04.21
Сосуществование Delphi5 и 6 на одном компутере


14-67495
Maximov
2003-04-02 19:48
2003.04.21
Как правильно произносить?


4-67638
Afonya
2003-02-24 13:38
2003.04.21
Проблема при принудительном завершении потока


14-67438
Supreme 2
2003-04-03 22:27
2003.04.21
Опять чёрная полоса чтоли....??


3-67163
Max79
2003-04-03 10:47
2003.04.21
Запрос в БД по полю Timestamp




   Наверх