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
Nenhum comentário:
Postar um comentário