Добрый день!
Мне в ИНТЕРФЕЙСЕ надо обработать записи из таблицы PEREVOD за определенный месяц и год и по определенному виду оплаты, причем код вида оплаты известен только системный (в таблице perevod есть пользовательский код). Выбрать год и месяц проблемы не составляет, но вот как ограничить по СИСТЕМНОМУ коду, не знаю(((
Помогите советом, пожалуйста!
Помогите написать запрос!
Модераторы: m0p3e, edward_K, Модераторы
Помогите написать запрос!
Кто сказал, что бесполезно биться головой об стену?!
Поля я знаю...
Если бы это был отчет, я бы написала так:
select perevod.vidopl, perevod.sumper
from perevod
where((2007 == perevod.yeark and 2 == perevod.mes and
perevod.vidopl == Klvidopl.vidoplp
))
and 107=klvidopl.vidopl
;
а как сделать в интерфейсе?
Если бы это был отчет, я бы написала так:
select perevod.vidopl, perevod.sumper
from perevod
where((2007 == perevod.yeark and 2 == perevod.mes and
perevod.vidopl == Klvidopl.vidoplp
))
and 107=klvidopl.vidopl
;
а как сделать в интерфейсе?
Кто сказал, что бесполезно биться головой об стену?!
-
- Местный житель
- Сообщения: 1846
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
- Контактная информация:
Interface s2176 ;
create view
var
p1 : integer ;
p2,p3 : word ;
totsum : double ;
as select * from perevod
where ((
p1 == perevod.yearn
and p2 == perevod.mesn
and p3 == perevod.vidopl (noindex)
))
;
SCREEN screen1;
fields
p1 : [4],noprotect ;
p2 : [2],noprotect ;
p3 : [3],noprotect ;
buttons
cmYes ,Default,,'';
cmCancel ,,,'';
<<
год .@@@@
месяц .@@
вид оплаты сис .@@@
<.Сформировать.> <.Отмена.>
>>
end;
HandleEvent
CmYes :{
if getfirst klvidopl where ((p3==klvidopl.vidopl))=tsok
p3:=klvidopl.vidoplp;
else Message ('не найден такой сис. код оплаты');
_Loop perevod
{
totsum:=totsum+perevod.SUMPER;
}
Message('сумма по виду оплаты равна'+totsum);
CloseInterface(CmDone);
}
end;
end.
create view
var
p1 : integer ;
p2,p3 : word ;
totsum : double ;
as select * from perevod
where ((
p1 == perevod.yearn
and p2 == perevod.mesn
and p3 == perevod.vidopl (noindex)
))
;
SCREEN screen1;
fields
p1 : [4],noprotect ;
p2 : [2],noprotect ;
p3 : [3],noprotect ;
buttons
cmYes ,Default,,'';
cmCancel ,,,'';
<<
год .@@@@
месяц .@@
вид оплаты сис .@@@
<.Сформировать.> <.Отмена.>
>>
end;
HandleEvent
CmYes :{
if getfirst klvidopl where ((p3==klvidopl.vidopl))=tsok
p3:=klvidopl.vidoplp;
else Message ('не найден такой сис. код оплаты');
_Loop perevod
{
totsum:=totsum+perevod.SUMPER;
}
Message('сумма по виду оплаты равна'+totsum);
CloseInterface(CmDone);
}
end;
end.