Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.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
Ms access 替换DLookup以在Access中使用多个值自动填充表单_Ms Access - Fatal编程技术网

Ms access 替换DLookup以在Access中使用多个值自动填充表单

Ms access 替换DLookup以在Access中使用多个值自动填充表单,ms-access,Ms Access,我目前有一个表单,其中包含一个单独的组合框,它与我创建的每个表相关。 其中包括: -业务流程领域 -标题 -报告说明 -ProcessChain -多供应商 -InfoProvider 我有多个问题,但现在我只想把它缩小到一个问题。 如果您选择较低的组合框,我希望表单自动填充,因此,例如,如果您选择报告描述,它将填充标题和业务流程区域。我正在使用DLookup来完成这项工作,目前效果良好。问题发生在表格的下一页。 ReportDescription和ProcessChain之间以及Process

我目前有一个表单,其中包含一个单独的组合框,它与我创建的每个表相关。 其中包括:
-业务流程领域
-标题
-报告说明
-ProcessChain
-多供应商
-InfoProvider

我有多个问题,但现在我只想把它缩小到一个问题。
如果您选择较低的组合框,我希望表单自动填充,因此,例如,如果您选择报告描述,它将填充标题和业务流程区域。我正在使用DLookup来完成这项工作,目前效果良好。问题发生在表格的下一页。
ReportDescription和ProcessChain之间以及ProcessChain和MultiProvider之间存在多对多关系。因此,当前您可以选择一个MultiProvider,它将只选择第一个ProcessChain并从那里继续填写表单。
我在底部组合框中的当前DLookup代码是:

If IsNull(cmbMultiProvider) Then
    cmbMultiProvider = DLookup("MultiProviderID", "MultiProvider", "MultiProviderID =" & Me.cmbInfoProvider.Column(2))
End If

If IsNull(cmbProcessChain) Then
    cmbProcessChain = DLookup("ProcessChainID", "ProcessChainMultiProvider", "ProcessChainID =" & Me.cmbMultiProvider.Column(2))
End If

If IsNull(cmbReportDesc) Then
    cmbReportDesc = DLookup("ReportID", "ReportDescription", "ReportID =" & Me.cmbProcessChain.Column(2))
End If
第四个也是如此。
因此,我想将这些DLookup语句替换为在组合框处停止的语句,如果下面的选择与上面的多个字段相关,就像在组合框中选择的多提供者与多个进程链相关一样,那么组合框将下拉并仅包含相关字段

提前感谢您的帮助。

那么您是在“倒退”级联组合?也就是说,在大多数情况下,您将按降序选择这些项目,但您将按升序向上移动。例如,如果您想深入了解一辆汽车,通常首先选择年份,然后选择品牌,然后选择车型,等等

相反,您希望选择Make,并自动填充模型(假设该特定模型只有一个Make),然后将年份留空(因为Make和模型可能有几年)


如果是的话,你能告诉我们更多关于你的数据结构吗?在您的表中,报表描述、流程链和多提供者是如何关联的?

我似乎已经通过使用select查询并将WHERE语句从第一个组合框(例如WHERE REPORTSCRIPTION.ReportID=“&Me.CMBCPROCESSCHAIN.Column(2))中的外键值中去掉来解决了这个问题。我使用DLOOKUP来表示只需要返回单个值的组合框。我还经常使用IsNull来确定何时继续向上移动表单,所以第四次。我一问完问题,就想尝试一下。不过,感谢您抽出时间。