お世話様になります。
まだmdbファイルの時代のaccessのフォームを使って、期間の売り上げ集計をしています。
具体的には
開始日 **/**/**
終了日 **/**/**
という二つのテキストボックスを設けて**部分に年月日を入力し、その期間の売り上げをサブフォーム上に表示するというものです。
これまでは、まったく問題なく動作していたのですが、
終了日のテキストボックスに、13/04/18、つまり、2013年4月18日以降の日付を入れると、
「エラー番号 3420」のマクロエラーが発生し、集計用のマクロに設定した再クエリが停止してしまいます。
2013年4月17日以前の日付ならば、まったく問題なく動くため、原因が突き止められません。
ここまで来て、いよいよ会社実務にも支障が出始め、困り果てて、質問させていただきました。
実は、accessでDBを作っていたのは既に何年も前で、今はただの利用者になっており、質問の仕方さえよくわからなくなっておりますが、ヒントになるようなことがありましたら教えていただければありがたいです。
どうぞ、よろしくお願いいたします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
1の関連コードと言うと、マクロの内容を記載すればいいのでしょうか?
・サブフォームのレコードソース。
-->サブフォームをデザイン表示しプロパティで確認。
・マクロ(VBA)のコード。
-->どこかに XXXXXXX.Requey のコードがあるはず。
レコードソースから不具合の引き金になっているテーブルが判明。
それを手掛かりに、問題の日付以後の全データを削除。
(もちろん、バックアップしておいて・・・)
先ずは、このテーブルの破損個所の修復テストでどうなるのか?
レコードソースのSQL文の変更と不具合との関係もテスト。
SELECT 列名 FROM テーブル名 WHERE 列名 BETWEEN 値1 AND 値2;
もしかしたら、 BETWEEN "#2013/09/09#" AND "#2013/0910#"
という書き方だとエラーは発生しないかも知れません。
2の停止コードをコメントアウトと言うのがどのような作業なのか?
XXXXXXX.Requey
↓
' XXXXXXX.Requey
Stop
実行コードをRem文に変更。
同時に Stop文も挿入。
この修正で、サブフォーム更新はストップします。
Stop文を含むVBAも表示されます。
ここで、{F9}を押して反応をみます。
また、その他のエラー回避策も試します。
【最初にやるテスト】
テスト1、問題なく動作していたバックアップで問題日付を試す。
これが一番確実で、しかも、真っ当なやり方です。
「不具合が発生したらバックアップに戻れ!」です。
テスト2、HDDとMDBの修復が終わったらテーブルの修正・復元です。
バックアップが利用できない場合は・・・。
問題の日付以後の全データを削除=>最適化/修復。
動くようだったら、必要なデータを少しづつ戻してテスト。
動かなかったら、テーブルの全データを削除=>最適化/修復。
動くようだったら、必要なデータを少しづつ戻してテスト。
PS、考え方。
(1)Accessのバージョンの旧さが原因。
(2)MDBの破損が原因。
現象からは(2)が有力そうですが(1)も視野に。
日付が"yyyy/mm/dd"形式でないこと、あるいは、関連テーブルの破損によりレコードソースの再取得でスタック領域を浪費。もって、エラーが発生。ということならば、(2)と(1)とを両睨み。などなどと考えています。
ご丁寧に。ご丁寧に。
本当にありがとうございます。
合間を見ながらの作業なので、どうしても時間が必要ですが、一つ一つ、ご指摘いただいたことで、まずは、自分でできるところをやってみて、改めてご指導を仰ぎたいと思います。
どうぞ、よろしくお願いいたします。
ありがとうございます。
No.1
- 回答日時:
【情報不足1・・・関連コード】
>再クエリが停止してしまいます。
せめて、停止に関連しているコードを公開。
でないと、憶測だけの世界に。
【情報不足2・・・テスト状況】
停止コードをコメントアウトして{F9}を押して見るとどうなるのか?
再クエリレではなくコードソースを再セットするやり方では?
まあ、もう少し、このようなテスト情報も公開。
でないと、憶測だけの世界に。
【今できる対応】
1、チェックディスク(スキャン)を実行。
2、Accessの修復/最適化を行う。
チェックディスク・・・mdbがあるディスクのプロパティで指示。
修復/最適化・・・ツール(T)-データベースユーティリティ(D)で実行。
情報不足のご指摘。。その通りで、お恥ずかしい限りです。
1の関連コードと言うと、マクロの内容を記載すればいいのでしょうか?
2の停止コードをコメントアウトと言うのがどのような作業なのか、これまた恥ずかしですがよくわかりません。
まあ、情けない話です。
とりあえず、ご提示いただけた、今出来る対応をやってみます。
その結果は後ほど報告いたします。
こうして書きながら、自分の無知に苦笑いしてしまいます(泣;;
まずは、ありがとうございます。
とにかく、やってみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessのフォーム上にレコード...
-
ACCESSのフォームからデータの...
-
Access2002 フォームを閉じるた...
-
Access2000 テキストボックス...
-
選択したチェックボックスのみ...
-
アクセスのフォームのビューが...
-
Accessで入力用全画面Formと検...
-
アクセスでのVLOOKUPの代わりに...
-
ACCESSで入力フォームをHTMLフ...
-
アクセス 0以外をカウントす...
-
フォームがクラシック表示にな...
-
access レコードソースを選択...
-
access2002でのパラメータ表示
-
Accessのフォームに表示...
-
オートシェイプのような作図入...
-
アクセスでテーブルの変更内容...
-
Access97VBAでのFilter方法
-
Accessのハイパーリンクのパス...
-
Mdbフォイルを違うバージョンの...
-
Access 別フォームへの再クエ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESSのフォームからデータの...
-
accessの自動更新処理をできな...
-
選択したチェックボックスのみ...
-
Accessのフォーム上にレコード...
-
アクセスのフォームのビューが...
-
ACCESSで入力フォームをHTMLフ...
-
アクセスでテーブルの変更内容...
-
アクセスでの項目追加について...
-
Access 別フォームへの再クエ...
-
「メソッドまたはデータメンバ...
-
アクセス 0以外をカウントす...
-
Access2002 フォームを閉じるた...
-
Accessフォームのテキストボッ...
-
帳票フォームに全レコードを表...
-
Accessのフォーム画面について
-
Accessのフォームに表示...
-
テキストボックス(アクセス)内...
-
Accessが不良です
-
Accessのフォームで作業領域を...
-
Access フォーム上でコンボボッ...
おすすめ情報