Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.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
Sql 更新与同一记录对应的另一个表上的记录_Sql_Ms Access_Ms Access 2007_Vba - Fatal编程技术网

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
。非常感谢你。我保证我平时不会那么慢。我真的很感谢你的帮助。