Olá pessoal…
Sabem aquela funcionalidade do APSDU, o Query Analyzer, nessa postagem vou mostrar como chamar ela em qualquer lugar, até mesmo no Fórmulas.
A funcionalidade Query Analyzer serve para abrir a conexão com uma base de dados e executar consultas SQL (por exemplo, SELECT * FROM TABELA).
É um recurso bastante útil quando não se tem instalado os clients de Oracle, SQL Server, etc ou quando não se tem acesso a senha do banco de dados.
A função que abre o Query Analyzer, é a ApQryAn(), portanto basta fazer a chamada dessa função onde você deseja, que será aberto a tela para você escrever a sua consulta.
Por exemplo, criei até uma user function para testar:
//Bibliotecas #Include "Protheus.ch" /*/{Protheus.doc} zTeste Função de teste para abrir o Query Analyzer @author Atilio @since 07/10/2017 @version 1.0 @type function /*/ User Function zTeste() Local aArea := GetArea() //Chamando o Query Analyzer ApQryAn() RestArea(aArea) Return
Bom pessoal, por hoje é só.
Abraços e até a próxima.
Legal fiz o teste funcionou na versão11 do Protheus usando o formulas mas na versão 12 não abre pelo formulas, tem outra forma de chamar no Protheus12?
Boa noite Rone, tudo bem?
Infelizmente o Fórmulas do Protheus 12 não está mais funcionando.
Top, bem mais pratico do que abrir a APSDU sempre que precisa testar uma query.
Boa noite Jacky.
Opa, obrigado jovem.
Boa tarde. Maravilha essa solução, tem conhecimento da função que abre as tabelas também pelo sdu?
Obrigado.
Bom dia Daniel, tudo bem?
Rapaz, não conheço, irei pesquisar, se eu encontrar algo, te aviso.
Um grande abraço.
Olá, Dan_Atilio. Tudo bem?
Meu caro, estou consultando este post no finalzinho de 2020.
Aparentemente, a TOTVS inseriu uma condição para executar o ApQryAn() em outros módulos que não seja o APSDU.
Fui tentar hoje, após muito tempo, e surgiu uma mensagem: “Opção disponível somente para o módulo APSDU”.
Você já viu isso?
Sabe me dizer se tem algum alternativa?
Att,
Maicon Macedo
Fala Maicon, tudo sim graças a Deus e você?
Olha, no padrão realmente bloquearam, mas o que você pode tentar (não testei e não sei se daria certo), é você forçar que estaria usando o APSDU, com a função SetFunName, similar abaixo: