Синтаксис установки фильтра на представление
Добавлено: 09 янв 2003, 14:15
В лицевых карточках (форма т54а)не выводится подразделение, должность...
Пыталась дописать присоединенную форму запросом по недастающим данным.
Само представление формируется, а как дальше его использовать, чтобы на него наложить фильтр типа:
если t1.tabnom=tabn(а TABN-это тн выбранного работника, которому и надо распечатать лиц счет).
Если б для одного человека, то это ограничение можно бы было включить в запрос, но так как может быть помечено несколько человек, то куда и как наложить этот фильтр.
.LinkForm 'Tob_ls' Prototype is 'T54aNew'
.NameInList 'Тоб Лицевой счет N Т-54а'
.create view t1 as
select persons.tabnmb(fieldname=tabnom),appointments.orderdate(fieldname=or1),
appointments.ordernmb(fieldname=or2),
catalogs.name(fieldname=cat1),a.name(fieldname=cat2),b.name(fieldname=cat3),
appointments.category,lschet.tarif
from persons,catalogs a,catalogs b
where ((lschet.tperson/==persons.nrec
and persons.appointcur/==appointments.nrec
and appointments.department==catalogs.nrec
and appointments.post==a.nrec
and appointments.workcond==b.nrec
));
.fields
....
Podr1
Dolg1
....
e':'s'
.endfields
Начинается цикл по выводу полей, сюда бы по идее и надо включить фильтр, но не представляю синтаксис установки фильтра на представление.
.begin
Фильтр t1.tabnom=tabn
if Podr1='' then Podr1:=t1.cat1;
end.
Пыталась дописать присоединенную форму запросом по недастающим данным.
Само представление формируется, а как дальше его использовать, чтобы на него наложить фильтр типа:
если t1.tabnom=tabn(а TABN-это тн выбранного работника, которому и надо распечатать лиц счет).
Если б для одного человека, то это ограничение можно бы было включить в запрос, но так как может быть помечено несколько человек, то куда и как наложить этот фильтр.
.LinkForm 'Tob_ls' Prototype is 'T54aNew'
.NameInList 'Тоб Лицевой счет N Т-54а'
.create view t1 as
select persons.tabnmb(fieldname=tabnom),appointments.orderdate(fieldname=or1),
appointments.ordernmb(fieldname=or2),
catalogs.name(fieldname=cat1),a.name(fieldname=cat2),b.name(fieldname=cat3),
appointments.category,lschet.tarif
from persons,catalogs a,catalogs b
where ((lschet.tperson/==persons.nrec
and persons.appointcur/==appointments.nrec
and appointments.department==catalogs.nrec
and appointments.post==a.nrec
and appointments.workcond==b.nrec
));
.fields
....
Podr1
Dolg1
....
e':'s'
.endfields
Начинается цикл по выводу полей, сюда бы по идее и надо включить фильтр, но не представляю синтаксис установки фильтра на представление.
.begin
Фильтр t1.tabnom=tabn
if Podr1='' then Podr1:=t1.cat1;
end.