- ベストアンサー
フォームをダブルクリックしてアクセスの開くときに実行されるイベントの順番を教えてください。
Form_Open ’開くとき Form_Load ’読み込み時 Form_Current ’レコート゛移動時 Form_Activate ’アクティブ時 これはどの順番で実行されるのでしょうか? それと もしほかに起動時に実行されるイベントがあれば教えてください。 よろしくお願い致します。
- みんなの回答 (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 の解説を見て、ピボット利用の限定的な場合らしい。 ほかもこの一覧をみて考えてください。
その他の回答 (1)
- DexMachina
- ベストアンサー率73% (1287/1744)
こちらのサイトが参考になると思います(Microsoft Access2003のヘルプ): http://office.microsoft.com/ja-jp/access/HP051867611041.aspx (「+フォーム及びサブフォームのイベントの順序」の「+」をクリックして下さい) > フォームを開くと、フォームでは次の順序でイベントが発生します。 > Open → Load → Resize → Activate → Current > > フォームに使用可能なコントロールがない場合は、Activate イベントの後、 > Current イベントの前に、GotFocus イベントが発生します。 従って、 開くとき(Open) → 読み込み時(Load) → サイズ変更時(Resize) → アクティブ時(Activate) ( → フォーカス取得時(GotFocus) ) → レコード移動時(Current) ということになるかと思います。 (もちろん、それぞれのイベントで行った操作によって別のイベントが発生した 場合(例えば開くときに、前回起動時に表示して削除し損ねた暫定レコードを 削除したことによる「レコード削除時」イベントの発生など)は、上記以外の イベントも発生します)
お礼
ありがとうございます。 Resizeも含まれるとは思ってませんでした。
お礼
コピペして試してみたら同じ結果になりました! すべてフォームが表示される前に発生するのですね。 ありがとうございます。