Я хочу использовать VBA для обновления ссылок на внешний входной файл. Я разработчик, и путь к связанному входному файлу, который я использую, не будет таким же, как конечный пользователь, когда он будет помещен в рабочую папку.
Есть ли способ обновить местоположение связанного файла с помощью VBA? У меня уже есть код, который позволяет пользователю указать местоположение входного файла, и эта информация сохраняется в [InputFolder] таблицы [Defaults]. Есть ли способ использовать VBA для обновления связанной таблицы, используя информацию о поле InputFolder?
Сохраненные данные InputFolder выглядят так:
C: \ Users \ CXB028 \ OneDrive - Comerica \ Проекты \ HR \ Входные данные
В новой информации о папке будет указан путь к сетевому диску, к которому у меня нет доступа, но у пользователя будет.
Вот код, который я использую для определения и сохранения местоположения папки ввода:
Private Sub btnInputFldr_Click()
On Error GoTo Err_Proc
Const msoFileDialogFolderPicker As Long = 4
Dim objfiledialog As Object
Dim otable As DAO.TableDef
Dim strPathFile As String, strFile As String, strpath As String
Dim strTable As String
Dim fldr As Object
Set fldr = Application.FileDialog(msoFileDialogFolderPicker)
With fldr
.Title = "Choose Folder"
.Show
.InitialFileName = "" 'DFirst("InputFolder", "Defaults")
If .SelectedItems.Count = 0 Then
Exit Sub
Else
CurrentDb.Execute "UPDATE Defaults SET InputFolder='" & .SelectedItems(1) & "';"
End If
End With
Me.txtInputFldr.Requery
Exit Sub
Err_Proc:
MsgBox "Error " & Err.Number & ": " & Err.Description, vbCritical, "Process Error"
End Sub
Связанную таблицу (внешнюю электронную таблицу Excel) необходимо повторно связать после перемещения базы данных в производственное местоположение с использованием кода VBA при переопределении новой входной папки.