DBSeek

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):

Receba as últimas atualizações do ProtheusAdvpl
Deixe seu melhor email
Nós respeitamos sua privacidade.