Ai pessoal,
Tenho um bloco com 1000 registros e mostro apenas 10 na tela, necessito fazer um campo que some todos os registros, Beleza consegui.
Agora necessito de um campo que some somente os registros que estão na tela, quando mudo os registros é necessário refazer a conta, pois deverá mostrar a soma somente do que está mostrando.
Se alguém puder me ajudar agradeço.
Somar somente os registros que estão visíveis no bloco
-
- Rank: Analista Sênior
- Mensagens: 140
- Registrado em: Qui, 16 Fev 2006 9:42 am
- Localização: Curitiba
Vanderlei Indalencio
- dr_gori
- Moderador
- Mensagens: 5024
- Registrado em: Seg, 03 Mai 2004 3:08 pm
- Localização: Portland, OR USA
- Contato:
Thomas F. G
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Acho que não é tão simples... Digamos que tenha 100 registros ao todo e na tela está sendo mostrado os registro de 20 a 30...
Pelo que eu entendi, ele quer a soma desses que estão aparecendo. (ou seja, de 20 a 30).
Pelo que eu entendi, ele quer a soma desses que estão aparecendo. (ou seja, de 20 a 30).
-
- Rank: Analista Pleno
- Mensagens: 110
- Registrado em: Ter, 24 Mai 2005 9:16 pm
- Localização: Dongguan - Guangdong - China
se é para calcular o que esta na tela, faca algo parecido com isso
se te entendi isso de resolver
procedure calcula_valor is
--
v_valor number := 0;
begin
--
go_block ('nome do bloco');
first_record;
--
loop
--
v_valor := v_valor + :bloco.nome_do_campo_que_tem_o_valor;
--
exit when :system.last_record = 'TRUE';
next_record;
--
end loop;
--
:bloco.campo_resultado := v_valor;
--
end;
-
- Rank: Analista Sênior
- Mensagens: 140
- Registrado em: Qui, 16 Fev 2006 9:42 am
- Localização: Curitiba
Vanderlei Indalencio
Dr_Guri está com razão, pois não é simples assim...
Nenhuma das soluções funcionaram, pois a primeira não faz nada e a ultima solução soma tudo do bloco.....
Depois de muita Kebra-Cabeça fiz algo assim:
Funcionou
Nenhuma das soluções funcionaram, pois a primeira não faz nada e a ultima solução soma tudo do bloco.....
Depois de muita Kebra-Cabeça fiz algo assim:
DECLARE
v_registro_topo number;
W_RECORD number;
total number := 0;
BEGIN
v_registro_topo := get_block_property('sat5_verba_processo',top_record);
W_RECORD := get_block_property('sat5_verba_processo',top_record);
while W_RECORD <= (v_registro_topo+7) loop
go_record(W_RECORD);
total := total + :sat5_verba_processo.sat5_vl_atualizado;
W_RECORD := W_RECORD+1;
end loop;
message(to_char(total,'999G999G990D00'));
END;
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 7 visitantes