Access Tips by pPoy

  
トップへ←Top    QueryへQuery  FormへForm  ReportへReport  Module(Sub)へSub  Module(Function)へFunction  ExcelへExcel  Etc.へEtc.  Word連携へWord

Form メイン/サブ形式フォームでのイベントの順番
《サブフォームのデータを変更後終了》 (Ac97,Ac2000,Ac2002)
Access にて、フォームを使用して作業する場合、イベントの順番はとても大切です。
VBA は正しいイベントに記述しないと、期待通りの動きをしてくれません。

以下は、メイン/サブ形式フォームでの、代表的なイベントが発生する順番です。
サブフォーム上のフィールドの値を1件変更後、終了するときのイベントです。
≪例≫

  1. 新規にサブフォーム用の連結フォームを作ります。
    フォーム名は、「frm_成績_sub」 とします。
    このフォームに、「txt_ID」 コントロールを作ります。

  2. 新規にメインフォーム用の非連結フォームを作成します。
    フォーム名は、「frm_成績」 とします。

  3. メインフォーム 「frm_成績」 の中に、サブフォーム 「frm_成績_sub」 をセットします。
    メインフォーム内のサブフォームコントロールの名前は、「frm_sub」 とします。
≪開くとき≫

  (サブフォーム) : Open LoadResizeCurrent
  (サブフォーム内コントロール) : → EnterGotFocus
  (メインフォーム) : → OpenLoadResizeActivateCurrent
  (メインフォーム内のコントロール) : → Enter

≪値変更のとき≫

  (サブフォーム内コントロール) : GotFocus
    → KeyDownKeyUpKeyDownKeyPress
    → DirtyChangeKeyUpKeyDown
    → BeforeUpdateAfterUpdateExitLostFocus
  (サブフォーム) : → BeforeUpdate AfterUpdateCurrent

≪閉じるとき≫

  (メインフォーム内のコントロール) : Exit
  (メインフォーム) : → UnloadDeactivate Close
  (サブフォーム) : → UnloadClose
≪注意≫

これらのイベントは必ず発生するものもありますが、発生しない場合もあります。
入力によっては複数回発生するイベントもあります。

この頁のTOPへTop
≪開くときのイベント≫
順番 オブジェクト 名称 イベント
1 サブフォーム frm_成績_sub Open
2 Load
3 Resize
4 Current
5 サブフォーム内コントロール txt_ID Enter
6 GotFocus
7 メインフォーム frm_成績 Open
8 Load
9 Resize
10 Activate
11 Current
12 メインフォーム上の
サブフォームコントロール
frm_sub Enter

≪値変更のときのイベント≫
順番 オブジェクト 名称 イベント
1 サブフォーム内コントロール txt_ID GotFocus
2 KeyDown
3 KeyUp
4 KeyDown
5 KeyPress
6 Dirty
7 Change
8 KeyUp
9 KeyDown
10 BeforeUpdate
11 AfterUpdate
12 Exit
13 LostFocus
14 サブフォーム frm_成績_sub BeforeUpdate
15 AfterUpdate
16 Current

≪閉じるときのイベント≫
順番 オブジェクト 名称 イベント
1 メインフォーム上の
サブフォームコントロール
frm_sub Exit
2 メインフォーム frm_成績 Unload
3 Deactivate
4 Close
5 サブフォーム frm_成績_sub Unload
6 Close




この頁のTOPへTop
【念の為の注意書きです。】
このページ(下位ページ含む)の全ての物の無断転載を禁止いたします。又、当ページ(下位ページ含む)に記載されていることは、全て自己の責任において実行してください。

☆ 感想をお知らせください (直接ブラウザから送信致します。メールアカウントは不要です。)
  form mail はこちら

Copyright(C) pPoy 2004