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

Access运行时错误2501:OutputTo 操作被取消的解决方法

时 间:2012-11-17 15:38:49
作 者:张亚帮   ID:60  城市:南京
摘 要:Access运行时错误2501:OutputTo 操作被取消的解决方法
正 文:

    在窗体的一个按钮里写了导出EXCEL报表的事件,是先通过几个组合框内容进行筛选后的结果,进行导出。代码如下:

 
Private Sub cmdImport_Click()
Dim strWhere
Dim strSql
strWhere = ""
strSql = Null
'判断状态是否为空
If Not IsNull(Me.state) Then
'有输入
strWhere = strWhere & "([state] like '" & Me.state & "')"
End If

'判断省份是否为空
If Not IsNull(Me.province) Then

'有输入
If (strWhere <> "") Then
strWhere = strWhere & " AND ([province] like '" & Me.province & "')"
Else
strWhere = strWhere & " ([province] like '" & Me.province & "')"
End If
End If

'判断城市是否为空
If Not IsNull(Me.city) Then
'有输入
If (strWhere <> "") Then
strWhere = strWhere & "AND ([city] like '" & Me.city & "')"
Else
strWhere = strWhere & "([city] like '" & Me.city & "')"
End If
End If

'判断姓名是否为空
If Not IsNull(Me.seaname) Then
'有输入
If (strWhere <> "") Then
strWhere = strWhere & "AND ([name] like '*" & Me.seaname & "*')"
Else
strWhere = strWhere & "([name] like '*" & Me.seaname & "*')"
End If
End If
'先在窗口显示一下strWhere的值,代码调试完后可以取消下一句
'Debug.Print strWhere
'让子窗体应用窗体查询
If (strWhere <> "") Then
strSql = "select * from q_trainlist where " & strWhere
Else
strSql = "select * from q_trainlist"
End If
Me.w_traindata.Form.Filter = strWhere

Set qdf = CurrentDb.QueryDefs("q_ea_candidate")
    qdf.SQL = strSql
    qdf.close
Set qdf = Nothing
DoCmd.OutputTo acOutputQuery, "q_ea_candidate", acFormatXLS, , True 
End Sub


问题描述:
在点击按钮后,弹出的保存框中,如果点确定,就顺利导出保存了。如果点取消,则提示  运行时错误2501:outputto操作被取消    这个调试错误,什么原因呢?

 

解决错误的方法:
On Error GoTo Err_按钮名称_Click
 
Exit_按钮名称_Click:
    Exit Sub

Err_按钮名称_Click:
    MsgBox err.Description
Resume Exit_按钮名称_Click

' 注:利用VB及vba的On Error要注意EXIT退出,否则VBA代码会继续向下执行。



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

常见问答:

技术分类:

相关资源:

专栏作家

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