从第二个子表单组合框中选择值时显示的访问 2016 参数值消息

Posted

技术标签:

【中文标题】从第二个子表单组合框中选择值时显示的访问 2016 参数值消息【英文标题】:Access 2016 parameter value message displayed when selecting value from a 2nd sub form combo box 【发布时间】:2020-10-04 23:04:02 【问题描述】:

我有一个带有时间表表单的 Access 2016 数据库。我被要求修改子表单,以便“工作描述”组合框中的值基于“Contract_ID”组合框中的选择。

“Contract_ID”组合框运行在 Row Source 属性中使用以下 SQL 来显示所有可用选项:

SELECT Contract.ContractID, Contract.[Contract Name], Contract.Active FROM Contract WHERE (((Contract.Active)=Yes)) ORDER BY Contract.[Contract Name]; 

“合同名称”是显示在“合同 ID”组合框中并由用户选择的值。

当我将以下 SQL 添加到“Work_Description”组合框的 Row Source 属性时,我会在“Contract_ID”组合框中为适当的选择获得适当的值。因为我得到相同的值而不是关联的值每个“合同名称”/“合同 ID”。

SELECT [Work Descriptions].[Work Desc ID], [Work Descriptions].[Work Description], Contract.ContractID
FROM Contract INNER JOIN [Work Descriptions] ON Contract.ContractID = [Work Descriptions].[Contract ID]
WHERE (((Contract.ContractID)=2308));

我正在尝试修改“2308”,以便 Work_Description Row Source 属性中的 SQL 使用“Contract_ID”组合框中的“ContractID”(而不是“合同名称”)。

我找到了一些示例,并尝试将“2308”替换为:

[Forms]![Timesheet Subform]![Contract ID]![ContractID]
[Forms]![Timesheet Subform]![Contract ID]
[Forms]![Contract ID]![ContractID]

当我尝试在“Work_Description”组合框上进行选择时,我收到一条“输入参数值”消息,其中显示了我用来替换 2308 的任何字符串。

我相当确定这是一个语法问题,但找不到解决我的问题的正确方法。以下是有关表单和子表单的信息:

Form Name:      "Timesheet"
Sub Form Name:  "Timesheet Subform"
1st Combo box:  "Contract_ID"
2

第一个组合框:“Work_Description”

任何帮助将不胜感激。感谢您抽出宝贵时间查看此消息....

【问题讨论】:

【参考方案1】:

应该是:

[Forms]![Timesheet]![NameOfTimesheetSubformCONTROL].Form![Work_Description]

【讨论】:

以上是关于从第二个子表单组合框中选择值时显示的访问 2016 参数值消息的主要内容,如果未能解决你的问题,请参考以下文章

组合框级联效应不适用于不同的行

如何从位于访问中的另一个子窗体中的组合框中过滤子窗体?

在数据表或连续表单视图中的表单上,我们如何将第二个组合框中的可能值基于第一个组合框中选择的值?

从访问 vba 中的多值组合框中获取值

使用 PHP PDO 在 DB 中保存来自文本框的值(从 DB 中获取值时显示的值)

如何根据另一个的选定项目过滤一个组合框集合?