Vba 使用临时变量进行录制

Vba 使用临时变量进行录制,vba,ms-access,Vba,Ms Access,不知道这里有没有人能帮我?我遇到一个问题,当添加新记录时,它会获取(tempvars)插入记录的ID。然后我需要它做的是用另一种形式去查那张唱片。但是,我拥有的当前代码会导致以下错误消息 “2105:无法转到指定的记录。” 您误解了DoCmd.GoToRecord的功能 假设TempVars(“VarConAddID”)是50。然后DoCmd.GoToRecord acDataForm,“frmConsumablesDetails”,acGoTo,Application.TempVars(“Va

不知道这里有没有人能帮我?我遇到一个问题,当添加新记录时,它会获取(tempvars)插入记录的ID。然后我需要它做的是用另一种形式去查那张唱片。但是,我拥有的当前代码会导致以下错误消息

“2105:无法转到指定的记录。”


您误解了
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")

你从哪里得到这个错误的?我看到了你代码背后的逻辑。但是,它返回一个错误“3001:无效参数”。当我调试tempvar时,它正常工作。哦,对了,
FindFirst
,而不是
MoveFirst
MoveFirst
只是第一条记录。这已经停止了错误消息,但是记录没有改变表单上当前的值。我已经处理了一个不整洁的问题,但它根本没有效率<代码>如果是IsOpen(“frmConsumablesDetails”),则调用Closefrm(“ConfRmaddNewConsumble”)调用Closefrm(“FRMCONSUMABLESDEILS”)DoCmd.OpenForm“frmConsumablesDetails”,“ID=”和Application.TempVars(“VarConAddID”)如果,则结束。
Forms!frmConsumablesDetails.RecordSet.FindFirst "ID = " & Application.TempVars("VarConAddID")