Vba 使用变量传递元素名
我在MS Access表单上有一个多页元素,我正在尝试使用GetArgs来标识要使用以下代码打开的页面。有人能帮我把页面名转换成MS Access可以接受的格式吗Vba 使用变量传递元素名,vba,ms-access,openargs,Vba,Ms Access,Openargs,我在MS Access表单上有一个多页元素,我正在尝试使用GetArgs来标识要使用以下代码打开的页面。有人能帮我把页面名转换成MS Access可以接受的格式吗 Dim WrdArray() As String If Not IsNull(Me.OpenArgs) Then LoadAndLocation = Me.OpenArgs WrdArray() = Split(LoadAndLocation, "|") OriginalPage = WrdArray(1) '
Dim WrdArray() As String
If Not IsNull(Me.OpenArgs) Then
LoadAndLocation = Me.OpenArgs
WrdArray() = Split(LoadAndLocation, "|")
OriginalPage = WrdArray(1) 'This works and results in the correct page name eg Fina
Me.OriginalPage.SetFocus
End If
不太熟悉访问,所以可能有一种更干净的方法,但我认为这就是您所寻找的
Private Sub Tester()
SetTabByName Me.TabCtl0, "Second" 'set by Caption
SetTabByName Me.TabCtl0, "Page1" 'set by Name
End Sub
'Set tab control active page: match on tab name *or* caption...
Sub SetTabByName(tabCtrl As TabControl, sVal As String)
Dim x As Long
For x = 0 To tabCtrl.Pages.Count - 1
If tabCtrl.Pages(x).Name = sVal Or _
tabCtrl.Pages(x).Caption = sVal Then
tabCtrl.Value = x
Exit For
End If
Next x
End Sub
什么是多页元素?您是指具有多个选项卡的选项卡控件吗?您现在正在向OpenArgs传递什么?这个代码怎么了?它似乎工作得很好。你是对的HK1,它是一个带有多个选项卡的选项卡控件。我打开的表单中有选项卡,OpenArgs值有一个字符串,该字符串是要选择的选项卡和要执行的值的组合,例如Final | 9。拆分后,变量OriginalPage保留应选择的选项卡名称;在本例中,选项卡名为Final。MS Access给出了一个编译错误:找不到方法或数据成员,并指向行“Me.OriginalPage.SetFocus”@HansUp您是否有可能对此提供帮助?我刚刚阅读了Tim Williams的答案,我觉得这很有希望。我没有收到关于你的评论的通知,所以直到现在才看到。谢谢你,Tim,正在输入你的解决方案,然后我从你的解决方案中意识到,在我引用我想要的页面之前,我需要引用选项卡控件。我已将Dim OriginalPage行添加为字符串,并将Me.OriginalPage.SetFocus替换为Me.tabDeposits.Pages(OriginalPage.SetFocus),它已立即运行。非常感谢你。