Dlookup 不适用于导航和子表单
Dlookup will not work with navigation and subforms
我有一个简单的表单,它使用以下代码根据第一个中的选择自动填充 2 个组合框:
Private Sub Planner_Name_AfterUpdate()
Dim FormTrade As Variant, FormFLS As Variant
FormTrade = DLookup("Trade", "Planners", "[PlannerName] = Forms!EstimateForm!PlannerName")
FormFLS = DLookup("FLS", "Planners", "[PlannerName] = Forms!EstimateForm!PlannerName")
Me.Trade = FormTrade
Me.FLS = FormFLS
End Sub
这是基于具有 3 个字段的 table:PlannerName、Trade、FLS
这样,当有人知道 Planner 的名字时,它会自动填写他们的 Trade 和 运行 工作的 FLS。
一切正常,直到我将此表单作为导航表单中的子表单,然后它停止工作。
谁能给我一些建议?
您没有说明表单不再是开放表单这一事实,但实际上它现在是导航子表单。您将需要编辑您的代码以说明子表单
Current DLookup
FormTrade = DLookup("Trade", "Planners", "[PlannerName] = Forms!EstimateForm!PlannerName")
Modified DLookup
FormTrade = DLookup("Trade", "Planners", "[PlannerName] = [Forms]![frm_navigation]![NavigationSubform].[Form]![EstimateForm]![PlannerName]")
我的回答是基于对您的子表单是 names frm_Navigation 的猜测。但是要得到确切的名字。打开一个新查询并添加任何 table 和任何字段(不重要),然后右键单击并 select build... 在表达式构建器中。打开数据库旁边的 + 号,然后打开 Forms --> Loaded Forms --> your form name your --> navigation subform name --> and your control box.
我有一个简单的表单,它使用以下代码根据第一个中的选择自动填充 2 个组合框:
Private Sub Planner_Name_AfterUpdate()
Dim FormTrade As Variant, FormFLS As Variant
FormTrade = DLookup("Trade", "Planners", "[PlannerName] = Forms!EstimateForm!PlannerName")
FormFLS = DLookup("FLS", "Planners", "[PlannerName] = Forms!EstimateForm!PlannerName")
Me.Trade = FormTrade
Me.FLS = FormFLS
End Sub
这是基于具有 3 个字段的 table:PlannerName、Trade、FLS
这样,当有人知道 Planner 的名字时,它会自动填写他们的 Trade 和 运行 工作的 FLS。
一切正常,直到我将此表单作为导航表单中的子表单,然后它停止工作。
谁能给我一些建议?
您没有说明表单不再是开放表单这一事实,但实际上它现在是导航子表单。您将需要编辑您的代码以说明子表单
Current DLookup
FormTrade = DLookup("Trade", "Planners", "[PlannerName] = Forms!EstimateForm!PlannerName")
Modified DLookup
FormTrade = DLookup("Trade", "Planners", "[PlannerName] = [Forms]![frm_navigation]![NavigationSubform].[Form]![EstimateForm]![PlannerName]")
我的回答是基于对您的子表单是 names frm_Navigation 的猜测。但是要得到确切的名字。打开一个新查询并添加任何 table 和任何字段(不重要),然后右键单击并 select build... 在表达式构建器中。打开数据库旁边的 + 号,然后打开 Forms --> Loaded Forms --> your form name your --> navigation subform name --> and your control box.