Tempo de leitura: 2 minutos
A função DBSeek permite localizar um registro da área de trabalho ativa, com as informações especificadas na chave de busca, fornecendo um retorno lógico indicando se o posicionamento foi efetuado com sucesso, ou seja, se a informação especificada na chave de busca foi localizada na área de trabalho. Ela é uma das Funções de Acesso a Banco de Dados / SQL no Protheus em ADVPL.
Sintaxe:
DBSeek(cExpr,lPos)
Parâmetro(s):
Retorno:
Exemplo da função DBSeek em ADVPL:
#include 'protheus.ch'
#INCLUDE "TBICONN.CH"
#Define QLIN Chr(10)+Chr(13)
/*{Protheus.doc} User Function PADBSeek
(Essa função tem por finalidade mostrar a função de Acesso a Banco de Dados / SQL no Protheus DBSeek em ADVPL)
@type Function
@author Adilio Costa
@since 08/12/2023
@version 1.0
@Inscreva-se no Blog ProtheusAdvpl:
https://www.protheusadvpl.com.br
@Inscreva-se no Canal ProtheusAdvpl:
https://www.youtube.com/protheusadvpl
@Siga-nos no Instagram:
https://www.instagram.com/protheusadvpl
@Conheça os Cursos do ProtheusAdvpl:
https://hotmart.com/pt-br/club/protheusadvpl
|Se esse conteúdo foi útil pra você nos ajude divulgando
ele e nossas redes sociais!!|
*/
User Function PADBSeek()
Local aArea := GetArea() //Salvando a área atual
Local cCodFor := "000002"
Local cLojaFor := "01"
//Seleciona a tabela SA2 como a área ativa
DBSelectArea("SA2")
//Seleciona o 1 índice de SA2 -> A2_FILIAL+A2_COD+A2_LOJA
SA2->(DBSetOrder(1))
//Fazendo a busca exata do registro
If(SA2->(DBSeek(xFilial("SA2")+cCodFor+cLojaFor)))
MsgInfo("O fornecedor foi localizado!", "Função DBSeek")
Else
MsgInfo("O fornecedor não foi localizado!", "Função DBSeek")
EndIf
//Fazendo a busca aproximada do registro, o qual pode não ser o especificado na chave
If(SA2->(DBSeek(xFilial("SA2")+cCodFor+cLojaFor,.T.)))
MsgInfo("Um fornecedor aproximado foi localizado!", "Função DBSeek")
Else
MsgInfo("Nenhum fornecedor aproximado foi localizado!", "Função DBSeek")
EndIf
//Restaurando o ambiente salvo
RestArea(aArea)
Return
É isso aí, finalizamos aqui mais um post no Blog ProtheusAdvpl. Caso tenha ficado alguma dúvida deixe seu comentário ou nos envie um e-mail para adiliocosta@protheusadvpl.com.br, até um próximo post, grande abraço e fica com Deus.
Link(s) de referência(s):