Últimos registros
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
Curtidas 0
Respostas
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...
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
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
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
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
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
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
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