Aracılığıyla paylaş


Microsoft Dynamics GP tarafından kullanılan bir SQL veritabanına bağlanmak için VBA betiği kullanma

Bu makalede, Microsoft Dynamics GP tarafından kullanılan bir Microsoft SQL veritabanına bağlanmak için VBA betiğinin nasıl kullanılacağı açıklanmaktadır.

Şunlar için geçerlidir: Microsoft Dynamics GP
Özgün KB numarası: 892700

Giriş

Bu makalede, Microsoft Dynamics GP 9.0 ve Microsoft Business Solutions - Great Plains 8.0 tarafından kullanılan bir Microsoft SQL veritabanına bağlanmak için Microsoft Visual Basic for Applications (VBA) betiğinin nasıl kullanılacağı açıklanmaktadır.

Daha fazla bilgi

Aşağıdaki VBA betik örneği, Microsoft Dynamics GP Hesap Bakımı penceresinde olay için Description_AfterGotFocus kullanılabilir. Bu betik, Microsoft Dynamics GP örnek İkİ veritabanına bağlanır ve bir parolayla sistem yöneticisi olarak oturum açar. Bağlantı yapıldıktan sonra betik, GL00105 hesap dizini ana tablosunda depolanan verilerin kayıt kümesini oluşturur. Betik daha sonra hesap dizini değerini Hesap Bakımı penceresindeki User-Defined1 alanına döndürür. Yeni bir hesap girdiğinizde veya Hesap Arama düğmesini kullandığınızda betik bu değeri döndürür.

Örnek betiği kullanmak için şu adımları izleyin:

  1. Microsoft Dynamics GP'de Hesap Bakımı penceresini açın.

  2. Araçlar menüsünde Özelleştir'e ve ardından Geçerli Pencereyi Visual Basic'e Ekle'ye tıklayın.

  3. Araçlar menüsünde Özelleştir'e tıklayın, Visual Basic'e Alan Ekle'ye tıklayın ve ardından Hesap Numarası alanına, Açıklama alanına ve Kullanıcı Tanımlı 1 alanına tıklayın.

  4. Araçlar menüsünde Özelleştir'e ve ardından Visual Basic Düzenleyici'ne tıklayın.

  5. Visual Basic Düzenleyici,Great Plains Objects'i genişletin ve ardından AccountMaintenance'a çift tıklayarak bir Hesap Bakımı kod penceresi açın.

  6. Aşağıdaki kodu kopyalayıp Hesap Bakımı kod penceresine yapıştırın.

    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
    

Bu betik örneğinin aldığından aynı bilgileri almak için Microsoft Business Solutions - Great Plains 8.0 için RetrieveGlobals_80.dll dosyasını da kullanabilirsiniz. Uygun .dll dosyasını almak için bkz. MBS CustomerSource Kullanımdan Kaldırma.

.dll dosyasının her sürümüne bir Benioku dosyası eklenir. Benioku dosyasında değişkenlerin nasıl bildirdiği açıklanır. Örneğin, kodunuzdaki değişkenleri bildirebilir ve ardından bağlantı dizesi değişkenlerini kullanabilirsiniz.