#ms-access #vbscript
#ms-access #vbscript
Вопрос:
Я хотел бы, чтобы некоторый код vbscript выполнялся на странице доступа к данным. Код предназначен для создания ссылки на таблицу в другой базе данных access.
На странице доступа к данным я уже подключен к своей текущей базе данных, поэтому, надеюсь, мне просто нужно указать путь и имя базы данных внешнего доступа, затем таблицу, на которую я хотел бы ссылаться, и имя ссылки … это было бы идеальным решением.
Я потратил часы на поиски, но все, что я могу найти, это VBA и / или код для выполнения этого в модулях access, которые могут вызываться формами.
Есть ли способ сделать это? Я могу вручную создавать ссылки с помощью мастера создания новой таблицы, но для этого мне нужен код.
Заранее спасибо
Комментарии:
1. SO — это не то место, где другие люди пишут код для вас. Пожалуйста, покажите нам, что вы пробовали, и объясните, с какой конкретной проблемой вы столкнулись.
2. мой актуальный вопрос: «Есть ли способ сделать это?»
Ответ №1:
Да, это возможно с помощью VBS. Вы говорите, что видели какой-то код и модули VBA. Ну, большинство из этих кодов / модулей VBA можно использовать и в vbs с небольшой настройкой.
Например, предположим, у вас был какой-то код vba, который был похож Set myRs = CurrentDB.OpenRecordset("someTbl_or_someQry")
Ну, в VBS вам сначала нужен доступ к объекту приложения Microsoft Office Access.
Это зависит от того, планируете ли вы запускать vbs, пока соответствующая база данных access открыта в данный момент или нет.
Если база данных не открыта, то в начале вашего VBS выполните следующие действия:
myAccessApp = CreateObject("Access.Application")
В противном случае:
myAccessApp = GetObject(,"Access.Application")
Теперь, когда у вас есть доступ.Загруженный объект приложения теперь вы можете делать практически все, что могли бы делать с помощью VBA, единственное отличие заключается в том, что вы добавите свой объект приложения в начало соответствующих строк кода VBA. Итак, теперь, таким образом, вы могли:
Set myRS = myAccessApp.CurrentDb.OpenRecordset("SomeTbl_or_somQry")
В вашем файле VBS.
Итог: Да, это возможно, как только ваш VBS получит доступ к Access.Объект приложения.
Комментарии:
1. Блестяще! Спасибо, Шон У. Это дало мне хорошее представление о дальнейших действиях, а также выявило некоторые ограничения, с которыми я могу столкнуться … например, у некоторых пользователей моего приложения фактически не установлен Access — вместо этого они используют веб-компоненты MS Office. Так что, по крайней мере, я могу видеть, кто может / не может использовать мое предстоящее решение, которое я могу удовлетворить с помощью своего кода. Еще раз спасибо
2. Звучит заманчиво. Я рад, что смог вам помочь. Не могли бы вы нажать кнопку «Принятый ответ» на этот вопрос?