在导航窗体中嵌入时访问VBA子窗体不过滤其他子窗体

时间:2013-04-16 16:08:20

标签: vba ms-access access-vba

我有一个未绑定的表单,其中两个子表单嵌入到导航表单中,如下所示:

enter image description here

在左侧的子窗体上,我有以下与CustomerName字段的OnFocus事件相关的代码,该字段过滤右侧的子窗体以显示从右侧选择的客户详细信息:

Private Sub CustomerName_GotFocus()

Forms!frmCustomers_sjh![Customer Address Form].Form.Filter = "CustomerName = '" & Me.CustomerName & "'"
Forms!frmCustomers_sjh![Customer Address Form].Form.FilterOn = True

End Sub

当我自己打开frmCustomers_sjh时,这很有用,但是当我从导航表单中运行它时,它会变得很糟糕。我得到运行时错误'2450',Access无法找到引用的表单'frmCustomers_sjh`。

我已经做了足够的研究,知道在导航表单中运行代码是不同的,并且使用起来有点棘手,但我无法在这里解决问题。

注意事项:

  1. 不使用导航表单不是一个选项(客户要求)
  2. Splits Form也不是一个选项,因为我需要一个仅在右侧客户名称上的搜索目录,左侧是详细信息表格。
  3. 我对任何其他设计解决方案持开放态度,因为我对导航表格的了解很少,因为我刚开始玩它。

2 个答案:

答案 0 :(得分:0)

我解决了这个问题!

我拿出了VBA代码,并在未绑定表单左侧的子窗体中放置了一个文本框,其中控件源设置为CustomerName字段。然后我在该文本框和该表单中的CustomerName字段之间右侧的子窗体创建了父子关系!

哇噢!

link帮了很多忙!

答案 1 :(得分:0)