דרך הכי יעילה לחבר אפליקציית VBA לשרת SQL היא בעזרת פונקציה פומבית במודול.
Public sql_connection As ADODB.Connection
Public Function Get_Connected() As ADODB.Connection
If IsNull(sql_connection) Or sql_connection Is Nothing Then
Set sql_connection = New ADODB.Connection
End If
If sql_connection.State <> adStateOpen Then
'SQL 2005 with ODBC
'sql_connection.ConnectionString = "DSN=ODBC_Name;Description=YourERP_System;APP=Microsoft Office
2003;DATABASE=DataBase_Name;Trusted_Connection=Yes"
'SQL 2008
'sql_connection.ConnectionString =
"Provider=SQLNCLI10;Server=192.168.1.1;Database=DataBase_Name;Trusted_Connection=yes;"
sql_connection.ConnectionString =
"Provider=SQLNCLI10;Server=ServerName/SQL_ServerName;Database=DataBase_Name;
Trusted_Connection=yes;"
sql_connection.Open
End If
Set Get_Connected = sql_connection
End Function
עכשיו באפליקציה שלנו נוכל להכניס את הקוד הבא:
Dim rs As ADODB.Recordset
Set rs = Get_Connected().Execute("exec dbo.any_stored_procedure")