Sql 更新与同一记录对应的另一个表上的记录
我正在尝试更新另一个表上的记录。因此我有了我的第一个表Sql 更新与同一记录对应的另一个表上的记录,sql,ms-access,ms-access-2007,vba,Sql,Ms Access,Ms Access 2007,Vba,我正在尝试更新另一个表上的记录。因此我有了我的第一个表InfoDetailsTable,它有一堆记录,其中一个值是KitNumber。在这个InfoDetailsTable表中,我正在更新一些复选框,当它们更改时,应该更新我表的Reason值,InfoTable。我只是不太确定如何使用UPDATE语句,以便根据在InfoDetailsTable中更改的记录更新特定的InfoTable记录。代码如下: CurrentDb.Execute " UPDATE InfoTable SET Reason
InfoDetailsTable
,它有一堆记录,其中一个值是KitNumber
。在这个InfoDetailsTable
表中,我正在更新一些复选框,当它们更改时,应该更新我表的Reason
值,InfoTable
。我只是不太确定如何使用UPDATE语句,以便根据在InfoDetailsTable
中更改的记录更新特定的InfoTable
记录。代码如下:
CurrentDb.Execute " UPDATE InfoTable SET Reason = 'blah' WHERE KitNumber = " & InfoDetailsTable.KitNumber
因此InfoTable
有Reason
和KitNumber
,而InfoDetails
也有KitNumber
,因为它们之间的关系是InfoTable
上的KitNumber
是主键。如果有人能帮忙,那就太好了。多谢各位
编辑:下面是一些可能有帮助的代码
If USBCheck = True And ThreewayCheck = True And Car1Check = True And Car2Check = True Then
CurrentDb.Execute " UPDATE InfoTable SET Reason = '' WHERE KitNumber = " & InfoDetailsTable.KitNumber
ElseIf USBCheck = False Or ThreewayCheck = False Or Car1Check = False Or Car2Check = False Then
CurrentDb.Execute " UPDATE InfoTable SET Reason = 'blah' WHERE KitNumber = " & InfoDetailsTable.KitNumber
End If
Forms!Search!Info.Form.Requery
如果我编辑像
CurrentDb.Execute“updateinfotable SET Reason='blah'”
这样的代码,那么我会把一切都处理得很好,只是“blah”现在会更新到每个记录中,如果KitNumber是InfoTable的标识字段(主键),我只希望它出现在我在InfoDetailsTable
中更新的记录中,然后,您所拥有的将起作用。使用此选项从字段中获取:
CurrentDb.Execute " UPDATE InfoTable SET Reason = 'blah' WHERE KitNumber = " & Me.KitNumber
当您使用当前表单中的代码时,需要与我一起引用它。如果它不起作用,仍然为您提供链接,我会查看它。您要在哪里运行此代码?在更新表单记录时是否尝试更新它?@ObieMD5我有一个表单,上面有3个子表单。此代码位于子窗体中,正在尝试更新另一个子窗体。我正在单击此表单上的复选框,并希望它在出现此问题时更新另一个子表单happens@Patrick这三个子表单是否都由记录源限定?@Patrick我只是很难想象你在我脑海中设置了什么。所以你是说你在InfoTable上更改了一个复选框,并希望在InfoDetailsTable中设置更新?这应该可以,但我至少一个小时内无法查看它,因为我的工作块正在下载。编辑你的问题并添加一个链接来下载,我回家后就会找到。它会告诉我错误,说“需要对象”,然后突出显示我上面提交的代码。是的!非常感谢。我不知道为什么我认为我需要它是
InfoDetailsTable.KitNumber
。非常感谢你。我保证我平时不会那么慢。我真的很感谢你的帮助。