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

在此处输入图片说明

在左侧的子窗体上,我具有以下与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. 我对任何其他设计解决方案都持开放态度,因为自从我刚开始使用导航表单以来,我对导航表单的理解就很低。

===============>>#1 票数:0 已采纳

我解决了!

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

oo!

这个链接很有帮助!

===============>>#2 票数:0

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

  ask by Scott Holtzman translate from so

未解决问题?本站智能推荐:

2回复

过滤访问中的子表单

我在第4行(Me.ConstructQuery)上不断收到运行时错误2465。 我有一个表格,其中嵌入了选项卡控件; 每个选项卡都将包含一个子表单。 我希望能够从每个选项卡中的多个组合框中查询每个子表单。 再次,报告的抛出异常的行是Me.ConstructQuery 任何意见
1回复

在VBA Access中动态填充有其他子表单的子表单

我想创建一个包含动态创建的子表单列表的弹出表单。 子表单的数量由用户在父表单中确定。 这是一个草图来说明我想要做什么。 用户可以将“ Num Branches”的值更改为2到10之间。此数字又反映在下面的可滚动框中创建的子表单的数量中。 这些子表单都来自同一表单,我用红色将其概述。
1回复

错误2467筛选导航中的表单中的子表单

我有一个带有1个下拉列表和4个子报表的窗体,称为rptBuildingResume。 当我在下拉列表中选择一个值时,我将使用该值过滤所有子窗体。 这很好,但是... 当我将前一个表单添加到导航表单中时,我有一个名为Main的导航表单,当然我更改了代码, 2467错误
1回复

根据表单中的参数过滤子表单表

我有一个带有两个无界组合框的表单,它们的工作都很好(一个列出了多个年龄值,另一个列出了多个区域)。 我有一个子窗体,它是一个引用组合框的查询,但是当我更改组合框的值时无法更新它。 我的查询是: 从mastertable中选择*,其中(age = [form]![masterfo
1回复

从父表单中过滤子表单

我在父表单中有一个子表单。 子窗体显示为父窗体内的数据表。 我在父窗体中有两个组合框。 当用户从组合框中选择一个值时,子窗体应根据这两个值进行过滤。 以下是我使用的代码。 它打开另一个窗口并显示过滤后的值,而不是在父子窗体中显示它。 谢谢
2回复

子表单上的多个过滤器

尝试同时将两个过滤器应用于一个子窗体。 只想查看DATES X和Y之间以及仅来自BRANCH Z的记录。 可以单独工作,但不能同时使用两者。 我知道是这样 当前代码: 这基本上是我从网络上获得的一些代码,因为我对此很陌生。 因此,欢迎您提出所有建议。
2回复

在导航中打开子表单(ELI5)

我有一个正在建立的访问数据库(我偶尔发布我的问题),并且我对ms访问有一个一般性的问题: 如何在导航表单中打开子表单? 我有一棵主树/子树: Main Navigation Form -> Main Student Records Navigation Form ->
1回复

通过VBA更改子表单表中列的文本对齐方式

我有一个子窗体,其中显示MS Access数据库(MS Access 2013)中的表对象: 现在,我希望将表tbl_target名为Owner的列中的特定列中的文本左对齐(默认情况下,此子表单中的所有列均右对齐)。 标记列后,可以通过功能区菜单执行此操作(数据表->文本格式-&
2回复

加载表单时如何锁定子表单中的特定行?

我有一个包含记录的子窗体,该记录的“是/否”字段显示为子窗体上的复选框。 加载主表单后,我需要锁定所有选中的字段,以便用户无法撤消上一个用户所做的操作:他们应该只能选中/取消选中在会话开始时未选中的框。 加载表单时,是否可以遍历子表单中的所有记录并根据字段值选择性地锁定记录? 我知
1回复

使用VBA将新记录添加到子表单

子窗体由组合框中的字段填充,并且记录按预期方式保存。 通过单击组合框中的下一个记录,先前保存的记录将被覆盖。 我已经on current的主要形式和类似的代码中尝试了以下内容on current但没有任何效果。 它仍然想要覆盖以前保存的记录。 有什么建议么? 以下帖子中的代码也不