PEGAR O PENULTIMO REGISTRO NUM RECORDSET
Oi,
Numa tabela, conforme abaixo
Cd_responsavel
Ano
Mes
Qtd_filhos
Qtd_mulheres
Qtd_homens
Muito bem, agora como faço para obter a penúltima informação cadastrada para cada cliente? Só para lembrar, (penúltimo é anterior ao último). O último dado é fácil saber, já o penúltimo está complicado, ainda mais porque estes dados nem sempre são informados.
Alguém pode me ajudar?
Reb
Numa tabela, conforme abaixo
Cd_responsavel
Ano
Mes
Qtd_filhos
Qtd_mulheres
Qtd_homens
Muito bem, agora como faço para obter a penúltima informação cadastrada para cada cliente? Só para lembrar, (penúltimo é anterior ao último). O último dado é fácil saber, já o penúltimo está complicado, ainda mais porque estes dados nem sempre são informados.
Alguém pode me ajudar?
Reb
Quais destes campos seria sua chave ?
Você está gravando por data de registro dentro do banco de dados ou campo autonumeração ???
Você está gravando por data de registro dentro do banco de dados ou campo autonumeração ???
Fácil....
VC move para o último registro do seu BCO de DADOS (já que VC já sabe como fazer), e logo depois, VC dá um MOVEPREVIOUS.
Pronto, VC estará no penúltimo registro da sua tabela.
VC move para o último registro do seu BCO de DADOS (já que VC já sabe como fazer), e logo depois, VC dá um MOVEPREVIOUS.
Pronto, VC estará no penúltimo registro da sua tabela.
Agradeço a todos.
Webmaster, são estes os campos da chave:
Cd_responsavel
Ano
Mes
Luis Cesar, é tem razão, mas minha intenção é fazê-lo numa única consulta e não via programação.
Até,
Webmaster, são estes os campos da chave:
Cd_responsavel
Ano
Mes
Luis Cesar, é tem razão, mas minha intenção é fazê-lo numa única consulta e não via programação.
Até,
Se você gerasse uma consulta mostrando os dois primeiros registros em ordem decrescente (ou seja, os dois últimos).
E dessa consulta pegar o último (que seria o penúltimo, pelo menos eu acho)
Tudo ficaria assim:
Eu testei aqui de uma forma bem simples e deu certo, espero que isso resolva seu problema...
Aguardo resposta, até logo.
SELECT TOP 2 Tabela.* FROM Tabela ORDER BY Tabela.Cd_responsavel DESCE dessa consulta pegar o último (que seria o penúltimo, pelo menos eu acho)
Tudo ficaria assim:
SELECT Last(SubConsulta.Cd_responsavel) AS Ultimo, SubConsulta.Ano, SubConsulta.Mes, SubConsulta.Qtd_filhos, SubConsulta.Qtd_mulheres, SubConsulta.Qtd_homens
FROM [SELECT TOP 2 Tabela.* FROM Tabela ORDER BY Tabela.Cd_responsavel DESC]. AS SubConsulta
GROUP BY SubConsulta.Ano, SubConsulta.Mes, SubConsulta.Qtd_filhos, SubConsulta.Qtd_mulheres, SubConsulta.Qtd_homens
ORDER BY Last(SubConsulta.Cd_responsavel) DESC;Eu testei aqui de uma forma bem simples e deu certo, espero que isso resolva seu problema...
Aguardo resposta, até logo.
Tópico encerrado , respostas não são mais permitidas