我被要求对我工作的小组使用的Access数据库中的表单进行一些修改。我必须添加一个类似于存在的数据输入表单,因此我复制了一个现有表单并进行了一些修改。当我单击按钮打开表单进行测试时,我收到此错误:
运行时错误' 2501' OpenForm行动被取消了。
以下是调用此错误的代码:
Private Sub cmdCPE_EntryForm_Click()
On Error GoTo Err_cmdCPE_EntryForm_Click
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "CPE_EntryForm"
DoCmd.OpenForm stDocName ', , , stLinkCriteria
Exit_cmdCPE_EntryForm_Click:
Exit Sub
Err_cmdCPE_EntryForm_Click:
MsgBox Err.Description
Resume Exit_cmdCPE_EntryForm_Click
End Sub
提前获得任何奖励。
答案 0 :(得分:2)
您要打开的表单处于设计视图中。关闭设计视图
答案 1 :(得分:1)
我在 MSAccess 中的表单打开错误 2501“表单打开已取消”错误是由于表单的数据源表不存在。
答案 2 :(得分:0)
请尝试按照“从损坏中恢复”和“症状:无法打开表单或报告”标题下的此链接中的步骤进行操作?
http://allenbrowne.com/ser-47.html
新表单的Open或Load事件也可能存在问题,可能值得发布该代码以供审核。
答案 3 :(得分:0)
当我的表单引用不再存在的查询时,我收到此错误。 一旦我将表单更新为指向现有查询,我的代码就可以正常工作。
答案 4 :(得分:0)
当我想打开包含数据位于另一个文件夹中的子表单的表单时,我遇到了完全相同的错误。通过减少背部基部的路径,这已经修复了错误。例如,第一条路径为C:\Dev\Application\Vers1\Prog\Debug\myAppDB.accdb
,因此我减少了路径的长度:C:\Dev\Debug\myAppDB.accdb
,这解决了问题。网络路径发生了同样的错误,我用同样的方法修复了它。
假设你有: 一个名为“cmdOpenForm”的命令按钮和 一个名为“myForm”的表单
我还在命令按钮的On Click事件中添加了此代码:
Private Sub cmdOpenForm_Click()
On Error GoTo Err_cmdOpenForm_Click
If CurrentProject.AllForms("myForm").IsLoaded = True Then
DoCmd.Close acForm, "myForm"
Else
DoCmd.OpenForm "myForm", acNormal, , , , acWindowNormal, Me.Form.Name
End If
Exit_cmdOpenForm_Click:
Exit Sub
Err_cmdOpenForm_Click:
MsgBox "Error number : " & Err.Number & vbCrLf & "Error: " & Err.Description, vbCritical
Resume Exit_cmdOpenForm_Click
End Sub
答案 5 :(得分:0)
您的RecordScorce无法识别。在Code中键入recordScource,然后在Menu Tool \ Reference中更改引用的位置。然后调试您的项目,然后将其保存。