Array
(
)

Numerar itens

Paulo
   - 08 jan 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!


Gabriel.elessar
   - 08 jan 2006

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!


Paulo
   - 09 jan 2006

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;

Citação:
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.


Michael
   - 09 jan 2006


Citação:

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


O RecNo funciona, mas do jeito que está o código acima, vc está atualizando o Caption 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


Paulo
   - 09 jan 2006

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:


Citação:
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.


Paulo
   - 09 jan 2006

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


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