2011-01-13 123 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應用程序中刪除鏈接表並再次導入它。之後,我的問題解決了。以前無法打開的表單基於包含此外部數據源的查詢。