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

Вниз

Фильтрация в TIBQuery   Найти похожие ветки 

 
samalex2504   (2011-04-13 12:26) [0]

Уважаемые знатоки!!!
Есть один грид и другой. Нужно при перемещении по первому фильтровать другой.
Хотел сделать фильтрацию на IBQuery.


with (DBGridEh2.DataSource.DataSet as TIBQuery) do
begin
   Filtered:=False;
   Filter:="ID_PROJECT_PLAN = "+(DBGridEh1.DataSource.DataSet as TIBQuery).FieldByName("ID_PROJECT_PLAN").AsString;
   ShowMessage((DBGridEh1.DataSource.DataSet as TIBQuery).SQL.Text);
TIBQuery).Filter);
   Filtered:=True;
end;

Что-то не работает. Что не так?


 
samalex2504   (2011-04-13 12:28) [1]

ShowMessage - лишнее


with (DBGridEh2.DataSource.DataSet as TIBQuery) do
begin
  Filtered:=False;
  Filter:="ID_PROJECT_PLAN = "+(DBGridEh1.DataSource.DataSet as TIBQuery).FieldByName("ID_PROJECT_PLAN").AsString;
  Filtered:=True;
end;



 
Виталий Панасенко   (2011-04-13 12:55) [2]

для этого есть такая херня, называется связь Мастер-Деталь..


 
samalex2504   (2011-04-13 13:35) [3]

Там на втором IBQuery уже есть запрос с кучей параметров и выводятся определенные фильтром записи. Но я хотел добавить к этому режиму еще один. Можно ли включить связь Мастер-Деталь если есть куча параметров помимо ключа.


 
samalex2504   (2011-04-13 13:57) [4]

Проверил
Установил -
(DBGridEh2.DataSource.DataSet as TIBQuery).DataSource:=DBGridEh1.DataSource;
При этом в DBGridEh1.DataSource.DataSet ищутся все параметры из 2.


 
Виталий Панасенко   (2011-04-13 14:10) [5]

Мастер-Деталь связывается по ключу.. иного не может быть.. можно ПОТОМ отфильтровать деталь по другим параметрам..но, например, если это накладная(документ), то есть Мастер - шапка(дата, номер, от кого, кому и т.д.) и Деталь - строки накладной(документа).. но Деталь имеет лишь ОДНУ связь - ИД Мастера..А уже что можно творить с деталью...это другой вопрос


 
Sergey13 ©   (2011-04-13 14:18) [6]

> [0] samalex2504   (13.04.11 12:26)

В IBX Filter вроде не реализовано. Фильтровать можно только через событие onFilter.
Но все таки лучше прислушаться к
> [2] Виталий Панасенко   (13.04.11 12:55)


 
PEAKTOP ©   (2011-04-13 21:38) [7]

> samalex2504   (13.04.11 12:26)
>
> Уважаемые знатоки!!!
> Есть один грид и другой. Нужно при перемещении по первому
> фильтровать другой.
> Хотел сделать фильтрацию на IBQuery.


Все не так !

Во-первых, какая на фиг фильтрация ? Причем здесь вообще фильтрация ? Это - всего лишь связка "Master->Detail".

Во вторых, пример:
trMain :TIBTransaction - транзакция,в рамках которой работают наборы данных
qrMaster :TIBQuery; - Главный запрос
DSqrMaster :TDataSource; - поставщик данных для элементов управления главного запроса
qrDetail: TIBQuery; - детальный запрос
DSqrDetail :TDataSource; - поставщик данных для элементов управления детального запроса

Для нормального отображения детального запроса в зависимости от значения текущей записи главного запроса необходимо:
qrDetail.DataSource := DSqrMaster;
qrDetail.ParamCheck := false;
qrDetail.SQL.Text := "SELECT T1.ID, T1.....  FROM MY_TABLE T1 WHERE (T1.SOME_FIELD = ?FIELD1)";
где домен FIELD1 - обязательно присутствует в наборе данных qrMaster.


 
Anatoly Podgoretsky ©   (2011-04-15 15:36) [8]

> samalex2504  (13.04.2011 12:26:00)  [0]

Вроде бы классический фильтр не работает по дизайну.



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

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

Наверх




Память: 0.48 MB
Время: 0.006 c
15-1406193113
Vlad oshin pc_other
2014-07-24 13:11
2015.03.08
помогите с запросом..


15-1406406602
Юрий
2014-07-27 00:30
2015.03.08
С днем рождения ! 27 июля 2014 воскресенье


11-1258544846
Егорка
2009-11-18 14:47
2015.03.08
интерфейснутые классы


15-1406016299
Dmitry_Wellington
2014-07-22 12:04
2015.03.08
HTML5 vs Obj-C. Что быстрее выучить?


15-1406179272
oldman
2014-07-24 09:21
2015.03.08
Русско-английский словарь по деловой переписке