更新与同一记录对应的另一个表上的记录

时间:2013-07-23 18:59:57

标签: sql vba ms-access ms-access-2007 access-vba

我正在尝试更新另一个表上的记录。所以我的第一个表InfoDetailsTable有一堆记录,其中一个值为KitNumber。在这个InfoDetailsTable表中,我正在更新一些复选框,当它们发生更改时,它应该更新我的表Reason的值InfoTable。我只是不太确定如何处理我的UPDATE语句,以便我可以根据InfoTable中更改的记录更新我的特定InfoDetailsTable记录。这是代码:

CurrentDb.Execute " UPDATE InfoTable SET Reason = 'blah' WHERE KitNumber = " & InfoDetailsTable.KitNumber

所以InfoTableReasonKitNumber,而InfoDetails也有KitNumber,因为他们处于KitNumber InfoTable的关系中1}}是主键。如果有人能提供帮助,那就太好了。谢谢

编辑:这里有一些可能有用的代码。

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 " UPDATE InfoTable SET Reason = 'blah' "这样的代码,那么我可以解决所有问题,只需将'blah'现在更新到每条记录,我只想在{{1}更新的记录中找到它}

2 个答案:

答案 0 :(得分:1)

使用此字段来自字段:

CurrentDb.Execute " UPDATE InfoTable SET Reason = 'blah' WHERE KitNumber = " & Me.KitNumber

当您使用当前表单中的代码时,需要使用Me引用它。如果它不起作用仍然提供链接,我会看它。

答案 1 :(得分:0)

如果KitNumber是InfoTable(主键)的识别字段,那么您所拥有的将会有效。