从第二个子表单组合框中选择值时显示的访问 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 参数值消息的主要内容,如果未能解决你的问题,请参考以下文章
在数据表或连续表单视图中的表单上,我们如何将第二个组合框中的可能值基于第一个组合框中选择的值?