
現在、仕事で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(アクセス)
-
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
ACCESSで条件によってフォーム上のフィールドの色を変更
Access(アクセス)
-
-
4
レコード削除時に(サブ)フォームに表示される#Deleted"について"
Access(アクセス)
-
5
アクセスVBAのMe!と[ ]
Access(アクセス)
-
6
Access サブフォームでの選択行の取得
その他(データベース)
-
7
Accessの更新後処理で特定の条件を満たしている場合、フォーカスを移動させない方法
PowerPoint(パワーポイント)
-
8
カレントレコードが無い事を判定させる方法
Visual Basic(VBA)
-
9
テキストボックスにクエリ結果を表示させたい
その他(データベース)
-
10
フォームを開くときに、コンボボックスの値を選択(アクセスVBA)
Visual Basic(VBA)
-
11
アクセスのフォームのビューが表示されないのですが、
その他(データベース)
-
12
Accessの条件付き書式設定で、複数の条件が一致した時の書式を設定したい
その他(Microsoft Office)
-
13
ACCESSフォーム入力後の確定
Access(アクセス)
-
14
どこにもフォーカスを当てたくない
Access(アクセス)
-
15
親フォームからサブフォームのレコードソースを設定
Access(アクセス)
-
16
「RunSQL」と「Execute」の違い
Access(アクセス)
-
17
クエリで出来た表にチェックボックスを追加する
その他(Microsoft Office)
-
18
Access Error3061 パラメータが少なすぎます。4を指定してください。
Access(アクセス)
-
19
アクセスでテキストボックスの値が空白だったら
Access(アクセス)
-
20
ACCESSのBookmarkプロパティの使い方
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessでレコードの複製
-
新しいレコードへの移動時にト...
-
ACCESS 複数のフォームから同一...
-
accessでオートナンバーを使わ...
-
ACCESSフォーム入力後の確定
-
アクセスのコンボボックスの内...
-
エクセルで、抽出したデータだ...
-
Access リスト選択したレコード...
-
Access サブフォームでの選択行...
-
前のレコードの値を自動で入れたい
-
サブフォームのデータを保存す...
-
Excelの抽出し項目ごとに計算す...
-
ACCESSのクエリー抽出条件にIIF...
-
Access2000、これはいったい・...
-
未審査請求包袋抽出表作成とは...
-
インデックスまたは主キーにはn...
-
Accessでフォームに自動入力し...
-
サブフォームでフィルタしたデ...
-
Excel 文字列から6桁の数値の抽出
-
【AccessVBA】レコードセットOp...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESS 複数のフォームから同一...
-
Accessフォームで詳細内の任意...
-
Accessでレコードの複製
-
accessでオートナンバーを使わ...
-
ACCESSフォーム入力後の確定
-
AccessのRefresh・Requery・Rep...
-
Accessで経過日付に応じて色を...
-
access の 最終レコードの判定...
-
MSAccess ロック状態かどうかを...
-
アクセエスのレコードの更新をV...
-
MS.Access でサブフォーム付の...
-
Accessの「Form_AfterUpd...
-
DoCmd.SearchForRecord が動か...
-
ファイルメーカーProでレコード...
-
Access 指定したレコードへ移動
-
ACCESS 単票形式フォームの新...
-
ファイルメーカーで重複してイ...
-
ファイルメーカーのレコード複...
-
AccessVBA フィルタとカレント...
-
アクセスで複数レコードを1レ...
おすすめ情報