25.10.2006, 09:06 | #1 |
Участник
|
можно ли отфильтровывать на форме данные из Таблицы1 на основе информации из Таблици2.
Например у меня есть Список Сотрудников в Employee Qualification, и я хочу не отображать тех Сотрудников по Которым есть Сформированный Приказ в Pers Order Line. И еще возможно ли не отфильтровывать, а сортировать по этому признаку? |
|
25.10.2006, 09:45 | #2 |
Участник
|
Делаете форму в которой отображаете временную таблицу Employee, которую в свою очередь заполняете по фильтру, если добавите поле с признаком в Employee и ключик по нему, то можно будет в этой форме и сортировать.
В самом простом случае можно использовать маркировку по фильтру... как правило Employee содержит не много записей - поэтому может подойти.
__________________
Want to believe... |
|
25.10.2006, 10:40 | #3 |
Участник
|
Цитата:
Сообщение от usach
можно ли отфильтровывать на форме данные из Таблицы1 на основе информации из Таблици2.
Например у меня есть Список Сотрудников в Employee Qualification, и я хочу не отображать тех Сотрудников по Которым есть Сформированный Приказ в Pers Order Line. И еще возможно ли не отфильтровывать, а сортировать по этому признаку? Минус работы с маркированными записями в том, что если выбрать ключ сортировки, отличный от первичного (когда на форме показываются только марки), то работа с формой станет невозможной, будут нереальные тормоза. |
|
25.10.2006, 10:46 | #4 |
Участник
|
Цитата:
Сообщение от DA_NEAL
Делаете форму в которой отображаете временную таблицу Employee, которую в свою очередь заполняете по фильтру, если добавите поле с признаком в Employee и ключик по нему, то можно будет в этой форме и сортировать.
В самом простом случае можно использовать маркировку по фильтру... как правило Employee содержит не много записей - поэтому может подойти. а еще не подскажешь, как динамически формировать фильтр для поля. Например мне нужно вывести форму с Учтенными приказами по Сотруднику. я пробегаюсь по таблице Posted Pers. Order Line, смотрю номера приказов и из найденных нужно сформировать фильтр для Posted Pers. Order Header...... |
|
25.10.2006, 11:16 | #5 |
Участник
|
Цитата:
Сообщение от usach
Цитата:
Сообщение от DA_NEAL
Делаете форму в которой отображаете временную таблицу Employee, которую в свою очередь заполняете по фильтру, если добавите поле с признаком в Employee и ключик по нему, то можно будет в этой форме и сортировать.
В самом простом случае можно использовать маркировку по фильтру... как правило Employee содержит не много записей - поэтому может подойти. а еще не подскажешь, как динамически формировать фильтр для поля. Например мне нужно вывести форму с Учтенными приказами по Сотруднику. я пробегаюсь по таблице Posted Pers. Order Line, смотрю номера приказов и из найденных нужно сформировать фильтр для Posted Pers. Order Header...... |
|
25.10.2006, 12:22 | #6 |
Участник
|
Цитата:
Сообщение от romeo
Цитата:
Сообщение от usach
можно ли отфильтровывать на форме данные из Таблицы1 на основе информации из Таблици2.
Например у меня есть Список Сотрудников в Employee Qualification, и я хочу не отображать тех Сотрудников по Которым есть Сформированный Приказ в Pers Order Line. И еще возможно ли не отфильтровывать, а сортировать по этому признаку? Минус работы с маркированными записями в том, что если выбрать ключ сортировки, отличный от первичного (когда на форме показываются только марки), то работа с формой станет невозможной, будут нереальные тормоза. |
|
25.10.2006, 12:40 | #7 |
Участник
|
Form - OnFindRecord(Which : Text[1024]) : Boolean
EXIT(OnFindRecord(Which)); Form - OnNextRecord(Steps : Integer) : Integer EXIT(OnNextRecord(Steps)); OnFindRecord(Which : Text[1024]) : Boolean IF Which = '+' THEN _Step := - 1 ELSE _Step := 1; IF FIND(Which) THEN REPEAT _Ok := CheckLineByFilter; IF NOT _Ok THEN _End := (NEXT(_Step) = 0); UNTIL _End OR _Ok; EXIT(_Ok); OnNextRecord(Steps : Integer) : Integer IF Steps <> 0 THEN _Step := Steps / ABS(Steps); Item1 := Rec; REPEAT _End := (NEXT(_Step) = 0); IF NOT _End THEN BEGIN _Ok := CheckLineByFilter; IF _Ok THEN BEGIN _Done += _Step; Item1 := Rec; END; END; UNTIL _End OR (_Done = Steps); IF _End THEN Rec := Item1; EXIT(_Done); CheckLineByFilter() и будет возвращать ДА или НЕТ - показывать строку или нет. Под себя адаптируете функции. У меня на товаре ... |
|
25.10.2006, 13:35 | #8 |
Участник
|
|
|
25.10.2006, 13:43 | #9 |
Участник
|
|
|