Хранение запросов в базе данных внутреннего доступа

#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. Это сделало это! Спасибо! Это сэкономит много времени в будущем.