MS Access не добавляет таблицу в рабочую область - PullRequest
0 голосов
/ 07 марта 2020

По некоторым причинам этот запрос не добавляет таблицу в рабочее пространство ... Я абсолютно не знаю, почему ... любая помощь была бы такой удивительной!

    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

1 Ответ

1 голос
/ 08 марта 2020

Проблема была в том, что форма не сохранялась перед запуском запроса на обновление таблицы. Причина, по которой ничего не было опубликовано, заключалась в том, что мне нужно было сначала сохранить любые изменения (ладья ie ошибка!) ... Сначала я запустил приведенный ниже код, и обновление добавило строки совершенно

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

Спасибо Эрик за помощь в добавлении фрагмента dbFailOnError, который я пропустил

...