在应用程序结束时,使用 MakeADPConnectionless 清除ADP连接,在程序启动就不会再出现提示连接的对话框,使用 CurrentProject.IsConnected 判定 ADP 是否连接,如果未连接,使用 sCreateConnection 创建新的连接字符串,使用 CurrentProject.OpenConnection 连接。
作者:大熊
Sub MakeADPConnectionless() Application.CurrentProject.CloseConnection '关闭连接 Application.CurrentProject.OpenConnection '将连接设置为无 End Sub |
附:在ADP项目中创建ADP的数据库的默认连接的代码
Public Function sCreateConnection(sSvrName As String, sUID As String, sPWD As String, sDatabase As String) As String '******************************************************************** '该函数在ADP中检查连接,如果没有,它将通过输入参数创建一个连接 ' '输入: ' sSvrName 数据库服务器名 ' sUID 用户名 ' sPWD 口令 ' sDatabase MSDE数据库名 ' '输出: ' 连接状态 ' '********************************************************************
On Error GoTo sCreateConnectionTrap: If Application.CurrentProject.BaseConnectionString = "" Then '表示 ADP 处于无连接状态 sConnectionString = "PROVIDER=SQLOLEDB.1; " & _ "PASSWORD=" & sPWD & ";" & _ "PERSIST SECURITY INFO=TRUE; USER ID=" & sUID & "; " & _ "INITIAL CATALOG=" & sDatabase & ";" & _ "DATA SOURCE=" & sSvrName Application.CurrentProject.OpenConnection sConnectionString sCreateConnection = "创建了到 " & sDatabase & " 数据库的连接!" Else '连接已存在 sCreateConnection = "已经存在到 " & sDatabase & " 数据库的连接!" End If sCreateConnectionExit: Exit Function
sCreateConnectionTrap: sCreateConnection = Err.Description Resume sCreateConnectionExit
End Function
|