dポイントプレゼントキャンペーン実施中!

Windows2000+ACCESS2000を使用しています。

ネットワーク接続していない端末でACCESSのファイルを開こうとすると、「ほかのユーザが同じデータに対して同時に変更を試みているので、プロセスを停止しました」というメッセージが表示され、開くことが出来ません。

もともと別の端末(同環境)のバックアップファイルなのですが、最後にバックアップした際、別端末のハードディスクがクラッシュ寸前だったようです。

中途半端にコピーされてしまったせいでしょうか。

なんとか開く方法を教えてください。お願いします。

A 回答 (7件)

申し訳ないです。


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

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

お礼日時:2003/12/20 23:31

単純にコピーしたDBは開けませんか?



XXX.mdb->(コピー)->XXXコピー.mdb

この回答への補足

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

補足日時:2003/12/20 16:12
    • good
    • 0

このメッセージが出る場合には、該当のテーブル上のレコードが破損していると思われます。


しかし、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"

この回答への補足

いろいろな方法を教えてくださってありがとうございます。

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

補足日時:2003/12/20 15:33
    • good
    • 1

可能性としては、


テーブルの一部のレコードが破損しているのでしょうね。
DBが開かなくては修復できる可能性は無いです。

何らかの方法でDBが開けば、テーブルの破損しているレコードを見つけ、そのレコードだけ一旦メモ帖などにコピーしておいてから、そのレコードを削除し、メモ帖にコピーしたレコードに「error」と表示された部分を削除してから
DB上のテーブルに追加貼り付けすればOKです。

まずはDBをなんらかの方法で開く手立てを探さねばなりません。
    • good
    • 1

よくありますね。


いろいろ試す方法があります。
まずは、正確に状況を把握するところからですね。

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

この回答への補足

状況を報告します。

1.同じメッセージが出てプロセスが停止します。
2.単体で動きます。
3.実行形式ではありません。
4.レプリカにはなっていません。
5.制限はかけていません。
6.ほかのDBに対してリンクはしていません。
7.マクロは走らせていません。

どのような対処方法がありますでしょうか。ちなみに、右クリックでアプリケーションから開こうとした場合、メッセージウィンドウではなく、イルカが同じメッセージを告げています。

補足日時:2003/12/18 20:29
    • good
    • 0

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

    • good
    • 0
この回答へのお礼

回答ありがとうございます。

同じく、エラーメッセージが出てきてプロセスが停止してしまいました。

お礼日時:2003/12/18 13:01

可能かどうか判りませんが、試してみるのでしたら、バックアップを取っておいてから、データベースの修復を行ってみる、最適化を行ってみると、破損しているかどうかのメッセージが出ると思いますので、破損していなければ、別のデータベースを作成して、テーブル・クエリー・フォーム・レポート・マクロ・モジュール等、全てをインポートして取り込んで開いてみるとか・・・


でも、不完全なバックアップに終わったように思いますね
もう一つの可能性は、ウィルス対策ソフトが、勘違い動作をして妨害してしまったために、バックアップが完全に終わらなかった可能性もありますね
    • good
    • 0
この回答へのお礼

さっそくの回答ありがとうございました。

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

お礼日時:2003/12/18 12:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す