Использование плагина SaveToDB как библиотеки VBA
Разработчики приложений на VBA могут использовать плагин SaveToDB в своих проектах.
Например, можно легко загружать данные из таблиц, представлений, хранимых процедур, текстовых файлов и веб-запросов.
Также, можно легко сохранять изменения в базы данных Microsoft SQL Server, Oracle Database, IBM DB2, MySQL, MariaDB, NuoDB и SQLite.
Для получения ссылки на плагин используется следующий код:
Dim addIn As COMAddIn Dim automationObject As Object Set addIn = Application.COMAddIns("SaveToDB") Set automationObject = addIn.Object
Для сохранения изменений в базу данных используется метод Save:
automationObject.Save
А для загрузки данных с параметрами из именованных ячеек можно использовать следующий код:
Application.EnableEvents = False Range("AccountName").Value = "My Bank" Range("CompanyName").Value = "Carnation, Inc" Range("ItemName").Value = Nothing Application.EnableEvents = True automationObject.RebuildCommandTextFromNamedCells
Как Вы видите, код достаточно простой. Но он работает для любой поддерживаемой базы данных, и позволяет обновлять запросы с параметрами и сохранять изменения обратно в базу данных.
Простой пример
Например, база данных приложения реестра платежей содержит следующие таблицы:
И нам необходимо создать форму ввода новых платежей:
Подход к реализации
Необходимо решить следующие задачи:
- Реализовать загрузку из таблиц Account, Company и Item в списки значений для выбора.
- Реализовать сохранение новых значений.
- Реализовать форму ввода.
Первая и третья задачи решаются обычными средствами Excel и не вызывают сложностей.
А вот вторая задача не очень простая, особенно, если проект необходимо использовать на большом количестве компьютеров, или требуется использование ODBC драйверов или OLEDB провайдеров.
Плагин SaveToDB позволяет решать такие задачи просто.
Необходимо проделать предварительные шаги:
- Загрузить данные в таблицу Excel.
- Настроить сохранение из Excel в базу данных, используя стандартные возможности плагина.
и далее в макросе выполнить следующие действия:
- Добавить новую строку в таблицу и скопировать в нее значения из формы.
- Вызвать метод Save плагина SaveToDB.
Заметьте, что VBA код не требует использования SQL-кода и работает с таблицами любой структуры!
Предварительные шаги
В нашем примере мы можем использовать два подхода для сохранения изменений:
- Сохранять изменения непосредственно в таблицы базы данных.
- Сохранять изменения с использованием хранимых процедур.
Первый подход намного проще, но он требует прав на обновление таблицы, что может быть не очень хорошо с точки зрения безопасности.
Второй подход требует дополнительных усилий, но позволяет решить вопросы разграничения доступа полностью.
Также, в хранимых процедурах можно реализовать и менять позднее любую бизнес-логику на стороне сервера, а не в макросах (и книгах пользователей, соответственно).
Настройка выполняется в визуальном режиме. Взгляните на скриншот:
Для подключения к таблицам, представлениям и хранимым процедурам используется Мастер подключения к данным (Connection Wizard).
Для сохранения изменений в базу данных используется кнопка Сохранить (Save).
Список запросов (Query List) отображает объект запроса активной таблицы и позволяет легко переключаться между объектами (таблицами, представлениями и хранимыми процедурами).
Параметры на ленте позволяют изменять параметры хранимых процедур и значения полей WHERE для таблиц и представлений. Параметры можно синхронизировать с одноименными именованными ячейками (например, ячейка AccountName для параметра AccountName).
Когда вы подключили таблицу к базе данных, и, по необходимости, настроили сохранение изменений, в макросах VBA можно использовать метод Save, который эквивалентен нажатию кнопки Save,
Загрузка данных с использованием VBA
Плагин позволяет легко фильтровать загружаемые данные с использованием макросов VBA.
Так, плагин автоматически помещает параметры хранимых процедур на ленту Excel. Для таблиц и представлений, можно выбрать поля, которые следует поместить на ленту и использовать в запросах WHERE.
На листе можно создать именованные ячейки с именами параметров, и далее использовать следующий код для изменения значений параметров запроса:
Range("AccountName").Value = "My Bank" Range("CompanyName").Value = "Carnation, Inc" Range("ItemName").Value = "Revenue"
На скриншоте отображен результат установки значений параметров запроса:
Следующие шаги
Загрузите и установите плагин SaveToDB, загрузите пакет для разработчиков приложений на VBA и посмотрите примеры, которые включают готовые книги и исходный код.
Надстройка SaveToDB для Microsoft Excel
Надстройка позволяет использовать Excel как настраиваемого клиента корпоративных приложений Версия: 10.11 | 12.07.2023 | 20.5MB | Введение | Что нового | Редакции | Предыдущие версии |
Скачать |
Примеры для разработчиков на VBA
Пакет включает исходный код примеров для разработчиков на VBA Версия: 8.18 | 21.12.2018 | 0.3MB |
Скачать |
Больше примеров использования плагина для разных платформ баз данных можно найти в SaveToDB SDK.
Попробуйте использовать плагин SaveToDB в ваших проектах. Вы сможете создавать их быстрее и легче.