Access中ADP啟動時使用VBA代碼判定數據庫連接是否有效併重新設定數據庫連接

2002-03-24 07:46:00
zhuyiwen-Office交流網
原創
4957
如何在ADP啟動時,使用VBA代碼判定數據庫連接是否有效併重新設定數據庫連接?

在應用程序結束時,使用 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.BaseC 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
sCreateC & sDatabase & " 數據庫的連接!"
Else '連接已存在
sCreateC & sDatabase & " 數據庫的連接!"
End If


sCreateConnectionExit:
Exit Function

sCreateConnectionTrap:
sCreateConnection = Err.Description
Resume sCreateConnectionExit

End Function

(ADP-相關文章技巧鏈接):
什麽是ADP,瞭解ADP的優缺點
分享