注册 登录
Office中国论坛/Access中国论坛 返回首页

的个人空间 http://www.office-cn.net/?0 [收藏] [复制] [分享] [RSS]

日志

清除当前ADP的数据连接

热度 2已有 957 次阅读2008-9-2 17:46 |个人分类:Access

在应用程序结束时,使用 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

刚表态过的朋友 (0 人)

发表评论 评论 (3 个评论)

回复 tanhong 2008-9-15 14:05
学习学习,永无止境!
回复 shenboo 2009-2-5 10:21
怎么调用。 Access里有Auto_CLose吗?
回复 li08hua 2010-10-21 22:26
很好很简单的连接代码!谢谢!

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-25 05:58 , Processed in 0.070197 second(s), 15 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

返回顶部