• 締切済み

MS Access 2000でデータベースファイルがメモリ不足で終了出来ません

経緯は下記のとおりです。 http://okwave.jp/kotaeru.php3?q=2215497 で、#2の補足にあるとおり、終了時に「メモリが不足しています」と出てしまいます。 もし、自己解決できない場合、知り合いに依頼しようと思っているのですが、参考までにこういったトラブルを専門業者に依頼するとおおよそどの程度の費用が必要なのでしょうか? 業者に依頼するつもりは今のところは無いのですが、知り合いに依頼する際、無料では頼めないので御礼として支払う対価の参考にしたいと思っていますので・・・。 よろしくお願いいたします。

みんなの回答

  • KAERU_VXV
  • ベストアンサー率60% (18/30)
回答No.4

#3補足への回答です。 (1)ldbファイルが残っているのかもしれません。 Access「***.mdb」を開くと「***.ldb」が自動作成され、「***.mdb」を閉じると「***.ldb」は自動的に削除されます。 強制終了した場合「***.ldb」が残ったままになる事があります。 「***.ldb」が残っていると「***.mdb」が開かなくなります。  YouyouさんのAccess「***.mdb」を閉じた状態で、「***.mdb」が保管されているフォルダの中を見ます。  (ショートカットの置かれたフォルダではなくて、ショートカットから呼んでいる本体の方です。)  「***.ldb」が存在するようでしたら「***.ldb」を削除します。  これでまた「***.mdb」は開くようになると思います。 (2)データベースの復旧について  以前の補足で記載をみると、バックアップからマクロを戻すことが  出来たようですが、バックアップがあるのであれば、バックアップの  方に乗り換える事は可能ですか?   今のDBとバックアップとで大きく異なるとかでなければ今のDBを  修復するのは諦めてバックアップを戻して使うのも一つの手です。

Youyou
質問者

お礼

色々ご教示頂き、ありがとうございました。 実は在宅ワーカーの方に一連の作業を委託する方向で話が始まりかけています。 でも、今回の件で少しだけ解ったような気がします。

Youyou
質問者

補足

色々ご教示頂き、ありがとうございます。 まず、(1)ですが、.ldbファイルはありませんでした。どうすればいいでしょうか? (2)ですが、バックアップのほうに乗り換えるのは可能です。 最悪はそれも選択肢のひとつにしたいと思います。

  • KAERU_VXV
  • ベストアンサー率60% (18/30)
回答No.3

#2への補足 >タイトルバーに「Microsoft Visual Basic」と出て、 >「メモリが不足しています」と出るようになってしまいました。 >そこでOKをクリックすると、別窓で「Microsoft Visual Basic」が >起動し、それを「×」で閉じようとすると「このコマンドを使うと >デバックは中断します」と出て、最終的には強制終了させないと終了 >できません。 「×」で閉じる前に今開いてるMicrosoft Visual Basicのモジュール名とプロシージャ名を書き留めます。  (1)モジュール名は窓左上の[******(コード)]の「******」です。  (2)プロシージャ名は窓右内側すぐのプルダウンに書かれた文字です。 DBのモジュールの中に(1)のモジュール名を探し、コレをデザインで開きます。MicrosoftVisualBasicの窓が開きます。(※1) MicrosoftVisualBasicの窓が右内側のプルダウンから(2)のプロシージャを選択します。 (2)のプロシージャを#2の回答に書きました方法(空白行を削除など)で対処して行きます。 ※1 DBが開いていない場合は、 メニューの[ウィンドウ]→[再表示]でDBを表示して下さい。

Youyou
質問者

補足

>最終的には強制終了させないと終了 >できません。 これを繰り返し続けたことが悪かったのか、今朝いつものようにショットカットから開こうとすると、 「問題が発生したため、Microsoft Access for Windowsを終了します。ご不便をおかけして申し訳ありません。」 「作業途中であった場合・・・以下省略」 どうすればいいでしょうか? コロコロ事情が変わって申し訳ありませんが、よろしくお願いいたします。

  • KAERU_VXV
  • ベストアンサー率60% (18/30)
回答No.2

 モジュールのコード行数が多くなると処理実行中に「メモリが不足しています」とメッセージが表示されます。  マクロ「基本」から読んでいるプロシージャのどれかが行数が多すぎるために上記メッセージが表示されるのではないかと思います。 「Microsoft Visual Basic」画面が開くとの事ですので、開いたところのプロシージャを見てみて下さい。 行数を減らす方法としては  (1)不要な空白行はなくす。  (2)コメント行を削除する。   コメント行には残しておきたい物もあるかと思いますので、   必要ないものを少し削除しテストする手順で、徐々に行を   削って行く事をお勧めします。  (3) (1)(2)でもダメなら、外出しに出来る部分を別プロシージャして呼ぶ。   これは初心者の方には厳しいかもしれません。 (1)、(2)ともに行を削除したらコンパイル→上書き保存→再実行の手順でテストしてみて下さい。

Youyou
質問者

補足

>開いたところのプロシージャを見てみて下さい。 どうやって見るのでしょうか? 補足、お願いします。

noname#182251
noname#182251
回答No.1

何となく mdb ファイルが壊れているように思われます。取り敢えずの対策はMS Accessの ツール/データベースユーティリティ/最適化/修復 をかけることでしょうか。これで駄目な場合はテーブルやモジュールを一つずつインポートして. . . .みたいな作業になります。これにどれほど時間が掛かるか一概に言えないので費用も見積もりがたいところです。 「一時間××円で上限○○時間まで」みたいな取り決めでは如何でしょう。

Youyou
質問者

補足

ありがとうございます。 最適化/修復は前回の質問の際には何度か試みたのですが、NGでして、バックアップファイルのマクロをインポートして起動できるようになったのですが、それが出来るようになったら、今回のような結果になってしまいました。 一応念のため、再度、最適化/修復を試みています。結果はまだ判りません。 ちなみに一時間××円、の××はいくらくらいが宜しいでしょうか?

関連するQ&A