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内部它不会写入任何内容,也不会回滚或抛出任何错误…感谢您在错误管理方面提供的帮助,在运行更新查询之前表单未保存更改的情况下,它最终导致项目运行顺序出现问题。