Microsoft Access Club >VBA物語 >このページ >次頁 < 前項  サイト内検索


コマンドの実行順位 : VBA物語04



前回、DocmdオブジェクトにOpenFrmメソッドを組み合わせフォーム名を記述定しました。これは1つの定型文です。VBA技術の取得には、このような定型文に慣れることと、見慣れることが大事ですよ。

プロシージャの実行順序

今回は、前回作成したプロシージャを若干変更し、新たに一行のアクションを追加します。

frm_sample_2のフォームにコマンドボタン(Cmd_コマンド)を作成し、クリック時イベントにプロシージャを 記述します。

フォームを開き最大化する

Docmd.Maximizeアクションは、オブジェクトを最大化します。

Private Sub Cmd_コマンド_Click()

    DoCmd.OpenForm "frm_sample"  'frm_sampleフォームを開きます。
    DoCmd.Maximize '最大化します。

End Sub
解説

プロシージャを実行すると、開いたフォームは瞬時に最大化されます。プロシージャの流れは、以下のようになります。

  1. frm_sampleフォームを開きます。(DoCmd.OpenForm "frm_sample")
  2. 最大化します。(DoCmd.Maximize)
最大化しフォームを開く

では、逆に下記のような記述をするとどうでしょう?

Private Sub Cmd_コマンド_Click()

    DoCmd.Maximize '最大化します。
    DoCmd.OpenForm "frm_sample"  'frm_sampleフォームを開きます。

End Sub
解説

理解力の良い皆さんならご存知ですよね。今回のプロシージャの流れは、下記のようになります。

  1. 実行元のフォーム(コマンドボタンを備えたフォーム)が最大化されます。
  2. 次に、frm_sampleフォームが開きます。(通常の大きさで開きます)

このように、記述する場所を正しく判断しないと、予想できない動きをしますので注意が必要です。

プロシージャは上から順番に実行される

プロシージャは、記述した順番に上から命令が実行されます。これは、プログラミングの基本です。

自動メンバ機能の活用

DoCmd.Maximize を無事に記述することができましたか?自動メンバ機能を用いると簡単に記述できますね。下記のように候補のメソッド一覧リストから選択するだけです。

2004/03/31

ページの先頭へ 前ページへ戻る


コマンドの実行順位 : VBA物語04


 

-Microsoft Access Club-