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来确定何时继续向上移动表单,所以第四次。我一问完问题,就想尝试一下。不过,感谢您抽出时间。