0

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

在此处输入图像描述

在左侧的子表单中,我有以下与 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. 拆分表格也不是一个选项,因为我需要一个搜索目录,右侧只有客户姓名,左侧有详细表格。
  3. 我对任何其他设计解决方案持开放态度,因为我刚开始使用导航表单时对它的理解很低。
4

2 回答 2

0

这个附加站点为我对这个错误的体验增加了更多价值:http ://www.mrexcel.com/forum/microsoft-access/635816-visual-basic-applications-buttons-dont-work-navigation-form.html

于 2013-05-16T16:37:29.017 回答
0

我解决了这个!

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

呜呼!

这个链接帮助很大!

于 2013-04-16T16:23:39.030 回答