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

Nenhum comentário:

Postar um comentário

diHITT - Notícias