GARANTIR DESCONTO

Fórum Extenso no QuickReport #189039

16/10/2003

0

Já tenho a função para escrever valor por extenso. Em modo de execução funciona muito bem (desde que exista apenas um ítem). O problema ocorre quando tento imprimir os registros de uma tabela no QR. Estes registros estão numa SubDetailBand.

Estou tentando da seguinte forma:

procedure TfRelatorio.QRSubDetail3BeforePrint(Sender: TQRCustomBand;
var PrintBand: Boolean);
var ValorExtenso: string;
begin
If QRDBText35.Text <> ´´ Then Begin //local onde está o valor em R$
ValorExtenso := Extenso( StrToFloat(QRDBText35.Text) );
QRLabel64.text := ValorExtenso;

end;

Também não dá. O campo onde está o valor é em formatcurr.
Onde será que está o erro ??

Os dados estão em um field de uma TTable Filha.


QRLabel64.text := Extenso(QRDBText35.DataSet.FieldByName(QRDBText1.DataField).Value);

ou

QRLabel64.text := Extenso(Tabela/QueryCampo.Value);
_________________
Adilson Dutra


Ps: Seja mais ponderado com o título de suas perguntas. Dificilmente, eu e imagino que vários outros colegas, leio e respondo perguntas com títulos deste tipo.
_________________
Adilson Dutra



Estou de acôrdo em grau e gênero com sua colocação a respeito do título, apenas estava entrando em desespero para obter um resultado positivo.
Vou tentar com a sua dica, apenas uma dúvida.
O valor que está no QRDBText35 (valor currency) aparecerá por extenso no QRLabel64. Não entendi a finalidade do QRDBText1 na linha.

Obrigado

CBier

[i:537fb3f315]Título editado. Para mensagens particulares utilize MP. Leia as [url=http://delphiforum.icft.com.br/forum/viewtopic.php?t=6689&sid=add834b4ed94967502cf2381c38e751a][u:537fb3f315]Regras de Conduta[/u:537fb3f315][/url]. (marcelo.c – Moderador)[/i:537fb3f315]


Cbier

Cbier

Responder

Posts

16/10/2003

Adilsond

Desculpe-me, o correto seria:

QRLabel64.text := Extenso(QRDBText35.DataSet.FieldByName(QRDBText35.DataField).Value);

ou seja: QRDBText35.DataField me retorna o nome do campo que será passado para a função ParamByName do dataset para pegar o valor que esta na tabela, pois assim ele não virá com a formatação. Isto equivale a voce colocar a segunda opção: Extenso(TabelaFilhaCampo.Value);


OK.


Responder

Gostei + 0

16/10/2003

Cbier

Adilson,

Fiz exatamente como vc. mencionou.
Apenas mudei QRLabel.text para QRLabel.caption. (tentei das duas formas)
Não deu certo.

Ficou assim:

procedure TfRelatorio.QRSubDetail3BeforePrint(Sender: TQRCustomBand; var PrintBand: Boolean);
begin
QRLabel64.caption := Extenso(QRDBText35.DataSet.FieldByName(QRDBText35.DataField).Value);
end;

Usei o BeforePrint do QR
Usei o AfterPreviw do QR
Usei o BeforePrint da SubDetailBand
Usei o AfterPreview da subdetailBand


Responder

Gostei + 0

16/10/2003

Braddockcs

tente usar no evento on print de um componente imediatamento anterior ao do valor por extenso


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar