Verwenden eines VBA-Skripts zum Herstellen einer Verbindung mit einer SQL-Datenbank, die von Microsoft Dynamics GP verwendet wird

In diesem Artikel wird beschrieben, wie Sie mithilfe eines VBA-Skripts eine Verbindung mit einer Microsoft SQL-Datenbank herstellen, die von Microsoft Dynamics GP verwendet wird.

Gilt für: Microsoft Dynamics GP
Ursprüngliche KB-Nummer: 892700

Einführung

In diesem Artikel wird beschrieben, wie Sie ein VBA-Skript (Microsoft Visual Basic for Applications) verwenden, um eine Verbindung mit einer Microsoft SQL-Datenbank herzustellen, die von Microsoft Dynamics GP 9.0 und von Microsoft Business Solutions – Great Plains 8.0 verwendet wird.

Weitere Informationen

Das folgende VBA-Skriptbeispiel kann für das Description_AfterGotFocus Ereignis im Microsoft Dynamics GP-Kontowartungsfenster verwendet werden. Dieses Skript stellt eine Verbindung mit der Microsoft Dynamics GP-Beispieldatenbank TWO her und meldet sich mit einem Kennwort als Systemadministrator an. Nachdem die Verbindung hergestellt wurde, erstellt das Skript ein Recordset der Daten, die im GL00105 Kontoindex master Tabelle gespeichert sind. Das Skript gibt dann den Kontoindexwert an das Feld Benutzerdefiniert1 im Fenster Kontowartung zurück. Das Skript gibt diesen Wert zurück, wenn Sie ein neues Konto eingeben oder die Schaltfläche Kontosuche verwenden.

Führen Sie die folgenden Schritte aus, um das Beispielskript zu verwenden:

  1. Öffnen Sie das Fenster Kontowartung in Microsoft Dynamics GP.

  2. Klicken Sie im Menü Extras auf Anpassen, und klicken Sie dann auf Aktuelles Fenster zu Visual Basic hinzufügen.

  3. Klicken Sie im Menü Extras auf Anpassen, klicken Sie auf Felder zu Visual Basic hinzufügen, und klicken Sie dann auf das Feld Kontonummer , das Feld Beschreibung und das Feld Benutzerdefiniertes 1 .

  4. Klicken Sie im Menü Extras auf Anpassen und dann auf Visual Basic Editor.

  5. Erweitern Sie in Visual Basic Editor Great Plains Objects, und doppelklicken Sie dann auf AccountMaintenance, um ein Codefenster für die Kontowartung zu öffnen.

  6. Kopieren Sie den folgenden Code, und fügen Sie ihn dann in das Fenster Kontowartungscode ein.

    Private Sub Description_AfterGotFocus()
    Dim objRec
    Dim objConn
    Dim cmdString
    
    Set objRec = CreateObject("ADODB.Recordset")
    Set objConn = CreateObject("ADODB.Connection")
    
    objConn.ConnectionString = "Provider=MSDASQL;DSN=GreatPlains;Initial Catalog=TWO;User Id=sa;Password=password"
    objConn.Open
    
    cmdString = "Select ACTINDX from GL00105 where (ACTNUMST='" + Account + "')"
    
    Set objRec = objConn.Execute(cmdString)
    
    If objRec.EOF = True Then
    AccountMaintenance.UserDefined1 = ""
    Else
    AccountMaintenance.UserDefined1 = objRec!ACTINDX
    End If
    objConn.Close
    End Sub
    

Sie können auch die RetrieveGlobals_80.dll-Datei für Microsoft Business Solutions – Great Plains 8.0 verwenden, um die gleichen Informationen abzurufen, die in diesem Skriptbeispiel abgerufen werden. Informationen zum Abrufen der entsprechenden .dll-Datei finden Sie unter MbS CustomerSource-Einstellung.

Jede Version der .dll-Datei enthält eine Infodatei. In der Infodatei wird beschrieben, wie die Variablen deklariert werden. Beispielsweise können Sie die Variablen in Ihrem Code deklarieren und dann die Variablen im Verbindungszeichenfolge verwenden.