Ограничение в запросах по условию.
Модераторы: m0p3e, edward_K, Модераторы
Ограничение в запросах по условию.
Суть вопроса вот в чем:
Есть логическая таблица в отчете, есть интерфейс с Чекбоксами для запуска этого отчета.
Можно ли как-нибудь сделать чтобы в зависимости от выбранного чекбокса в интерфейсе, включалось то или иное ограничение на логическую таблицу.
надеюсь изложил ясно... =)
			
			
									
						
										
						Есть логическая таблица в отчете, есть интерфейс с Чекбоксами для запуска этого отчета.
Можно ли как-нибудь сделать чтобы в зависимости от выбранного чекбокса в интерфейсе, включалось то или иное ограничение на логическую таблицу.
надеюсь изложил ясно... =)
- 
				Max_Fin
 - На пенсии
 - Сообщения: 797
 - Зарегистрирован: 29 мар 2005, 17:49
 - Откуда: г. Тюмень
 - Контактная информация:
 
Почитайте про Bounds
PushBounds, PopBounds, ResetBounds, AddBounds, SubBouns
			
			
									
						
							PushBounds, PopBounds, ResetBounds, AddBounds, SubBouns
Код: Выделить всё
interface MY;
...
create view
as select *
from PlPor
where
((
  Word(1) == PlPor.TiDk
))
Bounds byDesCr CurDesCr  == PlPor.DesCr;
....
HandleEvent
cmCheckField:
{
  case CurField of
    #wPar:
    {
       if (wPar and coFltDesCr) = coFltDesCr
      {
         AddBounds(tibyDesCr);
      }
      else
      {
         SubBounds(tibyDesCr);
      }
    }
  end;
}
end;
end.
Жду выхода Вселенная 2.12!
			
						- 
				edward_K
 - Заслуженный деятель интернет-сообщества
 - Сообщения: 5189
 - Зарегистрирован: 29 мар 2005, 17:49
 - Откуда: SPB galaxy spb
 
.create view vpers
as select persons.fio,persons.tabnmb
where (( 'æ' == Persons.ISEMPLOYEE ))
bounds byFio = 'æ' == Persons.ISEMPLOYEE
ordered by Persons.ISEMPLOYEE,persons.fio
bounds bytabn = 'æ' == Persons.ISEMPLOYEE
ordered by Persons.ISEMPLOYEE,persons.tabnmb
;
wtyp:=1 ;
case wtyp of
0: vpers.PushBounds(vpers.tbbyfio) ;
else vpers.PushBounds(vpers.tbbytabn) ;
end ;
			
			
									
						
										
						as select persons.fio,persons.tabnmb
where (( 'æ' == Persons.ISEMPLOYEE ))
bounds byFio = 'æ' == Persons.ISEMPLOYEE
ordered by Persons.ISEMPLOYEE,persons.fio
bounds bytabn = 'æ' == Persons.ISEMPLOYEE
ordered by Persons.ISEMPLOYEE,persons.tabnmb
;
wtyp:=1 ;
case wtyp of
0: vpers.PushBounds(vpers.tbbyfio) ;
else vpers.PushBounds(vpers.tbbytabn) ;
end ;