DbSetOrder e DbSeek em consultas simples
Alinha ordem ativa e chave antes da busca.
Visão geral
A chave de DBSeek precisa corresponder à expressão da ordem selecionada. DBSetOrder seleciona por posição entre ordens abertas, não por número universal de índice. Zero usa ordem física; omitir ou informar número negativo não muda a ordem segundo a ficha. Trocar a ordem não reposiciona o registro. O fragmento exige nOrdem válido e cChave construído conforme o índice da tabela própria EDTRB, inclusive filial quando fizer parte da expressão. DBSeek com soft seek falso distingue correspondência exata de ausência; não ler campos sem confirmar retorno. (TOTVS, s.d., refs. 1–2)
Exemplo comentado
// Fragmento: nOrdem e cChave validados no contrato do chamador.
If Select("EDTRB") > 0
EDTRB->(DBSetOrder(nOrdem))
If EDTRB->(DBSeek(cChave, .F.))
ConOut("Chave encontrada")
Else
ConOut("Chave ausente")
EndIf
EndIfMensagem de presença ou ausência da chave; nenhum registro alterado explicitamente. Ordem e posição do alias são alteradas. Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.
- Não confundir retorno lógico com posição válida após uma busca malsucedida. Preservar contexto conforme o chamador; navegação pode efetivar alterações pendentes.
- Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.

Comentários
Ainda não há comentários aprovados.
Entre com Google ou Microsoft para comentar.