Dynamically Get GP database connection information when using VBA

Dynamically Get GP database connection information when using VBA:

‘Class Module: GP Dex_VBA_Link
‘Author: Matt Connor
‘Version: 2.01
‘Updated: 06-Apr-2006

‘Connection Properties
Public PasswordUnencrypted As Boolean
Public SQLPassword, SQLPasswordDecoded As String
Public UserID, SQLDataSourceName, RuntimeVersion As String
Public IntercompanyID, CompanyName As String
Public UserDate As Date

Private GP_App As Object
Private GP_Product As Object

Private Sub Get_GP_Info()
‘Gets connection properties from dexterity and assigns to class properties
On Error GoTo ErrorHandler
Dim dex As String, dex_error_msg As String, MsgBoxTitle As String
MsgBoxTitle = “Get_GP_Info”
Set GP_App = CreateObject(“Dynamics.Application”)
GP_App.CurrentProductID = 0
GP_App.SetParamHandler Me
dex = “”
dex = dex & “local boolean Dummy, PasswordUnencrypted; “
dex = dex & “local string SQLPassword, SQLPasswordDecoded; “
dex = dex & “local string UserID, SQLDataSourceName, IntercompanyID, CompanyName, RuntimeVersion; “
dex = dex & “local date UserDate; “
dex = dex & ” “
dex = dex & “set UserID to ‘User ID’ of globals; “
dex = dex & “set PasswordUnencrypted to ‘Password Unencrypted’ of globals; “
dex = dex & “set SQLPassword to ‘SQLPassword’ of globals; “
dex = dex & “set SQLPasswordDecoded to Utility_DecodeString(SQLPassword); “
dex = dex & “set IntercompanyID to ‘Intercompany ID’ of globals; “
dex = dex & “set CompanyName to ‘Company Name’ of globals; “
dex = dex & “set SQLDataSourceName to ‘SQLDataSourceName’ of globals; “
dex = dex & “set UserDate to ‘User Date’ of globals; “
dex = dex & “set RuntimeVersion to Runtime_GetVersionNum(); “
dex = dex & ” “
dex = dex & “set Dummy to OLE_SetProperty(“”UserID””, UserID); “
dex = dex & “set Dummy to OLE_SetProperty(“”PasswordUnencrypted””, str(PasswordUnencrypted)); “
dex = dex & “set Dummy to OLE_SetProperty(“”SQLPassword””, SQLPassword); “
dex = dex & “set Dummy to OLE_SetProperty(“”SQLPasswordDecoded””, SQLPasswordDecoded); “
dex = dex & “set Dummy to OLE_SetProperty(“”IntercompanyID””, IntercompanyID); “
dex = dex & “set Dummy to OLE_SetProperty(“”CompanyName””, CompanyName); “
dex = dex & “set Dummy to OLE_SetProperty(“”SQLDataSourceName””, SQLDataSourceName); “
dex = dex & “set Dummy to OLE_SetProperty(“”RuntimeVersion””, RuntimeVersion); “
dex = dex & “set Dummy to OLE_SetProperty(“”UserDate””, str(UserDate)); “
dex_error_msg = “”
GP_App.ExecuteSanscript dex, dex_error_msg
If dex_error_msg “” Then
msg = “An unexpected error has occurred running Dexterity script:” & vbCrLf & vbCrLf & dex_error_msg
MsgBox msg, vbCritical, MsgBoxTitle
Exit Sub
End If
Set GP_App = Nothing
Exit Sub
Select Case Err.Number
Case Else
MsgBox “An unexpected error has occurred:” & vbCr & vbCr & Err.Source & vbCr & “Error ” & Err.Number & vbCr & Err.Description, vbCritical, MsgBoxTitle
End Select
End Sub

Note: Applicable on versions earlier than GP 10.0.


Mohammad R. Daoud
Software Development Manager
+962 – 79 – 999 65 85
Great Package For Business Solutions


About Mohammad R. Daoud
Mohammad R. Daoud has been working as a Microsoft Dynamics GP consultant since 2004. His career path started with version 7.5; he studied every single tip of the application technicalities and did allot of successful implementations that includes functional consultations, analysis, and custom development projects. He holds a graduate degree in Computer Science and currently he is pursuing MBA degree in Accounting. In January 2007 he was nominated to the Microsoft Most Valuable Professional (MVP) certificate and was certified in April 2008 due to his online contributions in the Dynamics Community (Dynamics GP Newsgroups, Forums, User Groups and his blog: http://mohdaoud.blogspot.com). Worth to mention that he was also listed as one of the Microsoft Dynamics Top 100 Most Influential People in 2009 by DynamicsWorld. And more... • Demonstrated Passion for MS Products through participating in beta testing for some product versions, an effective member of Microsoft Connect. • Talented in securing strong high quality relationships with premier customers, partners and sales teams passionately and profitably. • Dedicated to meeting the expectations and requirements of internal and/or external customers • Problem Solver – Uses systematic approach to uncover true problem(s) and practical solution and can marshal resources to solve problem! • Proven record of effective account management, including Account Planning, Opportunity Management, and Business Management Excellence and working as part of a larger virtual team • Successful in delivering high quality technical engagements in the enterprise Dynamics GP implementations area according to customer requirements. • Dedicated, Committed, Self Motivated, Creative and highly focused with excellent communication, Negotiation, presentation, Active Listening and Objection Handling skills. • Experienced in Profitable researches and studies including white papers and technical presentations.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: