web-dev-qa-db-ja.com

Accessデータベースは読み取り専用で開きます

Mdbデータベースを作成して保存しました。

変更したいのですが、ReadOnlyなので何も変更できません。

Access 2007で開かれたAccess 2000ファイルです。

どうすればこれを変更できますか?

9
Satch3000

他の誰かがデータベースを開いている場合は、データベースを閉じるように依頼してください。データベースが完全に閉じられなかった(アクセスまたはコンピューターがクラッシュした)場合は、ファイルを圧縮して修復してみてください。

また、ファイルを開いたり、読み取り専用の状態にしたりすると、そのような「スタック」が発生する可能性があることにも気づきました。だからこれを試してください:

  1. オープンアクセス、ただしデータベースなし
  2. 問題のファイルを開きますが、明示的に読み取り専用モードで開きます(「開く」ボタンは実際にはドロップダウンボタンです。ボタンを使用して読み取り専用で開きます
  3. ファイルを閉じます(Accessは閉じます)
  4. ファイルを再度開きますが、通常どおり開きます。

それがバグなのか機能なのかはわかりませんが、多くのユーザーを苛立たせています。

12
Steve Mallory

注意すべきもう1つのことは、誰かがファイル共有を読み取るためのアクセス権を持っているが、ディレクトリに書き込むことができない場合です。データベースを誰かに対して読み取り専用にすることは問題ありませんが、(ODBC接続の使用を含む)がそれを読んだことがある場合、彼らができるようにディレクトリに対する書き込み権限が必要であるようですロックファイルを作成します。

データベースにアクセスしたユーザーがディレクトリに書き込めなかったため、ファイル共有でデータベースが読み取り専用にロックされる状況に遭遇しました。これをすばやく修正する唯一の方法は、ファイルを持っている人を確認して開始できるストレージチームへの電話でした。

5
Alex

空のフォルダーを作成し、.mdbファイルをそのフォルダーに移動します。そこから開いてみてください。私はこの方法で試してみましたが、うまくいきました。

4
Tchilumba Mera

不足している参照がないことを確認します。これを行うには、データベースウィンドウに移動し、[モジュール]、[デザイン]の順にクリックし、[ツール]メニューから[参照]を選択します。または、コンパイルを実行して、完全にコンパイルされるかどうかを確認します([デバッグ]メニューに移動し、[コンパイル]を選択します)。 Microsoft Office 11.0 Object Library。 [ツール]メニューから[参照]をもう一度選択し、参照がチェックされているかどうかを確認して、「MISSING:」と言います。リストから別のバージョンを選択できる場合もあります。11.0がない場合は、バージョン12.0を探して再コンパイルします。それは通常私にとってはトリックです。

0
Elwood Herring

OPはデータベースの最初の作成者であり、おそらく単純なデータモデルを作成しましたが、より複雑なシステムで同様の動作を経験しました。私のシナリオでは、メインの.mdbファイルは、ユーザーによる読み取り/書き込みアクセス権を持つネットワーク共有の場所にありました。 .mdbファイルは、別のネットワークロケーションにある別の.mdbファイルのテーブルを参照しました-ユーザーは適切なアクセス権を持っていませんでした。

同様の問題を解決するためにこの投稿を閲覧している他の人は、リンクテーブルのパスとアクセスを確認してください。

リンクテーブルを確認するには...(Access 2010を想定)

  1. データベースを開く
  2. リボンツールバータブの[外部データ]をクリックします
  3. リボンツールバーボタンの[リンクテーブルマネージャー]をクリックします
  4. リンクテーブルへのパスを特定する
  5. リンクテーブルマネージャーで識別されたパスへの適切なセキュリティクリアランスを確認します-ODBC(つまり、Oracle、DB2、MySql、PostGRESなど))ソースにアクセスする場合、データベースの資格情報とドライバーを確認します
0
barrypicker

共有ドライブへのアクセスレベルを確認してください。共有ドライブへのアクセスが読み取り専用の場合、ファイルは読み取り専用形式で開きます。

0
Kiran

私の場合は、Accessを開く前に開始したバックグラウンドプロセスがバックアップされていたためです。バックアップの開始時にデータベースが開いていれば、通常は問題ありません。

0
Rob Sedgwick

これの主な理由は、データベースがどこかで開いているときです。

これは、他の多くの人がすでに言っているようにかもしれません:

  • どこかで適切に閉じられていない
  • どこかですでに開いています

最近、バージョンが違っても同じ問題があったので、その理由を探し始めました。

私の場合、データベースのデータを照会するExcelファイルがありました。

データベースの前にExcelファイルが開かれている場合、アクセスするとこのエラーが発生します。

結論:

データベースに関連するすべてのファイル/接続を確認します。開いているODBC接続またはExcelで使用されているクエリ(私の場合)は、mdbファイルを開いて読み取り専用にします。

0
davejal

私のPCでは同じ問題がありましたが、それはプロパティ->セキュリティでファイルの所有権を持っていなかったためです...

0
Sam