Доступ к базе данных - Сохранить местоположение файла (полное), ссылка / путь в одном поле и имя файла в другом поле (оба или оба должны быть активными, чтобы открыть файл) - PullRequest
2 голосов
/ 04 августа 2020

Это мой первый пост, я новичок в MS Access и не имею опыта программирования. У меня есть база данных Access с табличным вызовом «Вложения» с полем «Сохраненный путь» и «Имя файла». Оба относятся к типу данных «Гиперссылка».

Поскольку для параметра вложений MS Access существует ограничение в 2 ГБ, я хотел бы сохранить ссылку на файл, сохраненный вне MS Access.

Что я ищу Например, когда пользователь щелкает «Сохраненный путь», открывается диалоговое окно windows, и пользователь выбирает файл (уже созданный и сохраненный по сетевому пути), и эта ссылка / путь, включая имя файла, сохраняется в этом столбце. Поэтому при необходимости они могут вернуться к этой записи и просто щелкнуть понравившийся файл, чтобы открыть этот файл прямо оттуда. В поле «Имя файла» имя файла копируется и сохраняется.

Private Sub Saved_Path_Click()

    Dim f As Object
    Dim strFullpath As String
    Dim strFolder As String
    Dim strFile As String
    Dim intPos As Integer
    Dim varItem As Variant
    
    Set f = Application.FileDialog(3)
    f.AllowMultiSelect = False
    strFullpath = BrowseFile
    
    If f.Show Then
        
        intPos = InStrRev(strFullpath, "\")
               
        
        Me.Saved_Path = "#" & f.SelectedItems(1) & "#"
        Application.FollowHyperlink Me.Saved_Path
   
    End If
    Set f = Nothing    
 
End Sub

1 Ответ

1 голос
/ 04 августа 2020

Этот код не сохраняет строку гиперссылки в поле типа гиперссылки. Данные поля гиперссылки Access представляют собой строку, состоящую из 3 частей, разделенных символом #. отображать текст # путь к файлу \ имя # любая ссылка в файле

Может иметь только одно поле (гиперссылка или текст) с полным путем \ имя файла и использовать код для разделения строки, когда вы хотите путь или часть имени файла.

Если вы используете поле типа гиперссылки, сохраните полное имя пути к файлу в формате строки гиперссылки, чтобы это была гиперссылка для открытия файла. Me.fieldname = "#" & f.SelectedItems(1) & "#" Можно извлечь часть пути из f.SelectedItems (1) и сохранить в собственном поле гиперссылки, если хотите.

Если вы сохраняете части пути без символов # для разделения обычных текстовых полей, параметры:

VBA FollowHyperlink встроенная функция c в процедуре события Click для открытия файла

или

вычисляет интерактивную строку гиперссылки в текстовом поле ControlSource (без VBA). ="Click to open folder#" & [Saved_Path] & "#" ="Click to Open file#" & [Saved_Path] & "\" & [File_Name] & "#"

Установите для свойства IsHyperlink текстового поля значение Да, чтобы текст выглядел как ссылка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...