ACCESS2010の最適化が中断される

このQ&Aのポイント
  • ACCESS2003で作成したデータをACCESS2010で使用しています。問題なく使用できていたのですが、エラーが発生し、再度、エラーについて再登録し、不要なテーブルデータも削除しました。
  • 最後に最適化をしようと実行すると、初回にエラーメッセージが表示され、最適化が中断されました。データ自体共有フォルダに保存しているため、他のPC(ACCESS2003)でも同様に中断されます。データ容量が2GB近くあるため、原因がわかりません。
  • 不要なテーブルデータを削除したので、1.5GBくらいにはなるはずですが、いくつかの要因が問題を引き起こしている可能性があります。わかる方がいらっしゃいましたらご教授願います。
回答を見る
  • ベストアンサー

ACCESS2010の最適化が中断される

ACCESS2003で作成したデータをACCESS2010で使用しています。 問題なく使用できていたのですが、エラー(フォームやマクロが消去)が発生し、 再度、エラーについて、再登録し、不要なテーブルデータも削除しました。 最後に最適化をしようと実行すると、初回にエラーメッセージ(内容は不明)が表示され、 最適化が中断されました。 データ自体共有フォルダに保存しているため、他のPC(ACCESS2003)で、最適化しても 同様に中断されます。 データ容量が2GB近くあるため、それが原因なのか、もしくは他の要因なのかがわかりません。 不要なテーブルデータを削除したので、1.5GBくらいにはなるはずですが・・・ 申し訳ございませんが、わかる方がいらっしゃいましたらご教授願います。

質問者が選んだベストアンサー

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.2

最初の回答者の方と重複しますが 問題MDBを自身のPCにコピー。 Accessで空のMDB作成 (初期値はDatebase1.accdbになってますので拡張子をmdbに変更) (Access2003以前では使用しないのならばaccdbでも可) 空のMDBの、ファイル→オプション→カレントデータベース の名前の自動修正オプションのチェックは全て外す。 一旦MDBを閉じる。 再度開いて、リボンの外部データで問題MDBを全て、 この新規MDBにインポートする。 新規MDBでオブジェクト名が正しいか等、 VBAでは参照設定に参照不可になっているものがないかチェック。 その他諸々のチェック。 問題が無いのを確認したら、MDBを閉じる。 新規MDBのコピーを作成し(最適化の時に壊れる可能性を配慮) 新規コピーMDBを開いて最適化を試みる。 ■解決するかどうかの保証は出来ません。■ ※ファイルサイズが2GB近いならAccessの仕様の限界です。 テーブルにOLEオブジェクトの埋め込みでもしているのでしょうか? もし問題が解決したとしても、ファイルサイズが2GB近いのなら 早晩また問題が発生する可能性があると思います。 また、Accessからも警告メッセージが出ていたはず。 なお、ファイルを共有しているので 「閉じる時に最適化」のオプションにチェックは入れないように。

191022
質問者

お礼

回答ありがとうございました。 コピーして対応できました。

その他の回答 (1)

  • ShowMeHow
  • ベストアンサー率28% (1424/5027)
回答No.1

ローカルにコピーして、排他モードで開いていてやってみたらどうなりますか? どうしようもなければ、 テーブルを一個ずつ別のアクセスファイルにコピーして、コピー先で最適化して、、、 クエリ、フォーム、モジュールもコピーしていけば とりあえずのところはどうにかなるかもしれないけど、 そのサイズ、そろそろ他のDBを考えたほうが、、、 「だって、アクセスだし」ってのはこういうことなんだよね。

191022
質問者

お礼

回答ありがとうございます。 コピーして別ファイルを作成し対応できました。

関連するQ&A

  • Accessのマクロ

    Access2002で、「氏名(テーブル名:name)」と「日付<○月○日~○月○日>(テーブル名:date)」でレポート内容が検索できるのを作っています。 フォームに 氏名一覧、日付入力、検索ボタン、最新データの取り込みボタン を作っています。 「検索」の方は出来たのですが、「最新データ取り込み」をしようとすると、 『テーブル'name'は現在ほかのユーザまたはプロセスで使用されているので、ロックできませんでした』というエラーメッセージがでてきます。 「最新データ取り込み」ボタンに対してのマクロのアクションは、 オブジェクトの削除…テーブル/report テキスト変換…reportインポート定義 オブジェクトの削除…テーブル/name クエリを開く…name作成(テーブル作成クエリ) としています。 (「マクロの実行」で指定) フォームに表示されている氏名(name)を削除しようとしているために、このようなエラーメッセージが出ているのかとも思っていますが…。 フォームを閉じずに、「最新データ取り込み」ができないものでしょうか? ご教示の程、よろしくお願いします。

  • アクセスのフォームでタイマー機能を使うとエラー

    Win7 Ultimate アクセス2013でタイマー機能を使って夜中にデータをアップデートしています。 リンクテーブルAのデータをを全て消して、その後リンクテーブルBからデータを全てリンクテーブルAに追加する事をしています。データは200列で約10,000件あります。削除クエリーと追加クエリーをマクロに記してあります。 これをマクロで手動でやると何度やっても問題なく動きますが、フォームを開いておいてタイマーでマクロを動かすと、できる時があったり、マクロのエラーが出ていたり、ひどい時はリンクテーブルAのデータをを消して、その時点でエラーになっている時もあります。 アクセス2010、2013はトラブルが多々ありますので、Win Vista Ultimate アクセス2003SP3でも試してみましたが結果は同じでした。しかし2013に比べエラーの出る頻度ははるかに2003の方が少ないと思います。 2003も同じくマクロを手動でやればエラーは全く出ません。 このアクセスのフォームのタイマーは、使い物にならない物なのでしょうか。 簡単なもの(小さいテキストファイルをフォルダーAからフォルダーBに動かす)はタイマーでやっても一度もエラーは出ません。 ご意見をお聞かせ下さい。

  • accessについて教えてください

    データベースソフト【アクセス】のエラーメッセージについて教えてください 独学でアクセスを勉強しています。 アクセスのテキストを辿りながら売上管理のフォームを作成しました 3つのテーブルがありリレーションさせています (1)フォームで商品登録フォームをテーブルを元にオートフォームで作成しました フォームを閉じるボタンを設定し実行してみたところ。。。 【イベントプロパティに設定した式 クリック時 でエラーが発生しました:名前が適切でありません:終了_Click *マクロ名、ユーザー定義関数名、[イベントプロシージャ]以外の式が指定されています *関数、イベント、マクロの評価でエラーが発生しました】 以上のメッセージが表示されました テキストの解答とプロパティと設定は全て同じでした リレーションシップも参照整合性も設定は全て同じです (2)上記のエラーメッセージ以外に 上記と同じフォームから新しいデータを入力をしてみたらこちらもエラーメッセージが出ました 【リレーションシップを設定しているテーブルがあるためレコードを削除または更新ができません】 という内容です たまに出るメッセージなのですが これまではテーブルのフィールド名が違っていて、訂正すると新レコードの入力ができました 今回も色々確認してみましたが理由がわかりません アクセスを業務で使用したことがないためエラーの対処方法がわかりません ホームページや書店で色々探してみましたが理由がまったくわかしません 初心者な質問なのかもと思いますが お分かりのかたがいらっしゃればアドバイスお願いします

  • アクセス97のテーブルを直接いじれなくしたい

    アクセス97です。 NTにあるDBを複数人で共有して使用しております。 クライアントはWin-95とWin-2000です。 フォームでデータの読み書きはできるのですが、 ときどき、テーブルを直接覗いてデータ変更したり、削除する人が います。 更新日付が変わらなかったり、データが一部壊れたりして困っています。 テーブルのデータやクエリーやモジュールを直接いじれなくする方法は ないでしょうか? 現在、MDEファイルにしているので、フォームはいじれません。 表示オプションでテーブルは隠しモジュールにしています。 でも、知っている人は簡単に解除できますよね。 困った。 ワークグループをつくり、アクセス権を設定するのはやりたくありません。 以前、管理に多大の勢力を使った経験があるので。 何か簡単にテーブルやクエリーをいじれなくする方法はないでしょうか? よろしくお願い致します。

  • Access、マクロの最後に最適化を入れられる?

    Access2003を使用しています。 マクロの最後に最適化を組み込むことは可能でしょうか? マクロの内容は、 1、昨日のデータ抽出に使用した作業用テーブル内のデータを削除する 2、本日のデータをインポートしてくる 3、1で空にしたテーブルに、2のデータを追加クエリで流し込む 4、2でインポートしてきたデータ(テーブル)を削除する です。 この後、「5、データベースを最適化する」を入れてマクロを終わらせたいのです。 インポートしてくるテーブルは8個あり、1テーブルに20万を超すデータが入っているため、インポート、追加をやっているうちに、データベースの大きさが1,126,528KBにもなってしまいます。 この後、この大容量のテーブルを使って、大容量のテーブルを作成しているうちに・・・・データベースは更に大きくなってしまい困っています。 マクロの最後に「ここで一旦最適化」を入れられないでしょうか? このデータベースを使用するのは自分で使用するものでないため、「マクロ終了後ツールボタンで最適化する」ということが出来ません。 また、VBAはわからないので・・・出来ればマクロなどで対応できると助かります。 どなたか詳しい方、教えてください!

  • Accessフォームのファイル名を変更して・・・

    お世話になります。 WIN98でAccess2000を使用しています。 (Access初心者です) 仕事でAccessにデータ入力をすることになりました。 既存のフォームに入力していくのですが、前回の データが入っているのでデータを消去しなければなりません。 とりあえず、テーブルのほうでデータをすべて削除をしました。 今度は既存のテーブル、フォーム、クエリ、レポートのファイル名を「A」から「B」に変更をしました。 ですが、フォーム、レポートを開くとファイル名は「A」のままなんです。いろんなところを見たのですが 結局わからなくて困っています。 あとはどこを変更するのでしょうか? (初歩的なことでスミマセン) それと、ExcelからAccessのテーブルへ データをインポートして、テーブルには無事データが インポートされたのですが、フォームにはそのデータが 反映されていませんでした。 インポートしたデータをフォームでも見れるようにするにはどこをいじったら良いのでしょうか? 本を見ても検索してみてもこんな初歩的な質問は無く 本当にお恥ずかしい内容なのですが、 宜しくお願い致します。

  • アクセスの抽出を常に最新版にする

    アクセス2000を使用しフォームより入力したデーターを クエリにより抽出する作業をしていますマクロで 一旦クエリによりテーブルに保存したデーターを削除し 新たに抽出したデーターを保存する作業をしたのですが いちいちメッセージがでてくるのでこまるので イベントプロチャージャーにより処理をしたいのですが サンプルデーター等ありましたら教えていただけませんでしょうか 宜しくお願い致します

  • 関数エラーによるエクセルマクロの処理中断

    そんなにエクセルVBAが得意じゃないです。よろしく教示くださいませ。 セルにエクセル関数を設定し、マクロを働かせて使用しています。 セルに想定外のデータが入力されると、関数エラーを起こしてしまうのですが、 このエラーが発生すると、マクロも中断になってしまいます。 関数エラーが発生しても、マクロが中断しないような、マクロ命令って あるのでしょうか。 実は、マクロで想定外データのチェックをかけてるのですが、その想定外データが入力されると、 警告は発するのですが、関数エラーが発生し、マクロが中断してしまうのです。 マクロに組み込むべき、コマンドはあるのでしょうか。

  • Access2002のマクロ条件について

    WindowsXPでAccess2002を使用しています。 このたび、過去の方が作成されたAccessを修正することとなりました。 VBAを使用したものではない簡易なファイルですが、マクロの条件を変更しようとしても なかなかうまくいきません。どのようにすれば宜しいでしょうか。 ---------------- ≪現在の仕様≫ テーブル名:T#ZIP フォーム名:F#Select クエリ名:Q#Delete、Q#Import マクロ名:M#Create_Table (1)Access起動時(の設定)は「F#Select」というフォームが開く (2)下記マクロ「M#Create_Table」が実行される  マクロ1行目:下記条件のとき、マクロを中止する          [Forms]![F#Select]![CRTDATE]=Date()  マクロ2行目:テーブル「T#ZIP」のデータを削除するクエリ「Q#Delete」を実行する  マクロ3行目:テーブル「T#ZIP」にデータを追加するクエリ「Q#Import」を実行する ≪動き≫ 前提:「F#Select」の[CRTDATE]というフィールドには「T#ZIP」が更新された日が設定される その日初めてそのAccessを開くと、マクロにより削除クエリ~追加クエリが順番に実行された後、 フォーム「F#Select」が表示される。その後Accessを終了し、同日中に再度Accessを開いても マクロは実行されない --------------- 現在、追加するデータが多い場合、時間がかかりインポートが途中で失敗することがあるのですが 再度Accessを開いても既にインポート済みと判定されてしまい、自動的にはマクロは実行されない という課題があります。 インポートが失敗するとき、削除は完了しているため、テーブルデータは0件なので、 「その日に既にテーブルを更新済み かつ テーブルデータ件数が1件以上ある場合」 マクロを中止する、という条件を設定したいと思います。 そこで、マクロ1行目の条件欄に [Forms]![F#Select]![CRTDATE]=Date() And DCount("[T#ZIP]","*")>0 と記載したところ、その日最初のインポートはうまく行っている様子ですが、 マクロ終了後に突然Accessが終了したり、再度Accessを開いても「F#Select」が 全く表示されなくなったりと、うまくいきません。 バグというよりは、私の設定が悪いのだと思われますので、 ・フォーム[F#Select]の[CRTDATE]フィールドが Date()   かつ ・テーブル[T#ZIP]に1件以上でもデータがある 場合はマクロを中止する としたい場合の条件設定方法(入力内容)につきまして、どなたかおわかりの方 ご教示いただけますでしょうか。 何卒よろしくお願いいたします。

  • Access2007を同時に複数名で使いたい

    Access2007で検索用にデータベースを作って、共有したいのですが、どうしても他に開いていると、「ファイル"sq_fMain"を開くか、書き込むことができません。他のユーザーが排他的に開いているか、データの表示と書き込みを行う権限がありません。」というメッセージが出て、起動時に開くように設定したフォーム(フォーム名:Main)が開きません。 OKをクリックすると左側にオブジェクトは出てくるのですが、リンクではないテーブルは開くことができますが、他からリンクしているテーブルやクエリー(たぶん使用テーブルがリンクなため)開けません。 [Accessのオプション]-[詳細設定]の[既定の開くモード]は共有になっています。 テーブルは他のAccessからテキスト変換(毎日更新)したものなので、リンクにしておきたいのですが、 そこがいけないのでしょうか。わかる方がいたら教えてください。