dポイントプレゼントキャンペーン実施中!

Form_Open ’開くとき
Form_Load ’読み込み時
Form_Current ’レコート゛移動時
Form_Activate ’アクティブ時

これはどの順番で実行されるのでしょうか?

それと
もしほかに起動時に実行されるイベントがあれば教えてください。
よろしくお願い致します。

A 回答 (2件)

下記は自信はありません。

これではダメなのかも知れないが、何かの参考に。
ーー
Public i

Private Sub Form_Current()
i = i + 1
MsgBox "C" & i
End Sub

Private Sub Form_Load()
i = i + 1
MsgBox "L" & i
End Sub
Private Sub Form_Open(Cancel As Integer)
i = i + 1
MsgBox "O" & i
End Sub
Private Sub Form_Activate()
i = i + 1
MsgBox "A" & i
End Sub
をそのフォームのイベントプロに入れて、フォームを開くを行うと
私のテストでは、順に
O1
L2
A3
C4
と表示されましたが。
ーー
>起動時に実行されるイベントがあれば教えてください
上記以外は操作者のマウスでの行動や操作のタイミング時やプログラムの実行時に起こるものなので、質問の類とは別と思います。
Onconnectも疑ったが、
http://www.feedsoft.net/access/tips/tips91.html
の解説を見て、ピボット利用の限定的な場合らしい。
ほかもこの一覧をみて考えてください。
    • good
    • 0
この回答へのお礼

コピペして試してみたら同じ結果になりました!
すべてフォームが表示される前に発生するのですね。
ありがとうございます。

お礼日時:2009/05/27 22:05

こちらのサイトが参考になると思います(Microsoft Access2003のヘルプ):


http://office.microsoft.com/ja-jp/access/HP05186 …
(「+フォーム及びサブフォームのイベントの順序」の「+」をクリックして下さい)

> フォームを開くと、フォームでは次の順序でイベントが発生します。
> Open → Load → Resize → Activate → Current
>
> フォームに使用可能なコントロールがない場合は、Activate イベントの後、
> Current イベントの前に、GotFocus イベントが発生します。

従って、

 開くとき(Open) → 読み込み時(Load) → サイズ変更時(Resize)
 → アクティブ時(Activate) ( → フォーカス取得時(GotFocus) )
 → レコード移動時(Current)

ということになるかと思います。
(もちろん、それぞれのイベントで行った操作によって別のイベントが発生した
 場合(例えば開くときに、前回起動時に表示して削除し損ねた暫定レコードを
 削除したことによる「レコード削除時」イベントの発生など)は、上記以外の
 イベントも発生します)
    • good
    • 0
この回答へのお礼

ありがとうございます。
Resizeも含まれるとは思ってませんでした。

お礼日時:2009/05/27 22:04

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!