0

本质上,我想用在组合框中找到的名称更新子表单列值。

名为"tbl_jobs"的表是子表单背后的源,我要更新的列名为"Person_Name"

组合框称为“PersonCombo”

我正在使用由按钮“updateButton”执行的 Access 查询设计器创建一个名为“updateRecord”的查询

以下是查询的执行方式:

DoCmd.OpenQuery "updateRecord"

查询的内容是我遇到的问题:

UPDATE tbl_jobs SET Person_Name = '" & PersonCombo & "' WHERE [Select] = True

而不是用“PersonCombo”中所选名称的值填充列数据,如 Jamie、Mickey、Haley 等(来自 PersonCombo 的值)它只是说“& PersonCombo &”

我的语法有什么问题?

4

2 回答 2

0

我不相信您可以将变量传递给已保存的查询。而是在代码中构建查询并运行它:

dim SQL as string
PersonCombo = "thePerson"
SQL = "UPDATE tbl_jobs SET Person_Name = '" & PersonCombo & "' WHERE [Select] = True"

DoCmd.RunSQL SQL
于 2019-03-14T18:42:23.013 回答
0

如果这是一个保存的查询,它不知道当前的表单。

您需要使用控件的完整路径,但不需要连接,例如

UPDATE tbl_jobs SET Person_Name = Forms!myForm!PersonCombo WHERE [Select] = True

如果组合框在子窗体上,请参阅:
窗体:请参阅窗体和子窗体的属性和控件

例如Forms!Mainform!Subform1.Form!ControlName

于 2019-03-14T18:43:44.753 回答