转到使用TempVars录制

时间:2018-05-17 08:58:25

标签: vba ms-access

只是想知道是否有人可以帮助我?我有一个问题,即在添加新记录时,它会(tempvars)从中插入记录的ID。我需要做的是在另一个表单上转到该记录。但是,我当前的代码导致以下错误消息;

" 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 :(得分:0)

你误解了DoCmd.GoToRecord的作用。

假设TempVars("VarConAddID")为50.然后DoCmd.GoToRecord acDataForm, "frmConsumablesDetails", acGoTo, Application.TempVars("VarConAddID")尝试选择子表单上的第50条记录,而不是ID为50的记录。

如果要导航到具有特定ID的记录,可以使用以下内容:

Forms!frmConsumablesDetails.RecordSet.FindFirst "ID = " & Application.TempVars("VarConAddID")