2011-01-13 118 views
1

我在窗体上运行时错误'2501'。有没有人有想法,为什么发生这种情况,以及如何解决它?运行时错误'2501'

报告通过这段代码被称为:

Private Sub Command92_Click() 
    DoCmd.SetWarnings Off 
    ''# get current reqid and version number 
    DoCmd.OpenQuery "NewReqVersion", acViewNormal 

    Dim NewReqID As Integer 
    Dim NewVerID As Integer 

    NewReqID = Me.Text58 
    NewVerID = Me.Version + 1 
    [Forms]![UWReviewForm].[StatusID] = 99 
    On Error Resume Next 
    **DoCmd.Save acForm, "UWReviewForm"** 

    DoCmd.OpenForm "NewReqVersionForm", acNormal 
    DoCmd.GoToRecord acDataForm, "NewReqVersionForm", acLast 
End Sub 

Private Sub StatusID_Change() 
    Me.LastModifiedTimeStamp = Now() 
End Sub 
+1

摆脱“On Error Resume Next” - 它应该很少被使用。在加载或打开NewReqVersionForm时运行什么代码? – Fionnuala 2011-01-13 19:45:41

回答

2

错误2501可以调用的OpenForm如果没有与数据库中的问题发生。您是否可以按照以下链接中标题为“从损坏中恢复”和“症状:无法打开表单或报告”中的步骤尝试执行操作?

MS Access - Recovering from corruption

0

就我而言,我不得不链接到外部数据源,这是另一个Access数据库中的表。我曾尝试将该数据库应用程序拆分为其数据库组件和UI组件,并决定恢复更改。在这一行的某个地方,这损坏了我的原始Access应用程序和外部Access数据源之间的链接。我可以通过尝试在我的原始Access应用程序中打开链接表来验证此错误。

我的解决方案是从我的Access应用程序中删除链接表并再次导入它。之后,我的问题解决了。以前无法打开的表单基于包含此外部数据源的查询。