• 締切済み

ACCESSの最適化でエラー発生

教えてください。 ACCESSのDBを最適化したら、DB内のテーブルにMSysCompactErrorというテーブルができ、中身をみると以下のようなメッセージが入っていました。ここ1~2年問題なく、週に1回バックアップを取るときに最適化してきましたが、こんなエラーは初めてです。最適化する前のDBのアクセスは問題なく動いてますが(全てのデータを使ってるわけではないですが)原因がわからず困っています。 DBのファイルサイズは最適化前449.5MB→後351.1MB(先週は418.664MBでした。)でレコード数は4,227,841件テーブル数3個です。 最適化で直接エラーメッセージが表示されたわけでなく、終わってファイルサイズがいつもより小さいので気がつきました。 ErrorCode ErrorDescription ErrorRecid ErrorTable -1003 フィールド 'Description' が見つかりませんでした。 xxTBL -1003 フィールド 'Description' が見つかりませんでした。 xxTBL -1611 フィールド 'Description' が見つかりませんでした。 xxTBL -1003 フィールド 'Description' が見つかりませんでした。 xxTBL -1003 フィールド 'Description' が見つかりませんでした。 xxTBL -1003 フィールド 'Description' が見つかりませんでした。 xxTBL -1003 フィールド 'Description' が見つかりませんでした。 xxTBL -1611 フィールド 'Description' が見つかりませんでした。 xxTBL -1003 フィールド 'Description' が見つかりませんでした。 xxTBL -1611 フィールド 'Description' が見つかりませんでした。 xxTBL -1003 フィールド 'Description' が見つかりませんでした。 xxTBL -1605 フィールド 'Description' が見つかりませんでした。 xxTBL

noname#20768
noname#20768

みんなの回答

noname#102878
noname#102878
回答No.1

ファイルが壊れたのかもしれませんね。 まずはテーブル、フォーム、クエリ、マクロ、モジュールなどを新規MDBに移してみたらどうでしょうか。

noname#20768
質問者

お礼

ありがとうございます。ご返事遅れてすみません。 初めは、DB本体は問題なく更新でき、検索表示もできていたので、ACCESSの最適化が問題かと思って質問しました。 ご回答の ファイルが壊れたのかもしれませんね とのご指摘で、過去の状況をまずチェックしました。 1/16のバックアップは問題なし。1/19のデータ更新を再実行した後のDBはやはり発生。その後のデータ更新も同じでした。 別の検索をしてみると、偶然あるキーでエラーが発生(フィールドサイズを超えている)したので、DBを直接みると確かに、 キーのエリアに不正な文字が入っていました。ファイルが壊れているようです。 ACCESSのクエリーでキーの条件を指定しても不正なレコードを含んで表示されます。 (どうも、インデックスは正しいがデータエリアが壊れているのでは?) バックアップ機が有るので、そちらで1/19のデータ更新を再実行してACCESSの最適化をするとこれはうまくゆきました。 問題のパソコンは、今月自作したもので、M/BがABITのAN7、CPUはAMD3200+、メモリー512MB×2、 そしてDISKが日立のS-ATA160GB×2でオンボードのRAID0です。 正確な記憶がないのですが、ちょうど、17、18日の土日にセットアップして、このマシンを切換えたのが19日だったようです。 ひょっとして、RAIDが問題有るのかと推定して、このパソコンのIDEに接続している単体のDISKにドライブ内容を移し、 再度実行してみると、うまくゆきました。(最適化でエラーも出ませんし、壊れていたデータも正しく入っています。) 同様に処理するDBが他にもあるので、調べたところファイルサイズの大きいものにエラーが発生しており、 同様に再実行して復旧できました。(他のファイルサイズの小さいものはエラーは有りませんでした。) 障害の発生箇所はほぼRAID0に関連する部分と判明しましたが、私の設定が悪いのか、機器が悪いのか特定できません。 とりあえず、原因の特定と代替え策での対応ができましたのでご報告致します。 高性能を求めての自作ですが、データの信頼ができないものは使い物になりません。 私の実力ではこれ以上の追求は困難ですが、このマシンが無駄にならないようもう少し解決策を考えてみたいと思います。 どうもありがとうございました。

noname#20768
質問者

補足

追伸) もう一枚RAID付きM/Bがあり、修理から戻ったので実行してみました。(こちらのチップはPromise) こちらは問題が発生しなかったので、現在こちらを使用しています。 問題のM/Bは、今お休みしています。 ありがとうございました。

関連するQ&A

  • アクセス MSysCompactError

    MSysCompactErrorと言うテーブルがいつの間にか作成されていたのですが なんでしょうかこれは。 中身は ErrorCode ErrorDescription ErrorRecid ErrorTable -1611 フィールド 'Description' が見つかりませんでした。 MSysObjects となっています。 VBAでのエラーでしょうか?

  • Accessのデータについて

    Accessについて質問です。 フィールド数が250程のテーブルのフィールドサイズを変更すると 保存の際に定義されているフィールドが多すぎますとエラーになります。 なぜフィールドサイズを変更しただけなのにフィールドが増えたことになるのですか?(このエラーは最適化をするとでなくなります。) また、フィールドサイズを変更して保存するだけでAccessのファイルサイズが大きくなるのはなぜですか?

  • アクセスが重い!!

    アクセス超初心者です。 フィールド数12、レコード数100程度のファイルがあります。非常に少ないレコード数なのですが、ファイルの重さは200MBです。 一体何が原因か分からなかったので、テーブル、クエリなど、中にあったものすべてを削除してみたのですが、ほぼ全くファイルのサイズが変わりません。 他の似たようなファイルでは、レコード数が1000以上あっても2MB程度の重さです。 意味のよく分からない質問だとは思いますが、よろしくお願いいたします。 アクセス2002です

  • Access2002でデータのインポートで悩んでいます。

    Access2002を初めて使います。 ファイルメーカーで固定長のデータ出力が出来ないので ファイルメーカーのデータを一旦 DBF形式で吐き出して Access2002に取り込みました。 件数は20万件ほどで、フィールドの数は20ほどです。 インポートは成功して、テーブルの作成はできましたが 固定長のフィールドサイズで出力するためにフィールド サイズの変更を行おうと考えています。 例えば1バイトのデータサイズを14バイトに変更して フィールド定義を保存しようとした場合に、メモリ エラーを起こしました。 1フィールドのデータを1バイトを14バイトに拡張した だけで、こんなエラーが起きるとは今まで思っていなかったので、こんなしょぼいとは思っていませんでした。 Access2002って負荷の多い処理には向いていないのでしょうか? 後からフィールドのサイズの変更を行うとこのようなエラーが発生するので、あらかじめフィールド定義だけを行ったテーブルを作り、そこに流しこむ方法を考えていますが、その方法がわかりません。 もし、その方法があればそれで解決しよいと考えています。 ちなみにマシンは WindowsXP Proでメモリは3Gで ハードディスクの空き容量は1G残っています。 ファイル自体は20MBほどしかありません。 これで、メモリエラーが出るなんて信じられません。

  • ACCESS2000「定義されているフィールドが多すぎます。」のエラーについて

    いつもお世話になっております。 (1)WINXPでACCESS2000SR-1を使用しています。 (2)テーブルのフィールド数が現在248個使用し、限界の255以内です。 (3)データ型(テキスト)のフィールドサイズを小さくしたほうが 処理速度やメモリを節約できると聞き フィールドサイズを50から20にさげたところ 「定義されているフィールドが多すぎます。」というエラーメッセージ がでました。 以前もフォームを入力しているときに、上記のメッセージがでて 途中で止まったことが多々あります。 (4)テーブルのデザインビューのフィールドプロパティのコメントにはフィールド名は64文字以内と書かれています。 ヘルプの「名前付けの規則」にはフィールド名は64バイト以内にとかいてあります。 今回のフィールドには、英数ひらがな漢字をつかって40文字近くで名前を付けてあり、今まで使用してきました。 今回のエラーは、(2)(4)が関係しているのでしょうか? 宜しくお願い致します。

  • ExcelをAccessにペーストエラー

    Access初心者です。 Excelデータを(知人が作った)Access2000のテーブルにペーストしようとしたら以下のエラーメッセージがでました。 「指定されたデータ量がフィールドサイズを超えています。データ量を減らし、挿入または貼り付けを行ってください」 以下のことを試してみました。 (1)Excelデータを全て値にした(数式を値コピーした) (2)Accessのテーブルをデザインビューで開き、フィールドサイズが大きそうなフィールドの文字数をテキスト型255文字まで広げた(もともとメモ型で設計されていましたが、それでも同じエラーでした) (3)Excelのセル内の文字数を60文字くらいまでに削除(データ区切りで)しました どうすればこのエラーを解消できるでしょうか?? ご存知の方がいらっしゃいましたら教えてください!!(助けてください~。。。納期が。。。。泣)

  • access で「指定したフィールドが多すぎたため、・・」エラーが出ます。

    こんにちは、 ACCESS2002でレポートを作ろうとしていますが、 「指定したフィールドが多すぎたため、フォームまたはレポートを作成できませんでした。指定するフィールドの数を減らして再度実行してください。」というエラーが出ます。 3つのテーブルからデータを持ってくる。 テーブルはリレーションを持っている。 フィールド数が50もないですし、また以前同じような作りのレポートを作ったときは問題がありませんでした。 上記の事で何かお分かりの方がいましたら教えてください。よろしくお願いします。

  • Accessのテーブル内のフィールド数

    教えて下さい。 Access2003(2007)では、テーブル内のフィールド数が最大255となっていますが最大フィールド数255以上ある、Accessと同じようなものはあるのでしょうか?(OpenofficeのBase等) 他DBからテーブルをリンクテーブルで貼り付けているのですがフィールド数が255以上あり取り込み先のAccessではフィールド数をすべて表示できない状態です。 よろしくお願いします。

  • Access2003 コントロールの(?)エラーメッセージ

    Access2003 コントロールの(?)エラーメッセージ excelからインポートしたデータでテーブルを作り、そこから、今後もデータを増やしていけるようにフォームを作ろうとしています。 まず、オートフォームでフォームを作りました。 データの中に「カテゴリー」を表示するフィールドがあり、そこはフォーム入力時にプルダウンで選んで登録できるように、コンボボックスを使ってカテゴリーフィールド(コントロール)を作りなおしたところ、「例えば数値型のフィールドに文字列を挿入しようとした」というようなエラーメッセージが出ます。 このフィールドは元からテキスト値が入っていたところで、プルダウンで選べるようにしたカテゴリーリストのテーブルの方もテキスト値で入力しています。 なので、このエラーメッセージが「例えば」と言っているのと全く同じエラー(数値型のフィールドにテキスト値を入れる)がでているわけではないとは思うのですが、他に何が悪のいかがわかりません。 どこをどうしたらいいのでしょうか?

  • Access への接続で・・・

    .NET でAccess接続するために、OleDbAdapter で SQL文を生成したのですが、Select文しか生成されず、「データアダプタを構成中にエラーが発生しました。」というエラーがでます。ただ、フィールド数の少ないテーブルなら問題ないのですが、フィールドが250を超えるテーブルだと上のようになってしまします。もしかしてフィールドの数制限なんてあるんでしょうか?教えてください。

専門家に質問してみよう