模块Public Declare Function RegCloseKey Lib "advapi32" Alias "RegCloseKeyA" (ByVal hKey As Long) As Long
Public Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Public Declare Function RegSetValueEx Lib "advapi32" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) As Long
Public Declare Function RegSetValueNumEx Lib "advapi32" Alias "RegSetValueNumExA" (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
Public Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) As Long
Public Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As LongPublic Const HKEY_LOCAL_MACHINE = &H80000002
Public Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As LongPublic Const REG_SZ = 1
Public Const REG_BINARY = 3
Public Const REG_DWORD = 4
Public WinSysPath As StringPublic Function GetWinSysPath() As String
Dim n As Long
Dim TmpStr As String
TmpStr = Space(255)
n = GetSystemDirectory(TmpStr, 255)
TmpStr = Trim(TmpStr)
GetWinSysPath = Left(TmpStr, Len(TmpStr) - 1)
End Function类1 (ACCESS ODBC)
Public Function Create(ODBCName As String, DatabasePath As String) As Long
Dim regTmp As Long '新建的注册表值
Dim n As Long '对注册表操作返回值
'获得WINDOWS系统目录
WinSysPath = GetWinSysPath
Dim DriveStr As String
DriveStr = WinSysPath & "\odbcjt32.dll"
n = RegCreateKey(HKEY_LOCAL_MACHINE, "Software\ODBC\ODBC.INI\" & ODBCName, regTmp)
n = RegSetValueEx(regTmp, "DBQ", 0, REG_SZ, DatabasePath, Len(DatabasePath))
n = RegSetValueEx(regTmp, "Driver", 0, REG_SZ, DriveStr, Len(DriveStr))
n = RegSetValueNumEx(regTmp, "DriverID", 0, REG_DWORD, 25, 4)
n = RegSetValueEx(regTmp, "FIL", 0, REG_SZ, "MS Access;", 10)
n = RegSetValueEx(regTmp, "UID", 0, REG_SZ, "", 0)
End FunctionPublic Function Delete(ODBCName As String) As Long
On Error GoTo Err_Handle
Dim regTmp As Long '新建的注册表值
Dim n As Long '对注册表操作返回值
n = RegOpenKey(HKEY_LOCAL_MACHINE, "Software\ODBC\ODBC.INI\", regTmp)
n = RegDeleteKey(regTmp, ODBCName)
Delete = 0
Exit Function
Err_Handle:
Delete = -1
End Function
类2(SQLServer)Public Function Create(ODBCName As String, Server As String, User As String, Optional Database As String) As Long
On Error GoTo Err_Handle
Dim regTmp As Long '新建的注册表值
Dim n As Long '对注册表操作返回值
'获得WINDOWS系统目录
WinSysPath = GetWinSysPath
Dim DriveStr As String
DriveStr = WinSysPath & "\SQLSRV32.dll"
n = RegCreateKey(HKEY_LOCAL_MACHINE, "Software\ODBC\ODBC.INI\" & ODBCName, regTmp)
n = RegSetValueEx(regTmp, "Server", 0, REG_SZ, Server, Len(Server))
n = RegSetValueEx(regTmp, "Driver", 0, REG_SZ, DriveStr, Len(DriveStr))
n = RegSetValueEx(regTmp, "LastUser", 0, REG_SZ, User, Len(User))
If Database <> "" Then
n = RegSetValueEx(regTmp, "Database", 0, REG_SZ, Database, Len(Database))
End If
Create = 0
Exit Function
Err_Handle:
Create = -1
End FunctionPublic Function Delete(ODBCName As String) As Long
On Error GoTo Err_Handle
Dim regTmp As Long '新建的注册表值
Dim n As Long '对注册表操作返回值
n = RegOpenKey(HKEY_LOCAL_MACHINE, "Software\ODBC\ODBC.INI\", regTmp)
n = RegDeleteKey(regTmp, ODBCName)
Delete = 0
Exit Function
Err_Handle:
Delete = -1
End Function
Public Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Public Declare Function RegSetValueEx Lib "advapi32" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) As Long
Public Declare Function RegSetValueNumEx Lib "advapi32" Alias "RegSetValueNumExA" (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
Public Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) As Long
Public Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As LongPublic Const HKEY_LOCAL_MACHINE = &H80000002
Public Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As LongPublic Const REG_SZ = 1
Public Const REG_BINARY = 3
Public Const REG_DWORD = 4
Public WinSysPath As StringPublic Function GetWinSysPath() As String
Dim n As Long
Dim TmpStr As String
TmpStr = Space(255)
n = GetSystemDirectory(TmpStr, 255)
TmpStr = Trim(TmpStr)
GetWinSysPath = Left(TmpStr, Len(TmpStr) - 1)
End Function类1 (ACCESS ODBC)
Public Function Create(ODBCName As String, DatabasePath As String) As Long
Dim regTmp As Long '新建的注册表值
Dim n As Long '对注册表操作返回值
'获得WINDOWS系统目录
WinSysPath = GetWinSysPath
Dim DriveStr As String
DriveStr = WinSysPath & "\odbcjt32.dll"
n = RegCreateKey(HKEY_LOCAL_MACHINE, "Software\ODBC\ODBC.INI\" & ODBCName, regTmp)
n = RegSetValueEx(regTmp, "DBQ", 0, REG_SZ, DatabasePath, Len(DatabasePath))
n = RegSetValueEx(regTmp, "Driver", 0, REG_SZ, DriveStr, Len(DriveStr))
n = RegSetValueNumEx(regTmp, "DriverID", 0, REG_DWORD, 25, 4)
n = RegSetValueEx(regTmp, "FIL", 0, REG_SZ, "MS Access;", 10)
n = RegSetValueEx(regTmp, "UID", 0, REG_SZ, "", 0)
End FunctionPublic Function Delete(ODBCName As String) As Long
On Error GoTo Err_Handle
Dim regTmp As Long '新建的注册表值
Dim n As Long '对注册表操作返回值
n = RegOpenKey(HKEY_LOCAL_MACHINE, "Software\ODBC\ODBC.INI\", regTmp)
n = RegDeleteKey(regTmp, ODBCName)
Delete = 0
Exit Function
Err_Handle:
Delete = -1
End Function
类2(SQLServer)Public Function Create(ODBCName As String, Server As String, User As String, Optional Database As String) As Long
On Error GoTo Err_Handle
Dim regTmp As Long '新建的注册表值
Dim n As Long '对注册表操作返回值
'获得WINDOWS系统目录
WinSysPath = GetWinSysPath
Dim DriveStr As String
DriveStr = WinSysPath & "\SQLSRV32.dll"
n = RegCreateKey(HKEY_LOCAL_MACHINE, "Software\ODBC\ODBC.INI\" & ODBCName, regTmp)
n = RegSetValueEx(regTmp, "Server", 0, REG_SZ, Server, Len(Server))
n = RegSetValueEx(regTmp, "Driver", 0, REG_SZ, DriveStr, Len(DriveStr))
n = RegSetValueEx(regTmp, "LastUser", 0, REG_SZ, User, Len(User))
If Database <> "" Then
n = RegSetValueEx(regTmp, "Database", 0, REG_SZ, Database, Len(Database))
End If
Create = 0
Exit Function
Err_Handle:
Create = -1
End FunctionPublic Function Delete(ODBCName As String) As Long
On Error GoTo Err_Handle
Dim regTmp As Long '新建的注册表值
Dim n As Long '对注册表操作返回值
n = RegOpenKey(HKEY_LOCAL_MACHINE, "Software\ODBC\ODBC.INI\", regTmp)
n = RegDeleteKey(regTmp, ODBCName)
Delete = 0
Exit Function
Err_Handle:
Delete = -1
End Function
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货