Создайте ссылку на таблицу в базе данных MS Access с помощью vbscript

#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. Звучит заманчиво. Я рад, что смог вам помочь. Не могли бы вы нажать кнопку «Принятый ответ» на этот вопрос?