Помогите написать запрос!

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
s2176
Местный житель
Сообщения: 473
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Новосибирск

Помогите написать запрос!

Сообщение s2176 »

Добрый день!
Мне в ИНТЕРФЕЙСЕ надо обработать записи из таблицы PEREVOD за определенный месяц и год и по определенному виду оплаты, причем код вида оплаты известен только системный (в таблице perevod есть пользовательский код). Выбрать год и месяц проблемы не составляет, но вот как ограничить по СИСТЕМНОМУ коду, не знаю(((
Помогите советом, пожалуйста!
Кто сказал, что бесполезно биться головой об стену?!
Den
Местный житель
Сообщения: 1844
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Сообщение Den »

Группируй все как тебе надо по таблице perevod, далее лезешь в KLVIDOPL и смотришь там, какой пользовательский код соответствует системному и подменяешь его

klvidopl.VIDOPLP - пользовательский
klvidopl.VIDOPL - системный
s2176
Местный житель
Сообщения: 473
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Новосибирск

Сообщение s2176 »

Поля я знаю...
Если бы это был отчет, я бы написала так:
select perevod.vidopl, perevod.sumper
from perevod
where((2007 == perevod.yeark and 2 == perevod.mes and
perevod.vidopl == Klvidopl.vidoplp
))
and 107=klvidopl.vidopl
;
а как сделать в интерфейсе?
Кто сказал, что бесполезно биться головой об стену?!
Den
Местный житель
Сообщения: 1844
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Сообщение Den »

Тебе нужно так вывести в интерфейсе ? :

vidopl1 mes1 summa
vidopl2 mes1 summa
.....
vidopln mesn summa
s2176
Местный житель
Сообщения: 473
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Новосибирск

Сообщение s2176 »

да мне вообще-то нужно суммы налогов собрать по счету/субсчету из лицевого счета)). Вид оплаты один - 107(системный) за один месяц-год, выбранный в интерфейсе
Кто сказал, что бесполезно биться головой об стену?!
Den
Местный житель
Сообщения: 1844
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Сообщение Den »

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.
s2176
Местный житель
Сообщения: 473
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Новосибирск

Сообщение s2176 »

Одним запросом никак?...
Впрочем, так, наверное, будет не медленнее.
Спасибо!
Кто сказал, что бесполезно биться головой об стену?!
Ответить