現在、仕事で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で質問しましょう!
似たような質問が見つかりました
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- Access(アクセス) accessについて(超初心者です) 1 2023/02/11 11:18
- その他(プログラミング・Web制作) google formsを使ったタスク依頼フォーム作成におけるご相談 1 2023/06/22 15:55
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- その他(Microsoft Office) エクセルでテーブルの最終行が自動追加されない 1 2023/01/04 15:09
- Excel(エクセル) 【vba】日付の形式が勝手に変わってしまう。 1 2022/09/29 10:54
- Google Drive Google form を利用して 問い合わせフォームを作りたい 1 2022/04/25 14:15
- Access(アクセス) ACSESS初心者です マンション管理をACCESSで出来ないかとチャレンジしています。 リレーショ 3 2022/10/08 11:45
- Excel(エクセル) エクセル テーブル機能の不明点 2 2022/04/14 14:10
このQ&Aを見た人はこんなQ&Aも見ています
-
「どうして捨てられないの?」前妻の物を捨てられない男性の心理って?
前妻の物を捨てられない理由に加え、捨てるための手段はあるのかを専門家に聞いてみた!
-
Accessの画面更新を一時的に停止する方法。
その他(データベース)
-
Access サブフォームでの選択行の取得
その他(データベース)
-
Accessの更新後処理で特定の条件を満たしている場合、フォーカスを移動させない方法
PowerPoint(パワーポイント)
-
-
4
アクセスでテキストボックスの値が空白だったら
Access(アクセス)
-
5
ACCESSで値を代入できないとは?
Visual Basic(VBA)
-
6
Accessでレコードが更新された時に発生するイベント。
その他(データベース)
-
7
アクセスVBAのMe!と[ ]
Access(アクセス)
-
8
Access 別フォームへの再クエリ(更新)がしたい。
その他(データベース)
-
9
ACCSESS2013VBA フォームのレコードソースを変更する
その他(データベース)
-
10
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
11
Access 最後のレコードに到達するまでループ処理を行う方法
Access(アクセス)
-
12
Access フォームのテキストボックスに半角英字のみで入力する設定は
Access(アクセス)
-
13
Access VBA Me.Requery レコードは削除されています エラー
その他(データベース)
-
14
フォームで入力しても反映されない
Access(アクセス)
-
15
アクセスで数値型のフィールドにNullをいれたい
その他(データベース)
-
16
accessの自動更新処理をできないようにするにはどうすれば良いですか?
その他(データベース)
-
17
ACCESSのサブフォームからメインフォームへの移動
Access(アクセス)
-
18
Accessのフォームにて、詳細行のボタンを行の内容により、表示/非表
その他(Microsoft Office)
-
19
サブフォームに対してGoToRecordするには?
その他(Microsoft Office)
-
20
実行時エラー 3265「要求された名前、または序数
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESS 複数のフォームから同一...
-
AccessのRefresh・Requery・Rep...
-
Accessでレコードの複製
-
アクションクエリ DoCmd.RunSQ...
-
Accessのレコード数をテキスト...
-
MS.Access でサブフォーム付の...
-
Accessフォームで詳細内の任意...
-
Accessで経過日付に応じて色を...
-
アクセスで複数レコードを1レ...
-
アクセスのコンボボックスの内...
-
ファイルメーカーのレコード複...
-
ファイルメーカーProでレコード...
-
アクセスのフォームで自動連番...
-
AccessVBA フィルタとカレント...
-
ACCESSフォーム入力後の確定
-
access の 最終レコードの判定...
-
アクセエスのレコードの更新をV...
-
エクセルで、抽出したデータだ...
-
Access サブフォームでの選択行...
-
サブフォームでのダブルクリッ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESS 複数のフォームから同一...
-
AccessのRefresh・Requery・Rep...
-
Accessで経過日付に応じて色を...
-
ACCESSフォーム入力後の確定
-
accessでオートナンバーを使わ...
-
Accessでレコードの複製
-
Accessフォームで詳細内の任意...
-
access の 最終レコードの判定...
-
MS.Access でサブフォーム付の...
-
アクセエスのレコードの更新をV...
-
Accessの「Form_AfterUpd...
-
MSAccess ロック状態かどうかを...
-
DoCmd.SearchForRecord が動か...
-
アクセスで複数レコードを1レ...
-
アクションクエリ DoCmd.RunSQ...
-
禁止文字をエクセルかアクセス...
-
access2010 特定文字を含むレコ...
-
ACCESS 単票形式フォームの新...
-
Accessのレコード数をテキスト...
-
Accessレコードの削除(VBA)
おすすめ情報