我有一个带有3个标签的导航表单。家园,顾客,装饰。
在导航表单上,我有一个未绑定的字段LOTNUMSELECT。
在每个标签中的子窗体上,它有一个名为LOT_NUMBER的字段。
由于导航表单似乎无法实现主/子关系,因此我正在寻找要加载的子表单。
用户在LOTNUMSELECT中输入了很多#,然后点击一个标签。当选项卡变为当前时,将显示特定批次#(记录)。
我一直在"控制面板上做这件事"使用以下代码打开另一个表单。
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "Decor"
If IsNull(LotNumberSelect.Value) = True Then
MsgBox "Please enter a lot number first."
Else
stLinkCriteria = "[Lot_Number]=" & "'" & Me![LotNumberSelect] & "'"
DoCmd.OpenForm stDocName, , , stLinkCriteria
End If
我只是不知道如何编辑它以使用导航表单和子表单。
答案 0 :(得分:0)
导航控件有两个部分。导航菜单和导航子表单。每个导航按钮(也称为选项卡)都会将目标表单加载到navigationsubform控件中。一次只能将一个表单加载到navigationsubform中。 由于navigationsubform打开了您的目标表单,您可以使用标准" form_open"设置过滤器或相应设置记录集的方法。 您只需单击表单打开事件,在该事件中,您只需通过
访问父控件即可 dim lotno as long
Lotno = nz(me.Parent!controlname.value,0)
If lotno <> 0 the
' do your filter or recordset operation
End if
您还可以使用form_load事件。由于您将在加载后执行过滤器,因此最好在form_open上设置它。这将提高您的表现。
答案 1 :(得分:-1)
PART2
我做了一些实验后有了更多的想法。
我不认为导航控件是适合您情况的正确控件。导航控件似乎没有事件,以及允许您将其链接到具有导航控件的主窗体上的控件的属性(我认为这是您尝试做的事情)。
我认为您会发现使用&#34;标签控件&#34;更容易,在这种情况下更容易使用。
我认为导航控件实际上是一个菜单,允许您访问其中的其他表单和报表。
这是指向使用标签控件的视频的链接: video 1 Video 2
以下是有关使用导航控件的视频的一些链接: video 1 video 2 video 3
这是我在导航控件上做的一些注意事项:
导航控件有一个&#34;导航子窗体&#34;它没有任何主/子数据链接字段。但是,此子表单不是正常的子表单。
使用导航控件,您必须设置&#34;导航目标名称&#34;导航按钮的属性(在导航菜单中)是您在单击按钮时要在navigationsubform中显示的表单。
此外,该按钮具有属性&#34; Navigation Where子句&#34;我相信用来设置过滤表格加载时显示的行。在主窗体上使用控件时,似乎没有允许您更改此过滤器的事件。