Forms MS Access将表单打开到特定id
我有一张有五张表格的桌子(表格一,表格二,表格三,表格四,表格五)。我要做的是根据上一个表单的id打开一个表单到一个特定的记录。假设我打开记录id为15的form1,我想点击一个按钮打开form2记录id为15。记录id是指主表中的id。我正在使用下面的代码,但它会不断地将form2打开到一个新记录,而不是与form1相同的记录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
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,然后打开它,现在可以正常工作了,谢谢