6.2 Динамический веб-браузер
HTML-код
- Опубликовано: 4 фев 2022
- На примере одного из способов хранения файлов фирмы рассмотрим работу элемента управления типа "веб-браузер". Он будет показывать содержимое папок, в зависимости от значения полей на форме. С помощью кнопки будем открывать или создавать папку в проводнике. Надпись на кнопке будем изменять благодаря свойству Caption.
ВНИМАНИЕ! Поддержать канал можно через Сбербанк 2202 2023 5272 6164
Очень полезная информация! Только не забрасывайте свои уроки!!!
Продолжайте свою работу, очень полезная информация!
Здравствуйте, видео класс !!!👍👍👍
Скажите пожалуйста, а можно сделать так чтобы ещё отображались количество файлов в папке ?
отображалось количество находящихся в данной папке файлов?
Добрый день! Сам не пробовал, но посмотрите, например, здесь: translated.turbopages.org/proxy_u/en-ru.ru.938b3b27-632034d6-6748e827-74722d776562/https/social.msdn.microsoft.com/Forums/en-US/31c6ba8c-f670-4b9f-b12a-6fac665b852f/files-in-a-directory-in-vba?forum=accessdev
Добрый день. Почему-то ошибка на ссылку
@@chuvak6832 Простите, это был перевод страницы. Попробуйте набрать в поиске "access сколько файлов в папке" - в первой же строке появится вот это: social.msdn.microsoft.com/Forums/en-US/31c6ba8c-f670-4b9f-b12a-6fac665b852f/files-in-a-directory-in-vba?forum=accessdev
@@msaccess-gk Спасибо
При работе с сетевой бд возникает новая проблема:
Папка с таблицами (с файлом, в котором лежат все таблицы) находится в общем доступе. И получается любой юзер может найти этот файл и удалить или скопировать. Можно ли это предотвратить?
Самый банальный вариант, сделать ее скрытой. Но любой хоть немного соображающий пользователь все равно её найдёт.
Другой вариант, если папка будет закрыта на доступ юзеру, а при запуске приложения, его access - клиент будет сам авторизоваться при запуске. Причём пользователь не будет знать данные логина и пароля авторизации, так как они скрыты от него в откомпилированном файле, и их настроил админ.
Т.е. админ настроил сеть так, что к примеру системный логин "юзер" не имеет доступа к папке, но при запуске клиенты БД, программа использует новый логин "юзер-клиент", который имеет лоспут к папке, и как следствие, может спокойно работать с файлами таблиц. Но только из access-клиента.
п.с. При такой реализации юзер даже знать не будет путь к папке. Но это мое субъективное мнение) Я пока ещё чайник. Поэтому столько вопросов )
Согласен, защитить сетевую папку точно необходимо. Мне кажется, задача выходит за рамки Access и нужно решать вопрос с администратором сети - закрыть папку от несанкционированного доступа для клиентов. Опять же, главная защита базы данных - это адекватные сотрудники, т.к. на любой замок найдётся взломщик...
@@msaccess-gk Я вот думал как раз в самом клиенте это реализовать. С помощью VBA может и без админа получится....?
@@Sfinxsx Допустим у юзера даже и access'а нет. Зашёл в папку и сделал, что захотел. Нет, нужно защищать папку + резервировать каждые n минут.
@@msaccess-gk Так вот как раз админ папку защитил. Доступ к ней юзер не имеет. Но вот если он запустит клиент, то клиент-access подключится к этой папке (точнее к таблицам в ней) и при этом система доступа его пропустит, потому как клиент будет конектиться под другим логином (которому доступ разрешен)
Я как вариант вижу запуск серверного клиента, который делает резервную копию файлов, и с некоторый интервалом проверяет файлы на изменение.
Как только файлы были изменены не санкционированным способом, сообщает администратору.
А допустим если человек открыл через аксесс файл, мы запоминаем что он его открыл, после сохранении/изменении файла, акссес спрашивает подтверждение измения.
Можно в таблице зафиксировать изменения и не дергать админа.
Резервную копию скрыть от юзера проще, сделать копии с непонятными именами и без расширений, а то и вовсе слить в один/несколько файл, а при восстановлении выдергивать.
Только надо как-то обыграть если файл уже открыт.
Фиксировать, так же как активных пользователей, активные файлы, и допустим открывать только для чтения.
Этот код вставляем на событие текущей записи формы
Private Sub Form_Current()
On Error Resume Next
Me.СоздатьПапку.Caption = "Создать/открыть папку " & "`" & Me.ОбозначениеОтчёта & "`"
End Sub
Этот код вставляем на событие нажатия кнопки СоздатьПапку
Private Sub СоздатьПапку_Click()
Me.Refresh
On Error Resume Next
MkDir "E:\Сервер\БД Отчёты\" & [Год] & ""
NRF = "E:\Сервер\БД Отчёты\" & [Год] & "\" & [ОбозначениеОтчёта] & ""
If Dir(NRF, vbDirectory) "" Then
Application.FollowHyperlink NRF
Else
MkDir NRF
Application.FollowHyperlink NRF
End If
End Sub