База данных Access открывается только для чтения

Я создал базу данных mdb и сохранил ее.

теперь я хочу изменить его, но он говорит, что он только для чтения, поэтому я ничего не могу изменить.

это файл access 2000, открытый с access 2007.

Как я могу изменить это, пожалуйста?

9 ответов


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

Я также заметил, что если файл открыт или помещен в состояние только для чтения в любое время, он может "застрять". Поэтому попробуйте следующее:

  1. открыть доступ, но нет базы данных
  2. откройте файл, о котором идет речь, но явно откройте его в режиме только для чтения ("открыть" кнопка фактически выпадающем кнопку. Используйте кнопку, чтобы открыть только для чтения
  3. закройте файл (но не Доступ)
  4. откройте файл еще раз, но откройте его нормально.

Не уверен, что это ошибка или функция, но я видел, как это расстраивает многих пользователей.


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

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


создайте пустую папку и переместите ее .MDB файл в эту папку. И попробуй открыть его оттуда. Я попробовал, и у меня получилось.


alos проверьте уровень доступа к общему диску. если доступ к общему диску доступен только для чтения, файл откроется в формате только для чтения.


проверьте, нет ли отсутствующих ссылок - для этого перейдите в окно базы данных и нажмите "модули", затем "дизайн", затем выберите меню "Инструменты", а затем "ссылки". Или попробуйте выполнить компиляцию и посмотреть, полностью ли она компилируется (перейдите в меню "отладка", затем выберите "компиляция") - это может рассказать вам о недостающей ссылке, например, библиотеке объектов Microsoft Office 11.0. Снова выберите ссылки в меню " Сервис "и посмотрите, отмечены ли какие-либо ссылки и скажите"отсутствует:". В некоторых случаях можно выбрать другая версия из списка, если отсутствует 11.0, найдите версию 12.0, а затем перекомпилируйте. Обычно это помогает мне.


в моем случае это было потому, что он поддерживал мой фоновый процесс, который начался до того, как я открыл доступ. Обычно это не проблема, если база данных открыта при запуске резервного копирования.


хотя OP является первоначальным автором базы данных и, вероятно, создал простую модель данных, я испытал подобное поведение в более сложной системе. В моем случае главное .mdb-файл находился в сетевом хранилище с доступом пользователя на чтение / запись. Этот.mdb-файл ссылается на таблицы в другом .mdb файл в другом сетевом расположении-где пользователь не имел надлежащего доступа.

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

для проверки связанных таблиц...(предполагается, что к 2010)

  1. открыть базу данных
  2. нажмите вкладку панели инструментов ленты "внешние данные"
  3. Нажмите кнопку панели инструментов ленты "связанный менеджер таблиц"
  4. определить пути к связанным таблицам
  5. проверьте правильность доступа к путям, указанным в связанной таблице менеджер-при доступе к ODBC (например, Oracle, DB2, MySql, PostGRES и т. д.) источники, проверка учетных данных базы данных и водители!--8-->

на моем ПК у меня была такая же проблема, и это было потому, что в свойствах -> безопасность у меня не было права собственности на файл...


основная причина этого заключается в том, что база данных открыта где-то еще.

Это может быть как уже говорили многие другие:

  • не закрываются должным образом, где-то
  • уже открыт где-то

когда недавно у меня была такая же проблема, хотя и разные версии, я начал искать причину.

в моем случае у меня был файл Excel, который запрашивал данные из базы данных.

в случае, если файл Excel открывается перед базой данных, access выдаст эту ошибку.

вывод:

проверьте все файлы / соединения, связанные с базой данных. Открытое соединение ODBC или запрос, используемый в excel (мой случай) откройте файл mdb и сделает его только для чтения.