Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 使用变量传递元素名_Vba_Ms Access_Openargs - Fatal编程技术网

Vba 使用变量传递元素名

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) '

我在MS Access表单上有一个多页元素,我正在尝试使用GetArgs来标识要使用以下代码打开的页面。有人能帮我把页面名转换成MS Access可以接受的格式吗

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),它已立即运行。非常感谢你。