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

【Access基础】在代码中如何确定操作查询是否正确执行

时 间:2014-07-04 12:36:43
作 者:缪炜   ID:24010  城市:江阴
摘 要:在代码中使用Current.Execute 方法运行删除、更新、追加等操作查询时,如何确定操作查询是否正确执行。
正 文:

 

对于删除,更新,追加等操作查询,很多时候大家喜欢在代码中使用CurrentDb.Execute 方法运行,因为该方法使用简单,而且不会弹出确认对话框。但是CurrentDb.Execute方法也有个问题,就是无论运行的结果如何,甚至就算是SQL语句语法错误它也不会向你提示,这样我们搞不清查询是不是被正确执行了。那么如何来处理这个问题呢?这里我们可以用到Database对象的RecordsAffected属性,该属性返回的是最近调用的操作查询影响的记录行数。示例代码如下:

Dim db As Database

Set db = CurrentDb

db.Execute "Delete * FROM 员工表 Where 姓名='张三'"

If db.RecordsAffected = 0 Then

    MsgBox "查询未正确执行!", vbInformation

End If

Set db=Nothing

注意,这里必须先声明一个Database对象变量,然后将变量赋为CurrentDb对象,而不能直接引用CurrentDb对象,下面这样使用是错误的,RecordsAffected属性会始终返回0

CurrentDb.Execute "Delete * FROM 员工表 Where 姓名='张三'"

If CurrentDb.RecordsAffected = 0 Then

    MsgBox "查询未正确执行!", vbInformation

End If

前面的用的DAO的方法,另外还有一种ADO的方法:

Dim lngRecordsAffected As Long

CurrentProject.Connection.Execute "Delete * FROM 员工表 Where 姓名='张三'", lngRecordsAffected

If lngRecordsAffected = 0 Then

    MsgBox "查询未正确执行!", vbInformation

End If



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

常见问答:

技术分类:

相关资源:

专栏作家

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