访问VBA抛出非上市的错误代码

问题描述:

我看到这样的错误代码在我的Access 2000中VBA:访问VBA抛出非上市的错误代码

-2147352567,记录在“[SomeTable]”被其他用户删除。

所以,2个问题:

1)如何处理/避免这样的错误代码?

2)任何人都可以解释为什么我得到一个错误代码,似乎没有MS文档中存在吗?有什么方法可以破译这段代码吗?它是几个代码的组合吗?任何关于这个主题的指导将不胜感激。

Public Sub Form_Open(Cancel As Integer) 

' Check for unposted record/regardless of Date/Shift 
' If there is an unposeted record goto it 

    Dim lCheck 
    Dim sPress As String 

On Error GoTo Form_Open_Err 

GotoRecord: 

    If bPressConsumptionOpenRan = True Then 
    lCheck = DLookup("PressConsumptionID", "spI_GetUnPostedRecord") 
    If Not IsNothing(lCheck) Then 
     Me.txtPressConsumptionID.SetFocus 
     DoCmd.FindRecord lCheck 
    Else 
     DoCmd.SetWarnings False 
     DoCmd.OpenQuery ("spI_InsertNewPressConsumption") 
     Me.Requery 
     DoCmd.SetWarnings True 
    End If 
    End If 

Form_Open_Exit: 

    Exit Sub 

Form_Open_Err: 

    sErrMsg = Err.Number & "-" & Err.Description 
    MsgBox sErrMsg, vbCritical + vbOKOnly + vbInformation, "Program Error" 

所以我只是注释掉

对错误转到

线Form_Open()的Form_Load()和Form_Activate(),仍然没有调试器调用。这个错误在数据库打开时显示,所以我不知道代码中的错误可能在哪里。

这里是IsNothing代码:

Public Function IsNothing(vCheck As Variant) As Boolean 

On Error GoTo IsNothing_Err 

    If IsNull(vCheck) Then IsNothing = True: Exit Function 
    If IsEmpty(vCheck) Then IsNothing = True: Exit Function 
    If Trim(vCheck) = "" Then IsNothing = True: Exit Function 

IsNothing_Err: 

    IsNothing = False 

End Function 

现在我得到一个类似的错误在Form_Current():

Private Sub Form_Current() 

    Dim sUser As String 

On Error GoTo Form_Current_Err 

    If IsNothing(Me.dtpUsageDate) Then 
    Me.dtpUsageDate = Date 'This line throws error. 
    End If 

...Ommitted to save space. Not relevant... 

Form_Current_Err: 

    sErrMsg = Err.Number & "-" & Err.Description 
    MsgBox sErrMsg, vbCritical + vbOKOnly + vbInformation, "Program Error" 
    Resume Form_Current_Log 

Form_Current_Log: 

    On Error Resume Next 
    Call LogError(sErrMsg, "PressConsumptions_Form_Current") 
    GoTo Form_Current_Exit 

End Sub 

错误消息:

-2417352567在这个控制中没有任何对象。

是此消息与另一个我们已经看到?任何想法纠正?

+1

您是否使用ODBC表(http://support.microsoft.com/kb/172339)? – Fionnuala 2011-01-25 15:52:52

+0

是的,我是。我仍然试图确定为什么/如何删除记录。我有一个子插入一个新的记录,我想通过运行该子处理这个错误代码。 – MAW74656 2011-01-25 15:54:54

错误号和消息表明,我认为这是从Access之外的问题。事实上,您正在执行保存的查询,该查询的名称暗示它在数据库服务器上运行SPROC,这表明我后端是SQL Server或其他后端。

这是在Access中一个非常常见的错误,当你没有这两个主键并在后端表中的时间戳字段。这是由于Access无法准确地确定涉及哪个记录并且无法正确刷新显示的原因所致。有一个PK和一个时间戳字段通常可以解决问题。

,但可以通过别的东西,当然引起。