
現在、仕事でAccessを使用し始めましたが、イベントの発生するタイミングがわからなくて困っています。
「テーブルA」を元にした単純な帳票形式のフォームを作成し、そのフォームのレコードが1件更新(追加、変更)される度に、他のテーブルBの項目を更新する必要があり、VBでフォームのイベント「Form_AfterUpdate」に、テーブルBの更新内容を記述していますが、新規でレコードを入力しても、既存のレコードの変更を行っても、「Form_AfterUpdate」が実行されない様なのです。確認の為に、「Form_AfterUpdate」内にブレークポイントを設定していますが、ブレークする事も無く、テーブルBの更新もされていません。
ネット上で色々検索してみたのですが、結局見つけられずに、困っています。通常、レコードの変更時に、更新後処理が実行されない事ってあるのでしょうか?
No.1ベストアンサー
- 回答日時:
Q、通常、レコードの変更時に、更新後処理が実行されない事ってあるのでしょうか?
A、ありません。ただし、<Tab移動=カレントレコード>という設定であれば別です。
<Tab移動=カレントレコード>という設定でない場合。
1、不良セクタをスキャンして回復させてみる。
2、DB の最適化・修復をしてみる。
3、関数とかコードのコピペを無原則にしていないかを調べる。
大抵の不具合は、1と2で解消されます。
前回、コンセントを引っこ抜いてAccess を異常終了させた場合、1は有効です。
また、定期的にDB の最適化・修復をしないといけないのも Access の特徴です。
例えば、プロシージャを一度だけコピペしても不具合は発生しません。
だが、仮に順序を並び変えたりするとプロシージャの一切の動作は保証されない場合もあります。
これは、初期によく犯す過ちです。
先ずは、1、2、3を・・・。
Husky2007さん、早速の回答ありがとうございました。
教えていただいた方法の1~3を実行した所、1,2を実行した所までは、状況が変わらなかったのですが、3の方法で、Husky2007さんが意図されていた事とは違うかもしれませんが、とりあえず「Form_AfterUpdate」を一旦全て削除し、もう一度作成し直したら、なんと、ちゃんと実行されるようになりました!ありがとうございました!
「Form_AfterUpdate」内で実行する内容を、最初は他のイベント内に入れていて、何回かコピペで移動したりしていたせいでしょうか?
Husky2007さんが書かれていた、
「例えば、プロシージャを一度だけコピペしても不具合は発生しません。
だが、仮に順序を並び変えたりするとプロシージャの一切の動作は保証されない場合もあります。これは、初期によく犯す過ちです。」
について、よろしければもう少し詳しく教えていただけないでしょうか?
今後の参考にもさせていただきたいので、お時間のある時で結構です。
とりあえずは、ありがとうございました。
No.3
- 回答日時:
X そこで一旦念の為にAccess を再起動。
O そこで一旦念の為にプロシージャを削除して Access を再起動。
なお、Access 2.0、VB 4.0 時代から確認されている不具合です。
Husky2007さん、早速の追加の回答、ありがとうございます。
Access 2.0、VB 4.0 時代から確認されている不具合なんですか...
そんなに以前からの不具合なんですね。
こういう症状があるという事がわかったので、今後は気をつけたいと思います。
度々ありがとうございました。
No.2
- 回答日時:
Q、何回かコピペで移動したりしていたせいでしょうか?
A、そうです。
その場合、コピペしたプロシージャを一旦メモ帳等に保存します。
そこで一旦念の為にAccess を再起動。
その後に、メモ帳から戻せば正常化します。
>とりあえず「Form_AfterUpdate」を一旦全て削除し、もう一度作成し直したら・・・
結局は同じことです。
常に、削除、再打キーしなくても回復できますよ!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
「フォームを作成できませんでした」
Access(アクセス)
-
Accessの更新後処理で特定の条件を満たしている場合、フォーカスを移動させない方法
PowerPoint(パワーポイント)
-
Access サブフォームでの選択行の取得
その他(データベース)
-
-
4
フォームを開くときに、コンボボックスの値を選択(アクセスVBA)
Visual Basic(VBA)
-
5
Accessのコンボボックスでリストが選択できない
Word(ワード)
-
6
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
7
ACCESSでデータ変更箇所が分かるようにする方法
Access(アクセス)
-
8
MS Accessでフォームの「開く時」と「読込み時」のイベントの違い
Access(アクセス)
-
9
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
10
アクセスでレコードの内容が変更されたかどうかを調べるには
Access(アクセス)
-
11
accessでイベントを中止するようなコマンドはあるのでしょうか?
その他(データベース)
-
12
VBAで3秒だけ時間を止めたい
Visual Basic(VBA)
-
13
access サブフォームにリストを表示させたいが一件しかレコードが表示されない
Access(アクセス)
-
14
Accessを開きなおすとテキストボックスの値がエラー#Name?になる
その他(データベース)
-
15
Access レポート印刷するときに1ページに収める方法
Access(アクセス)
-
16
accessでレコード更新直後の反映について
その他(データベース)
-
17
Access VBAから使用したExcelプロセスを閉じる方法について
Visual Basic(VBA)
-
18
ACCESS VBA でのエラー解決の根拠がわかりません エラー「イベントプロパティに指定した式・・
Access(アクセス)
-
19
ACCESSでデータ読み取り専用を解除する方法
その他(データベース)
-
20
AccessからExcelにエクスポートする時に常に上書きしたい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESS 複数のフォームから同一...
-
MSAccess ロック状態かどうかを...
-
AccessのRefresh・Requery・Rep...
-
Accessフォームで詳細内の任意...
-
Access 指定したレコードへ移動
-
MS.Access でサブフォーム付の...
-
Accessでレコードの複製
-
access の 最終レコードの判定...
-
エクセルで、抽出したデータだ...
-
動画編集アプリvllo抽出エラー
-
Access サブフォームでの選択行...
-
Access2000、これはいったい・...
-
ACCESSのクエリー抽出条件にIIF...
-
未審査請求包袋抽出表作成とは...
-
X-Ripperというフリーウェアに...
-
ACCESS フォームで入力データ...
-
Excel 文字列から6桁の数値の抽出
-
帳票フォームでのあるコンボボ...
-
クエリ実行結果0件の場合のフ...
-
Accessフォームが入力できません。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESS 複数のフォームから同一...
-
Accessでレコードの複製
-
ACCESSフォーム入力後の確定
-
AccessのRefresh・Requery・Rep...
-
accessでオートナンバーを使わ...
-
MS.Access でサブフォーム付の...
-
Accessフォームで詳細内の任意...
-
Accessの「Form_AfterUpd...
-
docmd.gotorecordを起動するには
-
access の 最終レコードの判定...
-
アクセスで複数レコードを1レ...
-
MSAccess ロック状態かどうかを...
-
アクセスのコンボボックスの内...
-
アクセエスのレコードの更新をV...
-
Accessで経過日付に応じて色を...
-
新しいレコードへの移動時にト...
-
ファイルメーカーで重複してイ...
-
Accessのレコード数をテキスト...
-
AccessVBA フィルタとカレント...
-
Access 指定したレコードへ移動
おすすめ情報