文書番号: 295234 - 最終更新日: 2005年8月18日 - リビジョン: 4.2

Access ファイルを最適化すると NTFS アクセス許可がリセットされる

お知らせお使いのオペレーティング システムには適用しない情報が含まれている場合があります。
この記事は、以前は次の ID で公開されていました: JP295234
難易度 : 中。基本的なマクロ、コーディング、相互運用性に関する知識が必要です。

この資料は Microsoft Access データベース (.mdb) および Microsoft Access プロジェクト (.adp) について記述したものです。

目次

すべて展開する | すべて折りたたむ

現象

NTFS ファイル システム パーティション内のフォルダにある Microsoft Access データベースまたは Access プロジェクトを最適化すると、Access データベース ファイル (.mdb) または Access プロジェクト ファイル (.adp) に対してカスタマイズしたアクセス許可がリセットされます。

また、最適化された Access データベース ファイル (.mdb) または Access プロジェクト ファイル (.adp) を開こうとすると、以下のエラー メッセージのいずれかが表示される場合があります。
  • ファイル '<fullPathToFile>' を開くことができませんでした。ほかのユーザーによって排他的に開かれているか、データを見る権限がありません。
  • Microsoft Office Access データベース ファイル '<fullPathToFile>' が見つかりません。

    指定したパス名とファイル名が正しいかどうかを確認してください。

原因

最適化処理では、元の Access データベース ファイルまたは Access プロジェクト ファイルを最適化すると、最適化後のファイルは必ず新規ファイルになります。新規に作成されたファイルには、元のファイルとは異なる NTFS のアクセス許可が継承されます。継承される NTFS アクセス許可は、ファイルの最適化に使用する Access のバージョンによって異なります。

Access 2000

Microsoft Access 2000 では、新規に作成されたファイルは、現在ログインしているユーザー アカウントに対応した TEMP フォルダのデフォルトの NTFS アクセス許可を自動的に継承します。

現在ログインしているユーザー アカウントに対応する TEMP フォルダのパスを確認するには、コマンド プロンプトで Echo %TEMP% と入力します。

: デフォルトでは、TEMP フォルダのパスは C:\Documents and Settings\<UserAccountName>\Local Settings\Temp です。<UserAccountName> には、現在ログインしているユーザー アカウントの名前が入ります。

Access 2002 または Office Access 2003

Access 2002 または Office Access 2003 では、新規に作成されたファイルは、Access データベース ファイルまたは Access プロジェクト ファイルの親フォルダのデフォルトの NTFS アクセス許可を自動的に継承します。

回避策

この問題を回避するには、実行している Access のバージョンに応じて、次のいずれかの方法を使用します。

Access 2000

コンピュータのすべてのユーザー アカウントに対応する TEMP フォルダに、適切なアクセス許可を割り当てます。

Access 2002 または Office 2003

Access データベース ファイルまたは Access プロジェクト ファイルの親フォルダに、適切なアクセス許可を割り当てます。

詳細

現象の再現手順

: 以下の手順では、Microsoft Windows 2000 ベースのコンピュータまたは Microsoft Windows NT 4.0 Service Pack 6 ベースのコンピュータで Access 2002 を実行していることを前提としています。また以下の手順では、NTFS パーティションの作成と、NTFS パーティション内のファイルに対するファイル レベルのアクセス許可の設定について熟知しているユーザーを対象としています。
  1. Access を起動します。
  2. [ファイル] メニューの [新規作成] をクリックします。
  3. [新しいファイル] 作業ウィンドウの [空のデータベース] をクリックします。
  4. [新しいデータベース] ダイアログ ボックスで、NTFS パーティション内のフォルダに移動します。
  5. 新しいデータベースの名前を入力し、[作成] をクリックします。
  6. データベースを閉じ、Access を終了します。
  7. Windows エクスプローラを起動し、手順 5. で作成したデータベースのあるフォルダに移動します。
  8. データベースをクリックし、[ファイル] メニューの [プロパティ] をクリックします。
  9. [プロパティ] ダイアログ ボックスの [セキュリティ] タブをクリックします。
  10. 任意のアカウントのアクセス許可をカスタマイズし、[OK] をクリックします。

    たとえば、テスト用のユーザー アカウントを追加して、そのユーザー アカウントにフル コントロールのアクセス許可を付与します。
  11. Access を起動して、手順 5. で作成したデータベースを開きます。
  12. [ツール] メニューの [データベース ユーティリティ] をポイントし、[最適化/修復] をクリックします。
  13. データベースを閉じ、Access を終了します。
  14. Windows エクスプローラを起動し、手順 5. で作成したデータベースのあるフォルダに移動します。
  15. データベース ファイルをクリックし、[ファイル] メニューの [プロパティ] をクリックします。
  16. [プロパティ] ダイアログ ボックスの [セキュリティ] タブをクリックします。

    手順 10. でカスタマイズしたアクセス許可がリセットされていることが確認できます。

関連情報

NTFS パーティション、および Windows 2000 や Windows NT 4.0 でのセキュリティの使用の関連情報については、Windows 2000 または Windows NT 4.0 のマニュアルを参照してください。

関連情報

この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 295234? (http://support.microsoft.com/kb/295234/EN-US/ ) (最終更新日 2004-08-12) を基に作成したものです。

この資料は以下の製品について記述したものです。
  • Microsoft Access 2002 Standard Edition
  • Microsoft Access 2000 Standard Edition
  • Microsoft Office Access 2003
キーワード:?
kbprb KB295234
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"