Propósito

✔ Programação GLOBAL® - Quaisquer soluções e/ou desenvolvimento de aplicações pessoais, ou da empresa, que não constem neste Blog devem ser tratados como consultoria freelance. Queiram contatar-nos: brazilsalesforceeffectiveness@gmail.com | ESTE BLOG NÃO SE RESPONSABILIZA POR QUAISQUER DANOS PROVENIENTES DO USO DOS CÓDIGOS AQUI POSTADOS EM APLICAÇÕES PESSOAIS OU DE TERCEIROS.

Mostrando postagens com marcador SQL da Microsoft. Mostrar todas as postagens
Mostrando postagens com marcador SQL da Microsoft. Mostrar todas as postagens

Visual Basic for Applications | Usar um script VBA para se Conectar a um Banco de Dados SQL usado pelo Microsoft Dynamics GP

Visual Basic for Applications | Usar um script VBA para se Conectar a um Banco de Dados SQL usado pelo Microsoft Dynamics GP


Este artigo descreve como usar um script do Microsoft Visual Basic for Applications (VBA) para se conectar a um banco de dados SQL da Microsoft que é usado pelo Microsoft Dynamics GP 9.0 e pela Microsoft Business Solutions – Great Plains 8.0.


O exemplo de script VBA a seguir pode ser usado para o Description_AfterGotFocus evento na janela Manutenção da Conta do Microsoft Dynamics GP. Esse script se conectará ao banco de dados TWO de exemplo do Microsoft Dynamics GP e fará logon como administrador do sistema com uma senha. Depois que a conexão é feita, o script cria um conjunto de registros dos dados armazenados na tabela GL00105 índice de conta master. Em seguida, o script retornará o valor do índice da conta para o campo User-Defined1 na janela Manutenção da Conta. O script retorna esse valor quando você insere uma nova conta ou usa o botão Pesquisa de Conta.


Para usar o script de exemplo, siga estas etapas:


Abra a janela Manutenção da Conta no Microsoft Dynamics GP.


No menu Ferramentas , clique em Personalizar e clique em Adicionar Janela Atual ao Visual Basic.


No menu Ferramentas , clique em Personalizar, clique em Adicionar Campos ao Visual Basic e, em seguida, clique no campo Número da Conta , no campo Descrição e no campo User-Defined 1 .


No menu Ferramentas, clique em Personalizar e clique em Visual Basic Editor.


No Visual Basic Editor, expanda Great Plains Objects e clique duas vezes em AccountMaintenance para abrir uma janela de código de Manutenção de Conta.


Copie o código a seguir e cole-o na janela de código manutenção da conta.


Private Sub Description_AfterGotFocus()

    ' Evento que ocorre quando o controle "Description" recebe foco

    

    ' Declaração das variáveis

    Dim objRec As Object ' Objeto Recordset para armazenar os resultados da consulta

    Dim objConn As Object ' Objeto Connection para estabelecer conexão com o banco de dados

    Dim cmdString As String ' String contendo o comando SQL

    

    ' Inicializa os objetos Recordset e Connection

    Set objRec = CreateObject("ADODB.Recordset")

    Set objConn = CreateObject("ADODB.Connection")

    

    ' Configura a string de conexão com o banco de dados

    objConn.ConnectionString = "Provider=MSDASQL;DSN=GreatPlains;Initial Catalog=TWO;User Id=sa;Password=password"

    

    ' Abre a conexão com o banco de dados

    objConn.Open

    

    ' Constrói o comando SQL para selecionar o ACTINDX da tabela GL00105 com base no número de conta (Account)

    cmdString = "SELECT ACTINDX FROM GL00105 WHERE (ACTNUMST='" & Account & "')"

    

    ' Executa o comando SQL e armazena os resultados no objeto Recordset

    Set objRec = objConn.Execute(cmdString)

    

    ' Verifica se o Recordset está vazio

    If objRec.EOF = True Then

        ' Se não houver resultados, limpa o campo "UserDefined1" em AccountMaintenance

        AccountMaintenance.UserDefined1 = ""

    Else

        ' Se houver resultados, atribui o valor de ACTINDX ao campo "UserDefined1" em AccountMaintenance

        AccountMaintenance.UserDefined1 = objRec!ACTINDX

    End If

    

    ' Fecha a conexão com o banco de dados

    objConn.Close

    

    ' Libera a memória dos objetos

    Set objRec = Nothing

    Set objConn = Nothing

End Sub


(Comentários foram adicionados para explicar cada parte do código. Este script é um manipulador de evento que é acionado quando o controle "Description" recebe foco. Ele estabelece uma conexão com um banco de dados, executa uma consulta SQL para recuperar o valor de ACTINDX com base no número da conta (Account), e atribui esse valor ao campo "UserDefined1" em AccountMaintenance. Certifique-se de substituir "AccountMaintenance" pelo nome correto do formulário ou módulo onde está localizado o campo "UserDefined1".)


Você também pode usar o arquivo RetrieveGlobals_80.dll para Microsoft Business Solutions – Great Plains 8.0 para recuperar as mesmas informações que este exemplo de script recupera. Para obter o arquivo de .dll apropriado, consulte MbS CustomerSource Retirement.


Um arquivo Readme é incluído com cada versão do arquivo .dll. O arquivo Readme descreve como declarar as variáveis. Por exemplo, você pode declarar as variáveis em seu código e, em seguida, usar as variáveis no cadeia de conexão.

 

 Clique aqui e nos contate via What's App para avaliarmos seus projetos 

Envie seus comentários e sugestões e compartilhe este artigo!
brazilsalesforceeffectiveness@gmail.com


 Série Donut Project 
DONUT PROJECT: VBA - Projetos e Códigos de Visual Basic for Applications (Visual Basic For Apllication)eBook - DONUT PROJECT 2024 - Volume 03 - Funções Financeiras - André Luiz Bernardes eBook - DONUT PROJECT 2024 - Volume 02 - Conectando Banco de Dados - André Luiz Bernardes eBook - DONUT PROJECT 2024 - Volume 01 - André Luiz Bernardes


 Clique nas capas abaixo e compre também: 

DONUT PROJECT: VBA - Projetos e Códigos de Visual Basic for Applications (Visual Basic For Apllication)


Série Top 10 Funções: Top 10 Funções VBA para o Microsoft Excel (Série Top 10 Funções - Microsoft Excel)


eBook - DONUT PROJECT 2024 - Volume 03 - Funções Financeiras - André Luiz Bernardes

eBook - DONUT PROJECT 2024 - Volume 02 - Conectando Banco de Dados - André Luiz Bernardes

eBook - DONUT PROJECT 2024 - Volume 01 - André Luiz Bernardes
diHITT - Notícias