2016-05-10 2 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

Смежные вопросы