Интеграция с макросами VBA
Специальное предложение: скидка 50% (115 200 рублей) на ODataDB Enterprise до 31 мая 2024

Интеграция с макросами VBA

Вы можете использовать надстройку SaveToDB в макросах VBA как библиотеку.

Вы можете легко загружать данные из таблиц, представлений и хранимых процедур баз данных, данные из Интернет и текстовых файлов.

Вы можете легко сохранять данные в базы данных Microsoft SQL Server, Microsoft SQL Server Compact, Oracle Database, IBM DB2, MySQL, MariaDB, NuoDB, Snowflake, PostgreSQL и SQLite.

Эти возможности позволяют быстро создавать приложения на VBA и полностью решить вопросы с доступом к базам данных.

Модель программирования очень проста:

  • Настройте поведение надстройки SaveToDB в визуальном режиме.
  • Вызывайте методы надстройки SaveToDB из макросов VBA.

К примеру, используйте следующий код для получения ссылки на надстройки SaveToDB:

Dim com As COMAddIn
Dim addIn As Object
Set com = Application.COMAddIns("SaveToDB")
Set addIn = com.Object

и используйте этот код для сохранения изменений в базу данных:

addIn.Save

Все просто.

Можно использовать один из вариантов, приведенных ниже, в которых объект ListObject передается как параметр:

addIn.Save ListObject

Call addIn.Save(ListObject)

If Not addIn.Save(ListObject) Then
    MsgBox addIn.LastResultMessage
End If

Вы можете использовать следующие варианты вызова для загрузки данных из баз данных, веб и текстовых файлов:

addIn.Load

addIn.Load ListObject

Call addIn.Load(ListObject)

If Not addIn.Load(ListObject) Then
    MsgBox addIn.LastResultMessage
End If

Код ниже используется для обновления параметров запроса в именованных ячейках за один раз и последующей загрузки данных из баз данных, веб и текстовых файлов с новыми параметрами:

Application.EnableEvents = False

Range("Account").Value = 123
Range("Company").Value = "ABC"

Application.EnableEvents = True

addIn.RebuildCommandTextFromNamedCells

Также можно использовать прямые вызовы надстройки для установки значений параметров:

addIn.ParameterValue(ListObject, "Account") = 123
addIn.ParameterValue(ListObject, "Company") = "ABC"

Call addIn.Load(ListObject)

Такой подход не требует создания именованных ячеек и более универсален.

См. полные списки доступных свойств и методов: