Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

DELPHITOTS

if dentro do quick report expression

Recommended Posts

Ola pessoal estou com uma duvida, deve ser bem simples mas estou penando pra resolver......

Estou com Delhpi7 e trabalhando com Quick Report e Firebird.....

 

Tenho estes campos no relatorio:

 

 

tipoestoque ndepecas qtde valor total

i 2 10 11 X

e 1 2 8 Y

 

 

No total (que é um qrexpression do quick report) eu preciso que faça o seguinte:

 

- se o tipoestoque for = i o total recebe (ndepecas*qtde*valor)

- se o tipoestoque for = e o total recebe (ndepecas*qtde)

 

somente isso, mas nao consigo fazer isso, alguem pode me ajudar?

 

Muito obrigado a todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite amigo.

Acredito que possa fazer assim:

 

procedure TForm1.Button1Click(Sender: TObject);
var
i, e : string;
x, y : integer;
  begin
	if (tipoestoque.Caption = i) then
	  begin
		x := (StrtoInt(ndepecas.Caption) * StrtoInt(qtde.Caption) * StrtoInt(valor.Caption));
		total.Caption := InttoStr(x);
	  end;
	if (tipoestoque.Caption = e) then
	  begin
		y := (StrtoInt(ndepecas.Caption) * StrtoInt(qtde.Caption));
		valor.Caption := InttoStr(y);
	  end;
  end;

Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

ola amigo, mas como fao isso dentro de um campo qrexpression do quick report.... preciso desta condicao dentro do relatorio... vai sair a soma1 se for i ou a soma2 se for e..... este procedimetno é pra fazer um condicional no programa e não no relatorio... ou estou errado?

grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal consehi fazer somente para uma condicao mas para a outra nao tenho ideia como insiro no codigo... deu certo pra uma.. dentro do QrExpr coloco:

 

SUM(IF(IBQuery1.tipoest='e',(pesobruto*numpecas*qtdemat*valorunitcompcad),0))

 

 

ele faz a soma em todas as linhas que o tipoestoeu for = "'e".. mas eu preciso que faço outra conta se a linha fo "i'

 

como fazer isso? grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

se eu fizae assim nao funciona

 

SUM(IF(IBQuery1.tipoest='e',(pesobruto*numpecas*qtdemat*valorunitcompcad),0))

SUM(IF(IBQuery1.tipoest='i',(pesobruto*numpecas*qtdemat),0))

 

 

qual a sintaxe correta dentro do sum do expression.....

 

grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.