Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-模块/函数/VBA

[VBA]access VBA检查DB连接状况及SQL执行结果的代码实例

时 间:2012-06-15 00:03:33
作 者:YEYE   ID:26565  城市:北京
摘 要:[VBA]ACCESS VBA检查DB连接状况及SQL执行结果的代码实例
正 文:


【开发语言】
 VBA
【功能简介】
 f_Connection: 连接子处理,失败时返回False
 f_ExecSelect: 执行SQL语句,失败时返回False
 f_ErrorInfo:显示详细出错信息子处理
【代码实例】
Option Compare Database
Option Explicit

Dim adoCON As ADODB.Connection
Dim adoRS As ADODB.Recordset

Sub s_Connection_Execute_Sample()
 Dim strSQL As String

 Set adoCON = New ADODB.Connection

 '连接处理及结果检查
 If f_Connection() = True Then
  strSQL = "Select Count(*) As 条数 From 住址台账"

  'SQL语句的执行和结果检查
  If f_ExecSelect(strSQL) = True Then
   MsgBox adoRS("条数") 'SQL正常结束时
  End If

  '数据库关闭
  adoCON.Close
 End If

 Set adoCON = Nothing

End Sub

'----------------------------------------------------------------------
'连接处理
'----------------------------------------------------------------------
Function f_Connection() As Boolean

 Dim objErrItem As Error

 f_Connection = False

 '使用ADO打开MDB
 On Error GoTo ErrorSub '出错检测处理打开
 adoCON.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=C:\happy\addressbook.mdb;"
 On Error GoTo 0 '出错检测处理关闭

 '连接OK时返回True
 f_Connection = True

 Exit Function

ErrorSub:
'失败时
 Call f_ErrorInfo(adoCON)

End Function

'----------------------------------------------------------------------
'SQL语句执行
'----------------------------------------------------------------------
Function f_ExecSelect(tmpSQL As String) As Boolean

 Dim objErrItem As Error

 f_ExecSelect = False

 '使用ADO打开MDB
 On Error GoTo ErrorSub
 Set adoRS = adoCON.Execute(tmpSQL)
 On Error GoTo 0

 f_ExecSelect = True

 Exit Function

ErrorSub:

 Call f_ErrorInfo(adoCON)

End Function

'----------------------------------------------------------------------
'显示详细出错信息处理
'----------------------------------------------------------------------
Sub f_ErrorInfo(tmpCon As ADODB.Connection)

 Dim objErrItem As Error

 '信息输出
 Set objErrItem = tmpCon.Errors.Item(0)
 Debug.Print "Description=" & objErrItem.Description
 Debug.Print "HelpContext=" & objErrItem.HelpContext
 Debug.Print "HelpFile=" & objErrItem.HelpFile
 Debug.Print "NativeError=" & objErrItem.NativeError
 Debug.Print "Number=" & objErrItem.Number
 Debug.Print "Source=" & objErrItem.Source
 Debug.Print "SQLState=" & objErrItem.SQLState
 Set objErrItem = Nothing

End Sub

【使用情景】
 数据库编程。
【小结】
 本例提供了3个VBA过程,可快速进行数据库编程。



Access软件网官方交流QQ群 (群号:54525238)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助