我有一个带有时间表表单的Access 2016数据库。我被要求修改子表单,以便;工作描述";组合框是基于";Contract_ID";combobox。
";Contract_ID";运行的组合框使用行源属性中的以下SQL来显示所有可用选项:
SELECT Contract.ContractID, Contract.[Contract Name], Contract.Active FROM Contract WHERE (((Contract.Active)=Yes)) ORDER BY Contract.[Contract Name];
";合同名称";是显示在";Contract_ID";组合框,并由用户选择。
当我将以下SQL添加到"的Row Source属性时;工作描述";组合框中的适当选择的适当值;Contract_ID组合框。照原样,我得到相同的值,而不是与每个"0"相关联的值;合同名称"/"合同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使用";ContractID";从";Contract_ID组合框(而不是"合同名称"(。
我发现了一些例子,并试图用";2308〃;带有:
[Forms]![Timesheet Subform]![Contract ID]![ContractID]
[Forms]![Timesheet Subform]![Contract ID]
[Forms]![Contract ID]![ContractID]
当我试图在";工作描述";组合框,我得到一个";输入参数值";显示我用来替换2308的任何字符串的消息。
我很确定这是一个语法问题,但找不到正确的解决方案。以下是关于表格和子表格的信息:
Form Name: "Timesheet"
Sub Form Name: "Timesheet Subform"
1st Combo box: "Contract_ID"
2
nd组合框:";工作描述";
如有任何帮助,我们将不胜感激。感谢您花时间审阅此消息。。。。
应该是:
[Forms]![Timesheet]![NameOfTimesheetSubformCONTROL].Form![Work_Description]