Últimos registros

Delphi

03/02/2004

Amigos, alguém sabe como eu faço para imprimir, por exemplo, os 10 últimos registros de uma tabela? Tenho uma tabela detalhe com o histórico de compras dos clientes e gostaria de imprimir apenas os 10 últimos registros da tabela de cada cliente para não ficar um relatório muito grande. Grato. :wink:


Aflsilva

Aflsilva

Curtidas 0

Respostas

Henry.fartura

Henry.fartura

03/02/2004

1. mover a tabela para o ultimo registro
2. com uma variavel auxiliar pegar o numero do recordcount da tabela detalhe.
3. mover para o primeiro registro novamente
4. table1.moveby(var_auxiliar - 10);
5. no relatorio (detail) colocar while not table1.eof do
etc...

acho que ajudei...


GOSTEI 0
Vanius

Vanius

03/02/2004

Fera,


se seu banco de dados for SQL vc pode fazer uma query + - assim

SELECT TOP 10 *
FROM Cliente
WHERE CodCliente = :CodCliente
ORDER BY CodCliente DESC


O TOP 10 pega os 10 primeiros registros.
ja o ORDER BY CodCliente DESC inverte a ordem da ORDENACAO.


Abraços,


Vanius


GOSTEI 0
Vanius

Vanius

03/02/2004

Fera,


se seu banco de dados for SQL vc pode fazer uma query + - assim

SELECT TOP 10 *
FROM Cliente
WHERE CodCliente = :CodCliente
ORDER BY CodCliente DESC


O TOP 10 pega os 10 primeiros registros.
ja o ORDER BY CodCliente DESC inverte a ordem da ORDENACAO.


Abraços,


Vanius


GOSTEI 0
Paulo_amorim

Paulo_amorim

03/02/2004

Olá

Ae vanius, no caso de um relatorio, ele mostrar DESC eh feio ne...
pra ordenar crescente, basta usar a sua query como uma subquery:
SELECT * FROM Cliente WHERE cod_cliente IN
(SELECT TOP 10 cod_cliente FROM Cliente ORDER BY cod_cliente DESC)
ORDER BY cod_cliente

isso mostra ele ASC....

porem isso no funciona em MySQL


GOSTEI 0
POSTAR