Изменить встроенную строку подключения в макросе Microsoft Excel
У меня есть документ Excel, в котором есть макрос, который при запуске будет изменятьCommandText
этого соединения для передачи параметров из электронной таблицы Excel, например так:
Sub RefreshData()
ActiveWorkbook.Connections("Job_Cost_Code_Transaction_Summary")
.OLEDBConnection.CommandText = "Job_Cost_Code_Transaction_Summary_Percentage_Pending @monthEndDate='" & Worksheets("Cost to Complete").Range("MonthEndDate").Value & "', @job ='" & Worksheets("Cost to Complete").Range("Job").Value & "'"
ActiveWorkbook.Connections("Job_Cost_Code_Transaction_Summary").Refresh
End Sub
Я хотел бы, чтобы обновление не только изменило команду соединения, но также изменило соединение, поскольку я хотел бы использовать его с другой базой данных:
Так же, как макрос заменяет параметры команды значениями из электронной таблицы, я бы хотел, чтобы он также заменял имя сервера базы данных и имя базы данных из значений из электронной таблицы.
Полная реализация не требуется, достаточно кода для изменения соединения со значениями из листа, я должен быть в состоянии заставить его работать оттуда.
Я пытался сделать что-то вроде этого:
ActiveWorkbook
.Connections("Job_Cost_Code_Transaction_Summary")
.OLEDBConnection.Connection = "new connection string"
но это не работает. Благодарю.