Ultimo registro do dbseek

Bom día!

Estou precisando pegar o último registro de:


DbSelectArea("ZA8")
ZA8->(DbSetOrder(1))
dbSeek(xFilial("ZA8") + cPedido)
DbGoBottom()
cSequen := ZA8->ZA8_SEQUEN
ZA8->(dbCloseArea())

Mas com dbSeek não consigo fazer isso. Pesquise e consegui fazer com Set Filter, mas não tenho a certeza que seija correcto.


DbSelectArea("ZA8")
ZA8->(DbSetOrder(1))
Set Filter to ZA8->ZA8_PEDIDO = cPedido .and. xFilial("ZA8") = cFil
DbGoBottom()
cSequen := ZA8->ZA8_SEQUEN
ZA8->(dbCloseArea())

Podem me orientar um pouco, e minha duvida: Tem alguma forma de conseguir o ultimo registro com dbseek()?

Yenny,

Se você que pegar o último registro de um dbseek realmente essa forma quer você fez é a mais rápida e fácil na minha opinião, filtra a tabela e depois da um DbGoBottom, porque se você não filtrar vai para o último registro geral da tabela.

O que você pode fazer também é dar um dbseek e um while depois só do registro posicionado e pegar o último, mas esse modo eu acho mais trabalhoso

Abraço,

Olá Felipe… Eu já tentei o de While, mas achei muito complicado, e por isso fiz o Set Filter… Muito Obrigada pela respota!..

Concordo com o Daniel, usa um select max...muito mais rápido e eficiente. Filtro deve ser usado para apresentação a tela.