Select

Reading time: 2 minutes

A função Select determina o número da área de trabalho de um alias. O número retornado pode variar de 0(zero) a 250. Se não for especificado, é retornado o número da área de trabalho corrente. Caso seja especificado e o alias não existir, Select retorna zero. Ela também é uma das Funções de Acesso a Banco de Dados / SQL no Protheus em ADVPL. 

 

Sintaxe:

Select(cAlias)

 

Parâmetro(s):

Retorno:

 

Observações:

  • Essa função é muito útil em situações onde queremos verificar se uma área de trabalho existe para que possamos fazer o fechamento dela com a função DBCloseArea e assim evitar ativar uma área de trabalho que já esteja em uso quando utilizamos o DBUseArea.

 

Exemplo da função Select em ADVPL:

#include 'protheus.ch'
#INCLUDE "TBICONN.CH"
#Define QLIN Chr(10)+Chr(13)
/*{Protheus.doc} User Function PASelect
    (Essa função tem por finalidade mostrar a função de Acesso a Banco de Dados / SQL no Protheus Select em ADVPL)
    @type  Function
    @author Adilio Costa
    @since 06/12/2022
    @version Protheus 12.1.2210
    @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 PASelect()
	Local cQuery    := ""
	Local cAlias := Select("SA2") //Retorna o código do alias SA2
	
	cQuery := "SELECT * FROM "+RetSqlName("SA1")+" WHERE D_E_L_E_T= ' ' AND A1_COD='000002' AND A1_LOJA='01'"

	//Se retornar maior que 0 então o alias SA1SQL está aberto, assim precisaremos fechar com DBCloseArea
	If(Select("SA1SQL") > 0)
		SA1SQL->(DBCloseArea())
	EndIf

	DBUseArea(.T.,"TOPCONN",TcGenQry(,,cQuery),"SA1SQL",.T.,.F.) 

	//cAlias contém o número do alias SA2 que a função Select lhe atribuiu.
	DBSelectArea(cAlias)

	MsgInfo("código do fornecedor é:"+A2_COD+", Loja:"+A2_LOJA, "Função Select")

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.

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