|
Question : How do i Create a DSN connection in Access??
|
|
Hi!
I need to deploy a new access form which connects to the SQL server. The access form uses the DSN connection.
That means each user's computer requires a DSN connection on their computer. How can I create the DSN for them when they download the access?
Can I do this in VB from Access form?
Can you be specifc on steps of code please?? Thanks much
|
|
Answer : How do i Create a DSN connection in Access??
|
|
This is the one I use. Put it on the form open event. ------------------------------------------------------------------------ Option Compare Database Option Explicit Option Base 1
Private Const REG_SZ = 1 'Constant for a string variable type. Private Const HKEY_LOCAL_MACHINE = &H80000002
Private Declare Function RegCreateKey Lib "advapi32.dll" Alias _ "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, _ phkResult As Long) As Long
Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias _ "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, _ ByVal reserved As Long, ByVal dwType As Long, lpData As Any, ByVal _ cbData As Long) As Long
Private Declare Function RegCloseKey Lib "advapi32.dll" _ (ByVal hKey As Long) As Long
Public Function Add_System_DSN()
'Open Þ Load Þ Resize Þ Activate Þ Current
Dim DataSourceName As String Dim DatabaseName As String Dim Description As String Dim DriverPath As String Dim DriverName As String Dim LastUser As String Dim Regional As String Dim Server As String Dim AddSetup As String
Dim lResult As Long Dim hKeyHandle As Long 'Specify the DSN parameters.
DataSourceName = "DSNName" DatabaseName = "DBName" Description = "Descrption" DriverPath = "C:\WINDOWS\system32" LastUser = "sa" Server = "ServerName or IP" DriverName = "SQL Server" AddSetup = "No"
'Create the new DSN key.
lResult = RegCreateKey(HKEY_LOCAL_MACHINE, "SOFTWARE\ODBC\ODBC.INI\" & _ DataSourceName, hKeyHandle)
'Set the values of the new DSN key.
lResult = RegSetValueEx(hKeyHandle, "QuotedId", 0&, REG_SZ, _ ByVal AddSetup, Len(AddSetup)) lResult = RegSetValueEx(hKeyHandle, "AnsiNPW", 0&, REG_SZ, _ ByVal AddSetup, Len(AddSetup)) lResult = RegSetValueEx(hKeyHandle, "AutoTranslate", 0&, REG_SZ, _ ByVal AddSetup, Len(AddSetup)) lResult = RegSetValueEx(hKeyHandle, "Database", 0&, REG_SZ, _ ByVal DatabaseName, Len(DatabaseName)) lResult = RegSetValueEx(hKeyHandle, "Description", 0&, REG_SZ, _ ByVal Description, Len(Description)) lResult = RegSetValueEx(hKeyHandle, "Driver", 0&, REG_SZ, _ ByVal DriverPath, Len(DriverPath)) lResult = RegSetValueEx(hKeyHandle, "LastUser", 0&, REG_SZ, _ ByVal LastUser, Len(LastUser)) lResult = RegSetValueEx(hKeyHandle, "Server", 0&, REG_SZ, _ ByVal Server, Len(Server))
'Close the new DSN key.
lResult = RegCloseKey(hKeyHandle)
'Open ODBC Data Sources key to list the new DSN in the ODBC Manager. 'Specify the new value. 'Close the key.
lResult = RegCreateKey(HKEY_LOCAL_MACHINE, _ "SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources", hKeyHandle) lResult = RegSetValueEx(hKeyHandle, DataSourceName, 0&, REG_SZ, _ ByVal DriverName, Len(DriverName)) lResult = RegCloseKey(hKeyHandle)
End Function
|
|
|
|