Ir para conteúdo
Fórum Script Brasil
  • 0

Dúvida ao criar fórmula no crystal


Tiago_BB

Pergunta

Boa tarde pessoal.

Vamos supor que tenho uma coluna na sessão details com os seguintes valores:

TOTAL

-------

12.000

5.000

8.500

3.100

Preciso fazer um campo fórmula que ficará ao lado da coluna acima, porém tal fórmula deverá retornar o valor do campo TOTAL + o valor da próxima linha da coluna TOTAL, a primeira linha será igual, apartir dela já soma.

Aplicando a teoria para melhor compreensão.

TOTAL - NOVA COLUNA

------ - -------------

12.000 - 12.000 (primeira linha permanece)

5.000 - 17.000 (12.000 + 5.000)

8.500 - 25.500 (17.000 + 8.500)

3.100 - 28.600 (25.500 + 3.100)

Espero que tenha ficado mais claro!!

Espero que possam me ajudar!!!

atte.

Link para o comentário
Compartilhar em outros sites

22 respostass a esta questão

Posts Recomendados

  • 0

Ola Kuroi.

Fiz da forma com que você ensinou... porém como eu crio uma fórmula usando next... o primeiro registro fica em branco.

Fica dessa forma:

TOTAL

-------

12.000

5.000

8.500

3.100

Crindo uma fórmula chamada NOVACOLUNA:

next({TOTAL})

Ele esta retornando da seguinte forma:

TOTAL - NOVACOLUNA

--------- -------------------

12.000 - 5.000

5.000 - 8.500

8.500 - 3.100

3.100 -

Eu gostaria que como 12.000 é a primeira linha ... a primeira linha da nova coluna deverá ser 12.000... a aprtir dai prgar o próximo.

Só que tenho outro problema... conforme comentado anteriormente, não quero pegar o próximo valor... mas sim "pegar" esse primeiro valor (12.000) e somar com o próximo registro (5.000), com isso a segunda linha da fórmula deverá ficar 12.000 + 5.000 = 17.000, e assim sucessivamente...

Preciso que me retorne da seguinte forma:

TOTAL - NOVACOLUNA

--------- -------------------

12.000 - 12.000

5.000 - 17.000 (12.000 + 5.000)

8.500 - 25.500 (17.000 + 8.500)

3.100 - 28.600 (25.500 + 3.100)

Agradeço o interesse.

Abs.

Link para o comentário
Compartilhar em outros sites

  • 0

mas você fez diferente daquilo q eu falei:

o melhor seria você por um running total fields q faca a soma normal.

aqui eu quis dizer pra essa segunda coluna, é so você fazer uma soma normal por running total fields.

e na hora de mostrar a primera coluna, você pegaria o previous() do campo.

aqui, pensando bem, talvez o melhor não seja pegar next() nem previous(). o melhor acho q seria adicionar o proprio campo TOTAL e por na primera coluna.

Link para o comentário
Compartilhar em outros sites

  • 0

Pessoal.

Tenho outro problema.

Vamos la... vamos dizer que tenho duas colunas...

COLUNA1 - COLUNA2

----------- ------------

1.000 - 2.500

3.000 - 5.500

5.100 - 10.600

Preciso agora fazer uma soma dos valores dessas duas colunas, porém, não é só somar 1.000 + 2.500... 3.000 + 5.500... Tenho que: na primeira linha sim, somar os dois campos (1.000 + 2500).. mas a partir da segunda linha tenho que "pegar" a primeira linha da nova coluna (1.000 + 2.500 = 3.500) e somar com os valores das duas colunas da próxima linha ( 3.500 + 3.000 + 5.500 ) para obter a segunda linha... e assim sucessivamente.

Não é possível usar o Running Total pois é mais de uma coluna.

No final desejo que fique dessa forma:

COLUNA1 - COLUNA2 - COLUNA3

----------- ------------ -----------

1.000 - 2.500 - 3.500

3.000 - 5.500 - 12.000 (3.500 + 3.000 + 5.500)

5.100 - 10.600 - 27.700 (12.000 + 5.100 + 10.600)

.

.

.

Alguém pode me ajudar!!!

Agradeço desde já!!!!

Link para o comentário
Compartilhar em outros sites

  • 0

é, você não consegue fazer um running total de otro running total (nem de uma formula baseada num running total).

mas o q você pode fazer é uma formula q some o campo da coluna 1 com, não o campo do running total da coluna 2, mas o campo q esta sendo somado dentro desse running total. ai você deve conseguir fazer o segundo running total q deve fazer a soma correta.

Link para o comentário
Compartilhar em outros sites

  • 0

Pessoal.

Estou com outra dificuldade.

Conforme mencionado... criei a seguinte fórmula:

@CalculateTotal

whileprintingrecords;

numbervar Amount := Amount + ({@Teste_RuningTotal})

Até ai tudo bem... acontece que... estou precisando da soma total dessa fórmula...

Tentei fazer da seguinte forma criando uma outra fórmula:

whileprintingrecords;

numbervar Amount := sum(Amount) + sum({@Teste_RuningTotal})

Mas reclama que no lugar da variável Amount tem que ser um campo.

Alguém tem uma sugestão???

Atte.

Link para o comentário
Compartilhar em outros sites

  • 0

Tenho a seguinte fórmula @CalculateTota:

whileprintingrecords;

numbervar Amount := Amount + ({@Teste_RuningTotal})

Onde @Teste_RuningTotal = ({CAMPO1}) + ({@teste})

Onde @teste = {CAMPO1}

Essa fórmula (@CalculateTota) esta na sessão details... exibe os dados que quero certinho...

Preciso no ReportFooter, exibir a soma total dessa coluna (@CalculateTota).

Estou tentando de várias maneiras... mais não da pra somar a variável Amount.

Alguém tem alguma sugestão?

Link para o comentário
Compartilhar em outros sites

  • 0

você não pode somar campos q tenham whileprintingrecords, porque esse tipo de campo depende de varios registros.

você so pode somar campos q sejam unicos pra cada registro.

da uma olhada no meu post de cima. se você fizer daquela forma, acredito q consiga somar.

Link para o comentário
Compartilhar em outros sites

  • 0

estava falando desse aqui:

é, você não consegue fazer um running total de otro running total (nem de uma formula baseada num running total).

mas o q você pode fazer é uma formula q some o campo da coluna 1 com, não o campo do running total da coluna 2, mas o campo q esta sendo somado dentro desse running total. ai você deve conseguir fazer o segundo running total q deve fazer a soma correta.

é pra você somar um campo com o outro, não ponha Sum() dentro de nenhuma formula. e nem whileprintingrecords, nem previous() nem next(), etc.

Editado por kuroi
Link para o comentário
Compartilhar em outros sites

  • 0

Pessoal.

CONSEGUIIIII ... :D

Tenho a seguinte fórmula:

@CalculateTota:

whileprintingrecords;

numbervar Amount := Amount + ({@Teste_RuningTotal})

Eu apenas removi o whileprintingrecords; ... com isso consegui fazer um Insert Summary na fórmula.

Atte;

Link para o comentário
Compartilhar em outros sites

  • 0

Bom dia pessoal, estou com uma dúvida na criação de uma formula no VB.

 

A |  B  |   C      |     vSaldoFinal

0 | 13 | 129,5 |  116,5 = C + A - B

0 | 13 | 129.5 |  103,5 ( Para calcular este campo, necessito do resultado do campo acima) = vSaldoFinal + A - C

 

FÓRMULA:

Somente no primeiro campo deve ser: C + A - B

Nos próximos campos:

vSaldoFinal + A - C

vSaldoFinal + A - C

vSaldoFinal + A - C

vSaldoFinal + A - C

Etc

A fórmula que tenho aqui é: 

 

WhilePrintingRecords;
CurrencyVar vSaldoFinal;

if {tabela.MOV_CH_SITUACAO}<>'C' then
    vSaldoFinal := ({@campoC} + {tabela.campoA}) - {tabela.campoB};
    

vSaldoFinal;

 

Poderiam me ajudar por favor?

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...