#backend #ms-access-2013
#серверная #ms-access-2013
Вопрос:
Я создал разделенную базу данных ms access 2013 для нескольких пользователей для совместного использования через нашу офисную локальную сеть. Я разрабатывал формы и код интерфейса и распространял их, выпуская новые версии интерфейса.
Теперь я хотел бы создать меню отчетов, но я хотел бы сохранить запросы на серверной части, чтобы я мог вносить изменения, не выпуская новую интерфейсную версию каждый раз, когда я обновляю или добавляю отчет.
Есть ли способ вызвать отчет или запрос в vba, который хранится в серверной базе данных mdb? Будет ли какое-либо значительное снижение производительности? Если я понимаю, как работают базы данных с разделенным доступом, запросы по-прежнему обрабатываются на локальном компьютере, так что, похоже, это ничего не изменит. Я искал в Интернете, но не нашел никаких вопросов по этой теме. Это приводит к тому, что я считаю, что я на неверном пути. Мысли?
Мэтт
Ответ №1:
Вы можете либо сохранить запросы в отдельном файле на общем сетевом ресурсе, чтобы пользователи могли импортировать их по мере необходимости.
Более отточенный метод заключается в поддержании единого интерфейса, затем копировании его в общий сетевой ресурс, когда новая версия будет готова, и предоставлении пользователям возможности загружать его всякий раз, когда они запускают приложение с помощью ярлыка. Таким образом, распространение происходит полностью автоматически и работает даже в среде Citrix.
Полное описание и сценарий (который вы, вероятно, можете немного сократить) можно найти здесь:
Развертывание и обновление приложения Microsoft Access в среде Citrix
Ключевая строка, в которой открывается локальная копия, находится здесь:
' Run PPT.
If objFSO.FileExists(strAppLocalPath) Then
Call RunApp(strAppLocalPath, False)
Else
Call ErrorHandler("The local application file:" amp; vbCrLf amp; strAppLocalPath amp; vbCrLF amp; "could not be found.")
End If
Так что, чтобы быть уверенным, поступайте strAppLocalPath
правильно.
Комментарии:
1. Спасибо! Я попробую сценарий. Полностью автоматизированное решение для обновления действительно кажется правильным решением.
2. Вопрос: Скрипт копирует внешний файл в LOCALAPPDATA, но затем ярлык открывает внешний интерфейс в общей сетевой папке. Я бы хотел, чтобы открылась локальная версия. Можете ли вы сказать мне, где я ошибаюсь?
3. Есть ли способ загрузить мою версию вашего скрипта здесь? Извините, я новичок. >. <
4. Ну, почему-то у вас нет правильного значения
strAppLocalPath
. См. Отредактированный ответ.5. Это сделало это! Спасибо! Это сэкономит много времени в будущем.