Using the New UserInfo Object in VBA for Microsoft Dynamics GP 10.0
With the release of MS Dynamics GP 10.0, the RetrieveGlobals.dll and RetrieveGlobals9.dll libraries available for releases 8.0 and 9.0 respectively, are no longer available to VBA customization developers.
Instead, VBA has been boosted with a new UserInfo object that will allow developers direct access to login information for the current user signed in into the application, providing a more transparent and integrated approach than the traditional RetrieveGlobals external objects.
The following code snippet shows how to make use of the UserInfo object and pass its information to an ADODB.Connection object.
Private Sub Window_BeforeOpen(ByVal OpenVisible As Boolean)
cn = UserInfoGet.CreateADOConnection
cn.DefaultDatabase = UserInfoGet.IntercompanyID
cmd.ActiveConnection = cn
cmd.CommandType = adCmdText
In the above example, the Window_BeforeOpen event will initialize the connection information.
Option Explicit On
Dim UserInfoObj As UserInfo
Dim CompanyName As String
Dim cn As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim sqlstring As String
Private Sub SomeField_Changed()
If SomeField = \"\" Then
cmd.CommandText = \"SELECT * FROM dbo.YourTable WHERE(SomeColumn ='\" &_
SomeField & \"')\"
rst = cmd.Execute
' -- Do something with the result set
The Changed() event script will then consume the connection created in Window_BeforeOpen() and run a query against a database. The result is stored in a recordset.
Enjoy the new UserInfo object in VBA and make go make those changes to your customizations.
Until next post!
Mariano Gomez, MIS, MCP, PMP
Maximum Global Business, LLC