Доступ - разрешить обновление данных, но только через формы - PullRequest
0 голосов
/ 15 июня 2009

Возможно ли в Microsoft Access 2007, чтобы пользователь мог выбирать и обновлять данные только тогда, когда они редактируют через форму?

У меня есть форма, которая содержит таблицу данных внешней таблицы (которая, в свою очередь, имеет другую подтаблицу). Я хочу, чтобы пользователи могли редактировать только свой собственный контент через таблицу данных в форме.

Запуск бэкэнда SQL, поэтому хранимые процедуры можно использовать и выполнять только те, на которые у них есть права EXECUTE.

Edit:

Может ли таблица быть скрыта в Access, и пользователь не сможет ее отобразить, если только он не является владельцем базы данных? В качестве альтернативы, как у вас есть подкаталоги для запуска хранимой процедуры для обновления вместо непосредственного редактирования таблицы? Я хочу сохранить возможность «углубляться» в связанные таблицы.

Ответы [ 2 ]

2 голосов
/ 15 июня 2009

Я думаю, что вы ответили на свой вопрос.

Вы можете использовать хранимые процедуры для извлечения и обновления ваших данных, а также для удаления любых связанных таблиц или удаления разрешений UPDATE на них.

Вы потеряете удобную привязку данных в полях формы, которую вам придется переделывать в VBA.

В качестве альтернативы (для сохранения привязки данных) вы можете указать форму для источника данных только для чтения и перехватить событие «Перед обновлением», чтобы выполнить фактическое обновление, до того, как Access установит связь, чтобы сохранить сами обновления. Это всего лишь идея, я не проверял, работает ли она.

1 голос
/ 16 июня 2009

Если вы хотите углубиться в безопасность пользователей на уровне Jet, вы можете сделать ваши связанные таблицы нечитаемыми для пользователей и использовать запросы RWOP (запуск с правами владельца), чтобы разрешить редактирование форм. Конечно, вы бы удалили доступ к окну базы данных, чтобы запретить им выполнять запросы RWOP. Это также можно улучшить, поместив ссылку на форму, в которой вы используете запрос RWOP, который запретит ему возвращать записи, если он не выполняется внутри формы.

...