MS Access - хранить VBA Logic на SQL Server - PullRequest
1 голос
/ 05 июня 2019

Это может быть немного натянуто. У меня есть интерфейс MS Access, который находится на нашем сервере SQL Server и использует смесь хранимых процедур VBA и SQL для обработки данных.

Некоторые из моих процедур VBA динамически создают запрос SQL, соединяя вместе строки и затем отправляя их на сервер для выполнения. У меня вопрос, может ли этот процесс работать наоборот? Например, я установил метод в VBA, который извлекает строку из таблицы на сервере и затем выполняет ее.

Чтобы уточнить, я знаю, как использовать хранимые процедуры для обработки логики в серверной части. Моя цель здесь - найти способ извлечь необработанный VBA из процедуры таблицы / хранилища SQL, а затем запустить его в Access.

1 Ответ

5 голосов
/ 05 июня 2019

Да, но я настоятельно не рекомендую.

Вы можете вычислять простые одиночные выражения, используя функцию Eval в VBA.

Вы можете импортировать и изменять модули через Application.VBE.ActiveVBProject.VBComponents. Здесь вы можете изменить строковое содержимое модуля, но это требует монопольного доступа и перекомпиляции базы данных во время выполнения кода (поэтому я настоятельно рекомендую вам не делать этого).

Как правило, если вам не нужно работать с объектом приложения Access, я рекомендую вместо этого динамически создавать файлы vbscript, чтобы избежать эксклюзивного доступа и перекомпиляции базы данных.

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