Numerar itens

08/01/2006

Tenho um relatório, onde preciso numerar os itens que vão sendo impresso. Como faço isso? Pelo RecordCount, vinha sempre 1, e tem q estar assim:
primeiro item impresso = 1
segundo item impresso = 2
terceiro item impresso = 3
e assim por diante, depois no final, um total de itens impressos. Grato!


Paulo

Respostas

08/01/2006

Gabriel.elessar

Não sei se te entendi direito!

Pelo que entendi você quer o numero do registro na tabela,
a tabela tem uma propriedade chamada RecNo que traz o numero do registro.

até mais!


Responder Citar

09/01/2006

Paulo

Não tá dando certo, ou seja, se coloco dentro de um loop do tipo while..do, vem tudo 3, se tiver tres itens, tudo 4 se tiver 4 itens. Se coloco fora do loop, fica tudo 1. O que eu quero, é relacionar item a item, cardinalmente, tipo, 1,2,3,4 e etc..., dependendo do nº de itens.

try
frmRelPedidos:=TfrmRelPedidos.Create(Self);
Dm.RelPed.Parameters[0].Value:=strtoint(edNumPed.Text);
Dm.RelPed.Open;
while not Dm.RelPed.Eof do begin frmRelPedidos.RLLabel10.Caption:=inttostr(Dm.RelPed.RecNo); Dm.RelPed.Next; end;

frmRelPedidos.RLReport1.PreviewModal;
Dm.RelPed.Close;
finally
FreeAndNil(frmRelPedidos);
end;

A citação, é o while que eu coloquei, mas já fiz sem o while também e não funcionou. Do jeito que tá, não funciona, fica tudo 3 para tres itens, tudo 4 para 4 itens. Já tentei também RlDbText e nada too.


Responder Citar

09/01/2006

Michael

while not Dm.RelPed.Eof do begin frmRelPedidos.RLLabel10.Caption:=inttostr(Dm.RelPed.RecNo); Dm.RelPed.Next; end;


O [b:f5941320d8]RecNo[/b:f5941320d8] funciona, mas do jeito que está o código acima, vc está atualizando o [b:f5941320d8]Caption [/b:f5941320d8]do label para cada registro do recordset, e obviamente que no final do loop este Caption vai ter o valor da última linha da tabela. ;-)

Não entendi muito bem sua dúvida. Poste novamente com mais detalhes.

[]´s


Responder Citar

09/01/2006

Paulo

Tô fazendo com variável e parece q funciona. É o seguinte. Eu imprimo um pedido, com vários itens, na seguinte ordem:
qde,descrição,valor unit,valor total,isso na grid. São várias linhas, então eu gostaria de numerar as linhas, assim:

item qde descricao unit total 1 1 tampa de rolha 2,35 2,35 2 1 tampa de ferro 2,56 2,56 3 3 tampa alum 3,00 9,00 4 2 fita gomada 15,00 30,00


O que eu quero é numerar a propriedade item, como acima, para quando o cliente do meu cliente disser, no ITEM 3 está errado, ele imediatamente localizar.


Responder Citar

09/01/2006

Paulo

Resolvi. Eu usava o evento errado. Passei usar o BeforePrint da banda detail do fortes e aí funcionou.

var tot:integer; begin tot:=0; tot:=Dm.RelPed.RecNo; RLLabel10.Caption:=inttostr(tot); end;



Responder Citar