Ir para conteúdo

POWERED BY:

Arquivado

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

Wilke1

qrexpr.expresion

Recommended Posts

ola pessoal e o seguinte eu faço para dividir esse resultado, eu tenho feito assim mas não tá dando certo vocês poderia me dar uma luz.desde ja agradeço a juda de vocês.

 

procedure TFmRlperfil.QRLabel9Print(sender: TObject; var Value: string);begin VALUE:=vartostr(qryperfil.FieldByName('Homens').Value+Qryperfil.FieldByName('Mulheres').Value)/Qrexpr3.Expression:='SUM(Qryperfil.homens) + SUM(Qryperfil.Mulheres)';end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso nunca vai funcionar, pois você esta querendo pegar um QRExpression, fazer com que ele faça um cálculo e divisão..Para fazer isto ou você usa um Expression mesmo, recebendo toda a função, ou calcula somente com campos da sua qry...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso nunca vai funcionar, pois você esta querendo pegar um QRExpression, fazer com que ele faça um cálculo e divisão..Para fazer isto ou você usa um Expression mesmo, recebendo toda a função, ou calcula somente com campos da sua qry...

marcio voce tem algum exemplo de como eu posso fazer isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não, não tenho...

No caso este label não pode ser substituído por um QRExpression ? Se puder, coloque ele no local, e coloque o cálculo todo dentro dele, algo do tipo:

 

(Qryperfil.Homens + Qryperfil.Mulheres) / (SUM(Qryperfil.homens) + SUM(Qryperfil.Mulheres))

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não, não tenho...No caso este label não pode ser substituído por um QRExpression ? Se puder, coloque ele no local, e coloque o cálculo todo dentro dele, algo do tipo:

(Qryperfil.Homens + Qryperfil.Mulheres) / (SUM(Qryperfil.homens) + SUM(Qryperfil.Mulheres))
marcio com esse calculo eu posso dizer que esse eum resultado de porcentagem ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz um teste e veja se o valor gerado é o esperado...Não sei como esta todo o seu relatório...

e isso mesmo, só falta fazer o rendondamento.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Abre em novo tópico sobre isto... Para não fica confuso o post...

marcio eu fui verificar os calculos de porcentagem, e verifiquei que alguns resultados não bateme alguns da certo. o que pode ser , eu tenho feito assim no Qrexpr1.expression .((Qryperfil.Homens + Qryperfil.Mulheres)*100 / (SUM(Qryperfil.homens) + SUM(Qryperfil.Mulheres))

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz um teste separando eles em blocos...

 

((Qryperfil.Homens + Qryperfil.Mulheres) * 100) / ((SUM(Qryperfil.homens) + SUM(Qryperfil.Mulheres))

Ou então, pesquisa sobre campos calculado...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz um teste separando eles em blocos...

((Qryperfil.Homens + Qryperfil.Mulheres) * 100) / ((SUM(Qryperfil.homens) + SUM(Qryperfil.Mulheres))
Ou então, pesquisa sobre campos calculado...
marcio eu consergui criar o campo calculado chamado 'total', mas não estou consiguindo calcular o valor total, que esta no Qrexpr4.expression que dar o resultado 303voce tem alguma ideia?((Qryperfil.Total)*100)/303 esse eo resultado que eu não consigo calcular.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz um teste separando eles em blocos...

((Qryperfil.Homens + Qryperfil.Mulheres) * 100) / ((SUM(Qryperfil.homens) + SUM(Qryperfil.Mulheres))
Ou então, pesquisa sobre campos calculado...
marcio eu consergui criar o campo calculado chamado 'total', mas não estou consiguindo calcular o valor total, que esta no Qrexpr4.expression que dar o resultado 303voce tem alguma ideia?((Qryperfil.Total)*100)/303 esse eo resultado que eu não consigo calcular.
marcio eu fiz assim e deu certo , esse codigo esta no evento berforeprint do quickrep. quando eu visualizo , ele amostra tudo certinho, mas quando eu imprimo ele amostra a mensagem'' cannot divide by 0'' voce tem ideia do que seja.var Total:integer; Total1:integer; Resultado:string; totalporc:integer; begin Total:= 0; Total1:= 0; while not FmRlperfil.Qryperfil.Eof do begin Total :=Total + FmRlperfil.qryperfil.FieldByName('Homens').AsInteger; Total1:=Total1+ FmRlperfil.Qryperfil.FieldByName('Mulheres').AsInteger; FmRlperfil.Qryperfil.Next; end; resultado:=inttostr(total+total1); totalporc:=strtoint(resultado); Qrexpr4.Expression:='((Qryperfil.Total)*100)/'+resultado;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz um teste separando eles em blocos...

((Qryperfil.Homens + Qryperfil.Mulheres) * 100) / ((SUM(Qryperfil.homens) + SUM(Qryperfil.Mulheres))
Ou então, pesquisa sobre campos calculado...
marcio eu consergui criar o campo calculado chamado 'total', mas não estou consiguindo calcular o valor total, que esta no Qrexpr4.expression que dar o resultado 303voce tem alguma ideia?((Qryperfil.Total)*100)/303 esse eo resultado que eu não consigo calcular.
marcio eu fiz assim e deu certo , esse codigo esta no evento berforeprint do quickrep. quando eu visualizo , ele amostra tudo certinho, mas quando eu imprimo ele amostra a mensagem'' cannot divide by 0'' voce tem ideia do que seja.var Total:integer; Total1:integer; Resultado:string; totalporc:integer; begin Total:= 0; Total1:= 0; while not FmRlperfil.Qryperfil.Eof do begin Total :=Total + FmRlperfil.qryperfil.FieldByName('Homens').AsInteger; Total1:=Total1+ FmRlperfil.Qryperfil.FieldByName('Mulheres').AsInteger; FmRlperfil.Qryperfil.Next; end; resultado:=inttostr(total+total1); totalporc:=strtoint(resultado); Qrexpr4.Expression:='((Qryperfil.Total)*100)/'+resultado;
Resolvido marcio eu coloquei todo codigo dentro do whileeu fiz assim e deu certovarTotal:integer;Total1:integer;Resultado:string;totalporc:integer;beginTotal:= 0;Total1:= 0;while not FmRlperfil.Qryperfil.Eof do beginTotal :=Total + FmRlperfil.qryperfil.FieldByName('Homens').AsInteger;Total1:=Total1+ FmRlperfil.Qryperfil.FieldByName('Mulheres').AsInteger;FmRlperfil.Qryperfil.Next;resultado:=inttostr(total+total1);totalporc:=strtoint(resultado);Qrexpr4.Expression:='((Qryperfil.Total)*100)/'+resultado;end;

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.