Database MS Access未在工作区中追加表

Database MS Access未在工作区中追加表,database,vba,ms-access,dao,Database,Vba,Ms Access,Dao,由于某些原因,此查询未在工作区内追加表。。。我完全不知道为什么。。。任何帮助都将是令人惊奇的 Function SaveChanges() Dim db As DAO.Database, ws As DAO.Workspace, qdf As DAO.QueryDef Application.Echo False DoCmd.SetWarnings False On Error GoTo ErrorHandler Set ws = DBEn

由于某些原因,此查询未在工作区内追加表。。。我完全不知道为什么。。。任何帮助都将是令人惊奇的

    Function SaveChanges()
    Dim db As DAO.Database, ws As DAO.Workspace, qdf As DAO.QueryDef
    Application.Echo False
    DoCmd.SetWarnings False
    On Error GoTo ErrorHandler
        Set ws = DBEngine.Workspaces(0)
        Set db = ws.Databases(0)
            ws.BeginTrans
                Set qdf = db.QueryDefs("qry_Cost_Actual_Select_Standard_Save_01"): qdf.Parameters(0) = TempVars![var_FiltrBatchID]: qdf.Execute
                Set qdf = db.QueryDefs("qry_Cost_Actual_Select_Standard_Save_02"): qdf.Parameters(0) = TempVars![var_FiltrBatchID]: qdf.Execute
                Set qdf = db.QueryDefs("qry_Cost_Actual_Select_Standard_Save_03"): qdf.Parameters(0) = TempVars![var_FiltrBatchID]: qdf.Parameters(1) = TempVars![var_FiltrBatchID]: qdf.Execute
            ws.CommitTrans
    Call BackToMain
ExitHandler:
    Set qdf = Nothing
    Set ws = Nothing
    Set db = Nothing
    Application.Echo True
    DoCmd.SetWarnings True
        Exit Function
ErrorHandler:
    Debug.Print "Error: " & Err.Number & ": " & Err.Description
    ws.Rollback
    Resume ExitHandler
End Function

问题实际上是在运行表更新查询之前表单没有保存。没有发布任何内容的原因是因为我需要先保存任何更改(新手错误!)。。。我首先运行了下面的代码,更新完美地添加了这些行

If Me.Dirty Then
    Me.Dirty = False
End If

感谢您帮助添加我错过的dbFailOnError片段

首先添加
dbFailOnError
qdf。执行dbFailOnError
。当前,您正在默默地忽略错误。我没有,一旦出错,它将移动到错误处理程序,该程序将回滚工作区事务。。。。。。你是
qdf.Execute
仅当您添加
dbFailOnError
时才会引发错误,否则会自动忽略错误。我现在明白您的意思了,在任何情况下,我已经了解了,它实际上并没有抛出任何错误,只是没有向表中写入任何内容。。。如果我在VBA外部运行它,它会写入额外的行,但在VBA内部它不会写入任何内容,也不会回滚或抛出任何错误…感谢您在错误管理方面提供的帮助,在运行更新查询之前表单未保存更改的情况下,它最终导致项目运行顺序出现问题。