• 締切済み

ACCESSファイルを開こうとするとプロセスが停止されてしまいます。

Windows2000+ACCESS2000を使用しています。 ネットワーク接続していない端末でACCESSのファイルを開こうとすると、「ほかのユーザが同じデータに対して同時に変更を試みているので、プロセスを停止しました」というメッセージが表示され、開くことが出来ません。 もともと別の端末(同環境)のバックアップファイルなのですが、最後にバックアップした際、別端末のハードディスクがクラッシュ寸前だったようです。 中途半端にコピーされてしまったせいでしょうか。 なんとか開く方法を教えてください。お願いします。

みんなの回答

  • onakagoo
  • ベストアンサー率45% (5/11)
回答No.7

申し訳ないです。 私の分かる範囲を越えたようです。 おそらく、これ以上の解析はオブジェクトを直接覗いて各種コントロール情報を手動で修復するレベルになるかと思われます。 お力になれなくてゴメンナサイ。

nezu3
質問者

お礼

色々と教えて下さってありがとうございました。 どうしても復活させなければいけないデータでしたので、焦ってしまい、しつこく質問してしまって申し訳ありませんでした。今後に活かさせていただきたいと思います。

  • onakagoo
  • ベストアンサー率45% (5/11)
回答No.6

単純にコピーしたDBは開けませんか? XXX.mdb->(コピー)->XXXコピー.mdb

nezu3
質問者

補足

No.5の補足その2をさせていただきます。 VBを使えるところに移動しまして、VB上から最適化をおこなってみましたら、「データベースの形式 <ファイル名> を認識できません。(Error 3343)」というエラーがでました。 この場合の原因としては、 ア)指定したファイル名が Jet データベースではない。 イ)指定したファイル名が、プリンタやコンソールなどのデバイス名。 ウ).MDB ファイルに無効なヘッダー情報や未定義の並べ替え順序がある。 エ)ほかのユーザーによってコミットが中断されているが、ロック ファイルが見つからない。 オ)コミット中に最大ページサイズの 2KB を超える長整数型 (Long)の値を書き込もうとした。 カ)データベースは破損している。データベースを修復して最適化してから、もう一度開いてください。 ということだそうです。

  • onakagoo
  • ベストアンサー率45% (5/11)
回答No.5

このメッセージが出る場合には、該当のテーブル上のレコードが破損していると思われます。 しかし、DB自体が立ち上がらないのは不可思議ですね!? DBを立ち上がる時にテーブルにアクセスしている可能性を考えたのですが、マクロは何も走っていないし、特に制限もかけていないとなると厄介ですね。 起動時にフォームを開くように設定していないのですか? DBが立ち上がらないと言うことは、インポートもエキスポートもリンクも不可能。 つまり、正規の方法で外部からのアクセスは不可能となります。 以下の修復方法でどうなりますか? 1.他のDBから該当のDBを指定して修復をかける。 2.DOS上からダイレクトにコマンドによる修復。 (スタートメニューのファイル名を指定して実行) C:\Program Files\Microsoft Office\Office\msaccess.exe XXX.mdb /repair 3.他のDBでVBAを作成しダイレクトに修復をかける。 DBEngine.RepairDatabase "XXX.mdb"

nezu3
質問者

補足

いろいろな方法を教えてくださってありがとうございます。 1.同じエラーメッセージが出てプロセスが停止しました。 2.ファイル名を指定して実行からも、DOSプロンプトからも、同じエラーメッセージが出てプロセスが停止しました。 3.とりあえず、Micorsoft DAO 3.51 Object Libraryを参照し、No.5で教えていただいた修復をしようとしたのですが、「実行時エラー'3251':この操作は、このタイプのオブジェクトには実行できません。」と出ます。いつもはVB上からMDBを操作しているため、VBAの使い方が今一わかっていないので、何かの指定し忘れでこのエラーが出ているのかもしれません。 4.No.6の単純にコピーした場合も同じエラーメッセージが出てプロセスが停止します。

  • onakagoo
  • ベストアンサー率45% (5/11)
回答No.4

可能性としては、 テーブルの一部のレコードが破損しているのでしょうね。 DBが開かなくては修復できる可能性は無いです。 何らかの方法でDBが開けば、テーブルの破損しているレコードを見つけ、そのレコードだけ一旦メモ帖などにコピーしておいてから、そのレコードを削除し、メモ帖にコピーしたレコードに「error」と表示された部分を削除してから DB上のテーブルに追加貼り付けすればOKです。 まずはDBをなんらかの方法で開く手立てを探さねばなりません。

  • onakagoo
  • ベストアンサー率45% (5/11)
回答No.3

よくありますね。 いろいろ試す方法があります。 まずは、正確に状況を把握するところからですね。 1.Shiftキーを押しながら該当DBをダブルクリックする(開く)とどうなりますか? 2.DBは単体で動くようになっているのですか? 3.mde(実行形式)ではないのですか? 4.レプリカになっていますか? 5.何かVBA上で制限をかけていますか? 6.テーブルのリンクをしていますか? 7.autoexecで立ち上げ時のマクロを走らせていますか?

nezu3
質問者

補足

状況を報告します。 1.同じメッセージが出てプロセスが停止します。 2.単体で動きます。 3.実行形式ではありません。 4.レプリカにはなっていません。 5.制限はかけていません。 6.ほかのDBに対してリンクはしていません。 7.マクロは走らせていません。 どのような対処方法がありますでしょうか。ちなみに、右クリックでアプリケーションから開こうとした場合、メッセージウィンドウではなく、イルカが同じメッセージを告げています。

回答No.2

MDB ファイルが壊れているようなので、ダメかもしれませんが、新しい MDB を作成して、新しい MDB にインポートしてみてはどうでしょうか。

nezu3
質問者

お礼

回答ありがとうございます。 同じく、エラーメッセージが出てきてプロセスが停止してしまいました。

回答No.1

可能かどうか判りませんが、試してみるのでしたら、バックアップを取っておいてから、データベースの修復を行ってみる、最適化を行ってみると、破損しているかどうかのメッセージが出ると思いますので、破損していなければ、別のデータベースを作成して、テーブル・クエリー・フォーム・レポート・マクロ・モジュール等、全てをインポートして取り込んで開いてみるとか・・・ でも、不完全なバックアップに終わったように思いますね もう一つの可能性は、ウィルス対策ソフトが、勘違い動作をして妨害してしまったために、バックアップが完全に終わらなかった可能性もありますね

nezu3
質問者

お礼

さっそくの回答ありがとうございました。 試そうとしたのですが、修復を行うために、該当ファイルを指定すると、残念ながら、同じメッセージが出てきてプロセスがとまってしまいました。

関連するQ&A