Перейти к записи с использованием TempVars - PullRequest
0 голосов
/ 17 мая 2018

Просто интересно, может ли кто-нибудь помочь мне здесь?У меня возникла проблема, что при добавлении новой записи он берет (tempvars) идентификатор, из которого вставляется запись.Тогда мне нужно перейти к этой записи в другой форме.Однако текущий код, который у меня есть, приводит к следующему сообщению об ошибке:

"2105: вы не можете перейти к указанной записи."

Private Sub btnSave_Click()
    Dim rst As DAO.Recordset
    Set rst = CurrentDb.OpenRecordset("select * from TblConsumables")

    If IsNull(Me.ConCompany) Or IsNull(Me.txtConName) Then
        MsgBox "Please complete all information before continuing.", vbExclamation
            End
    End If

With rst
    .AddNew
        TempVars!VarConAddID = !ID.Value
        !Company = Me.ConCompany.Value
        !PartName = Me.txtConName.Value
    .Update
End With

    If IsOpen("frmConsumablesDetails") Then
            Forms!frmConsumablesDetails.Refresh
        DoCmd.GoToRecord acDataForm, "frmConsumablesDetails", acGoTo, Application.TempVars("VarConAddID")
        Call Closefrm("ConFrmAddNewConsumable")
    End If

rst.Close
Set rst = Nothing

End Sub

1 Ответ

0 голосов
/ 17 мая 2018

Вы неверно истолковываете то, что делает DoCmd.GoToRecord.

Допустим, TempVars("VarConAddID") равно 50. Затем DoCmd.GoToRecord acDataForm, "frmConsumablesDetails", acGoTo, Application.TempVars("VarConAddID") пытается выбрать 50-ю запись в подчиненной форме, а не запись, где идентификатор равен 50.

Если вы хотите перейти к записи с определенным идентификатором, вы можете использовать что-то вроде этого:

Forms!frmConsumablesDetails.RecordSet.FindFirst "ID = " & Application.TempVars("VarConAddID")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...