MS Access | Автообновление приложения при его открытии |
|
Например, имеем приложение Access, с которым работает пользователь, загружая его с локального диска.
Приложение хранит в себе данные (таблицы и связи MS Access) или использует связи к таблицам (например, MS SQL Server базы, расположенной удаленно), см. также многопользовательский вариант.
Назовем пример такого приложения LocalForms.
Всякий раз, когда разработчик вносит какие-то изменения в приложение LocalForms, нужно обновить программу также и у пользователей. Обычно такую задачу разработчик решает рассылкой обновления и пользователь обновляет приложение сам.
Но вместо рассылки есть и другой способ: автообновление программы при ее запуске.
При таком варианте пользователь перестает запускать LocalForm непосредственно, а запускает LocalForms.bat. При запуске LocalForms.bat происходит следующее: программа копирует с необходимого сетевого ресурса файл LocalForms и кладет его пользователю в папку локального сетевого диска (например, на диск С), после чего оттуда его и запускает.
Для создания такого LocalForms.bat открываем, например, Notepad и набираем следующее:
mkdir "C:\FolderName" copy "\\ServerName\Folder\LocalForms.accdb" "C:\ForlderName\LocalForms.accdb" start "" "C:\FolderName\LocalForms.accdb"
где:
➢mkdir – команда создания папки. В примере создается папка с именем FolderName на диске С (даже если папка уже существует на диске, дальнейшие команды будут выполнены); ➢copy – команда копирования файла. Указывается путь к файлу для копирования "откуда": в приведенном примере это удаленный сервер \\ServerName, на котором папка \Folder, в ней файл LocalForms.accdb) и, через пробел, указан путь "куда" и "под каким именем": в приведенном примере это диск С, папка FolderName, файл под именем LocalForms.accdb; ➢start – команда открытия/запуска файла. В приведенном примере файл запускается с диска С и папки FolderName, файл LocalForms.accdb.
Набранное нужно Сохранить Как... LocalForms.bat. Готовый LocalForms.bat проверить на правильность выполнения команд и установить на диск пользователя.
Другой пример: автообновление отчетов MS Excel. Если пользователи используют внешние файлы, например отчеты MS Excel, то можно, разместив отчет на сервере, позволять им пользоваться его "свежей" копией, которая откроется с диска пользователя, если он будет запускать отчет через .bat файл. Такое решение позволит также избегать многопользовательского конфликта.
Например, напишем программу (Report.bat), которая скопирует отчет Report.xls с удаленного ресурса в папку Briefcase, расположенную на рабочем столе пользователя (папку командно создаст, если не обнаружит), после чего запустит файл Report.xls из этой папки:
mkdir "%userprofile%\desktop\Briefcase" copy "\\ServerName\Folder\Report.xls" "%userprofile%\desktop\Briefcase" start "" "%userprofile%\desktop\Briefcase\Report.xls
О применимых командах командной строки можно пользоваться указателем SS64 (там есть Command line reference для Linux, macOS и Windows --> An A-Z Index of Windows CMD commands)
См. также: Командная строка Windows
|