Создание подключений к базе данных Access из Excel с использованием VBA - PullRequest
0 голосов
/ 12 сентября 2018

У меня есть книга Excel с несколькими подключениями к запросам в базе данных Access. Я хочу иметь возможность поделиться этим с коллегами по USB-ключу, но строка подключения имеет прямой путь к базе данных, например:

DSN=MS Access Database;DBQ=C:\USERS\Me\Desktop\Database.accdb;DefaultDir=C:\;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;

Из того, что я могу сказать, относительный путь здесь не может быть использован. Есть ли способ получить текущий путь к файлу Excel при открытии и создать подключения в VBA? (файл базы данных и файл Excel всегда будут находиться в одном и том же относительном месте)

Ответы [ 2 ]

0 голосов
/ 12 сентября 2018

Вы можете получить путь к рабочему столу следующим образом:

sPath = Environ("USERPROFILE") & "\Desktop"

Это означает, что вы можете использовать следующее в строке подключения

sPath & "\Datbase.accdb"

Обновление ВЧтобы сделать его более надежным, было бы неплохо добавить функцию, если файл базы данных существует.Вы можете использовать функцию, аналогичную this

Function fileExists(s_directory As String, s_fileName As String) As Boolean

    Dim obj_fso As Object

    Set obj_fso = CreateObject("Scripting.FileSystemObject")
    fileExists = obj_fso.fileExists(s_directory & "\" & s_fileName)

End Function
0 голосов
/ 12 сентября 2018

Используйте это:

Path = ActiveWorkbook.Path & "\"

Если вы хотите указать путь к книге, в которой находится код, используйте:

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