2016-05-10 82 views
2

我有一个存储文件路径的Access数据库。有时文档会被放入“存档”子文件夹中。我创建了一个用文件名和文件路径加载记录的表单。在表单上我创建了一个按钮,将\archive\添加到现有文件路径中。需要在文件路径中找到最后一个反斜杠后插入\archive\。这是我尝试过的功能,但我无法在任何地方找到解决方案。将字符串插入字符串的特定部分

Public Function insertArch (ByVal strPath As String) insertArchive = InStrRev(strPath, "\") + " archive\" End Function

我试图找到从字符串末尾的第一个反斜杠,然后要插入archive\。我究竟做错了什么?

回答

3

InStrRev返回字符偏移量,而不是字符串。

您可以:

Public Function insertArchive(ByVal strPath As String) As String 
    Dim pos As Long 
    pos = InStrRev(strPath, "\") 
    If (pos > 0) Then 
     insertArchive = Left$(strPath, pos) & "archive\" & Mid$(strPath, pos + 1) 
    Else 
     insertArchive = strPath 
    End If 
End Function 

为:

?insertArchive("C:\foo\bar\qux.dat") 
C:\foo\bar\archive\qux.dat 
+0

完美的作品。赞赏。 – JB28