Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Forms MS Access将表单打开到特定id_Forms_Ms Access - Fatal编程技术网

Forms MS Access将表单打开到特定id

Forms MS Access将表单打开到特定id,forms,ms-access,Forms,Ms Access,我有一张有五张表格的桌子(表格一,表格二,表格三,表格四,表格五)。我要做的是根据上一个表单的id打开一个表单到一个特定的记录。假设我打开记录id为15的form1,我想点击一个按钮打开form2记录id为15。记录id是指主表中的id。我正在使用下面的代码,但它会不断地将form2打开到一个新记录,而不是与form1相同的记录id。有人能帮忙吗 Private Sub Command110_Click() Dim recordID As Integer recordID = Me.ID

我有一张有五张表格的桌子(表格一,表格二,表格三,表格四,表格五)。我要做的是根据上一个表单的id打开一个表单到一个特定的记录。假设我打开记录id为15的form1,我想点击一个按钮打开form2记录id为15。记录id是指主表中的id。我正在使用下面的代码,但它会不断地将form2打开到一个新记录,而不是与form1相同的记录id。有人能帮忙吗

Private Sub Command110_Click()
Dim recordID As Integer

   recordID = Me.ID
   MsgBox (recordID)

   DoCmd.OpenForm "Form2", , , "ID = " & recordID

End Sub

如果您所说的recordID是指屏幕底部显示的记录编号,那么它将不起作用。您需要使用字段名,因此:

 DoCmd.OpenForm "Form2", , , "ID = " & AFieldThatMatchesID
要进行测试,您可以使用一个确定为form2中ID的数字:

 DoCmd.OpenForm "Form2", , , "ID = " & 7
在尝试打开下一个表单之前,您将保存以保存新记录:

 Me.Dirty = False

是的,当设置了id字段时,这是有效的,但是当我打开表单1到一个新记录时,它似乎不起作用,我不知道为什么,因为一旦你在表单中添加数据,它会给id一个值,你知道我如何解决这个问题吗?表单如何打开到一个不存在的值?在打开form2之前,必须将记录保存在form1--
Me.Dirty=False
--上。我怀疑你已经陷入了一个混乱的设计,你应该考虑子表单。是的,我必须先保存表单1,然后打开它,现在可以正常工作了,谢谢