Access / VBA中的反向数组

时间:2012-08-02 15:03:33

标签: vba ms-access-2010

使用VBA的ACCDB文件。我在数据库位置的路径中寻找一个特定的文件夹。它总是距文件3深,但驱动器的深度是可变的。我抓住了项目路径,将其拆分,但找不到反转它的功能。是否有内置功能或您是否必须自己编写代码。我环顾四周,令人惊讶的是无法在任何地方找到解决方案。

    Dim pth As String
    Dim apth As String
    pth = Application.CurrentProject.Path
    apth = Split(pth, "\")
    'Reverse array here
    apth = apth(2) 'Grab second index
    MsgBox (apth) 'confirm folder
    Call search_Project(apth)

2 个答案:

答案 0 :(得分:1)

代码有几个问题,比如你可以声明一个字符串,然后尝试将它用作数组。下面是使用数组长度修改并减去3以获得所需位置。我还添加了一个检查,以确保数组的长度至少为3个元素。删除了as的字符串,因为你想将它用作数组。

Dim pth As String
Dim apth
pth = Application.CurrentProject.Path
apth = Split(pth, "\")
'Reverse array here
If UBound(apth) >= 3 Then
apth = apth(UBound(apth) - 3)
End If
'Grab second index
MsgBox (apth) 'confirm folder
Call search_Project(apth)

答案 1 :(得分:1)

apth = strReverse(Split(strReverse(pth),"\")(2))