Tempo de leitura: 2 minutos
A função Select em ADVPL verifica de um alias/tabela está aberto para uso. Se tiver ela retorna um número que pode variar de 0(zero) a 250. Se não for especificado, é retornado o número do Alias/Tabela 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:
//Bibliotecas
#Include "Protheus.ch"
#INCLUDE "TBICONN.CH"
#INCLUDE "topconn.ch"
#include "TOTVS.CH"
/*/{Protheus.doc} fSelect
Exemplo da função Select em ADVPL
@type function
@author Adilio Costa
@since 06/12/2022
@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 e Formações do Protheus:
https://cursos-e-formacoes-protheusadvpl.gr-site.com/
@Participe de nossas comunidades no WhatsApp:
-Comunidade Protheus Backoffice:https://chat.whatsapp.com/KMUIAjwZ6EZ6eAHsLkPTyb
-Comunidade Protheus-RH:https://chat.whatsapp.com/L5dUyAna6xU4ylG5DUgfOW
-Comunidade Protheus-Programação:https://chat.whatsapp.com/LsD6z0apdqKHlOz67bcaEn
-Comunidade Protheus-Framework:https://chat.whatsapp.com/BzUFpjaSnTC3vtsfa77jmG
|Se esse conteúdo foi útil pra você nos ajude divulgando
ele e nossas redes sociais!!|
/*/
User Function fSelect()
Local cQry := ""
cQry := "SELECT * FROM "+RetSqlName("SA1")+" WHERE D_E_L_E_T= ' ' AND A1_COD='000002' AND A1_LOJA='01'"
//Se Select 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(,,cQry),"SA1SQL",.T.,.F.)
//Se o retorno de Select for maior que zero então SA2 está aberto e utilizamo DBCloseArea para fechar
If(Select("SA2") > 0)
FWAlertInfo("O alias SA2 foi aberto com o número:"+cValToChar(Select("SA2")), "Função Select")
SA2->(DBCloseArea())
EndIf
DBSelectArea("SA2")
SA2->(DBSetOrder(1))
FWAlertInfo("código do fornecedor é:"+SA2->A2_COD+", Loja:"+SA2->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.
Link(s) de referência(s):