11.09.2009, 16:49
общий
это ответ
Здравствуйте, fomservl.
Средствами самого Access сделать разграничение прав пользователей невозможно. Как вариант - использовать клиентское приложение, написанное на любом языке программирования, например Visual Basic. Преимущество еще и в том, что это продукты одного разработчика и используется один язык программирования.
Базу можно расположить на удаленном компьютере, в ней добавить таблицу пользователей с указанием их прав, а уже в самой программе в зависимости от уровня пользователя давать или запрещать возможность изменения данных и прочее.
Единственное что обнаружилось при работе нескольких пользователей одновременно при работе с базой Access. Access является условно-многопользовательской базой данных. Можно одновременно нескольким пользователям работать с базой, смотреть данные и прочее, но в момент модификации одной записи может быть заблокирована вся таблица. И другие пользователи не смогут тоже добавить записи, а в некоторых случаях, в зависимости от установленных настроек блокировки таблиц, будет невозможен и просто просмотр данных.
Для избежания подобных проблем советую установить бесплатную версию MS SQL Server - MSDN. Для Ваших задач должно хватить. Ограничения - размер базы кажется 1Гб ( или 4Гб - не помню ) и работа только с одним процессором. При использовании какого-либо бесплатного менеджера Вы сможете в самой базе создать пользователей ( которые могут подключаться к базе ) , создать группы пользователей - каждой можете назначить разрешения на просмотр/редактирование/добавление/удаление записей в любой таблице и многое другое. MSDN это полноценная многопользовательская база данных.
Небольшие отличия в языке SQL - при преобразовании типов данных, например, используется функция CONVERT ( "smalldatetime", ... ) вместо cDate и немного других. Но в целом все похоже.
Но в таком случае написание клиентского приложения на любом языке программирования обязательно.
Я на работе как раз этим и занимаюсь - создание и сопровождение ПО для бухгалтерии и прочих участков. Вначале работали с Foxpro, потом с Access, теперь перешли на MSDN. Структура таблиц осталась практически та же, только клиентская часть переписывалась.
С уважением.