VBAでフォームを開く
VBAでフォームを開くときは、DoCmd.OpenFormを使います。開くときには、ビュー(フォームビュー、デザインビュー、印刷プレビュー、データシートビュー、ピボットテーブルビュー、ピボットチャートビュー)を指定することもできます。
DoCmd.OpenFormの書式
DoCmd.OpenForm FormName, View, FilterName, WhereCondition, DataMode, WindowMode, OpenArgs
■FormName/フォーム名(必須)
開くフォーム名を指定します

■View/ビュー(省略可能)
ビューを@の定数で指定します。省略時は、プリンタへ印刷されます。

■FilterName/フィルタ名(省略可能)
レコードソースに使うクエリを指定します。

■WhereCondition/レコード抽出条件(省略可能)
テーブルやクエリと連結しているときのレコード抽出条件を指定します。

■DataMode/追加・編集モード(省略可能)
データの入力モードをAの定数で指定します。

■WindowMode/ウィンドウの状態(省略可能)
ウィンドウモードをBの定数で指定します。

■OpenArgs/レポートへの引き渡しデータ(省略可能)
レポートのOpenArgsプロパティへ設定する内容を指定します。

 ◆View(第2引数)に指定する定数
acDesign デザインビューで開きます。
acFormDS データシートビューで開きます。
acFormPivotChart ピボットチャートビューで開きます。
acFormPivotTable ピボットテーブルビューで開きます。
acNormal フォームビューで開きます。(省略時と同じ)
acPreview 印刷プレビューで開きます。

 ADataMode(第5引数)に指定する定数
acFormAdd 新しいレコードを追加できます。ただし、既存のレコードの編集はできません。
acFormEdit レコードの編集・追加が自由に行えます。
acFormPropertySettings フォームのプロパティで設定されている通りにレコード編集・追加が行えます(規定値)。
acFormReadOnly レコードの参照だけが行えます。

 BWindowMode(第6引数)に指定する定数
acDialog フォームの「作業ウィンドウ固定(Modal)」プロパティと「ポップアップ(PopUp)」プロパティが「はい(Yes)」の状態で開きます。
acIcon フォームが最小化され、Windows タスクバーに収まります。
acHidden 非表示になります。
acWindowNormal フォームのプロパティで設定されているモードで開きます(規定値)。
DoCmd.OpenFormの使用例
次の例では、DoCmd.OpenFormを使ってフォーム「フォーム1」を開いています。第2引数を省略しているので、フォームビューで開きます。

Sub s_DoCmd_OpenForm_Sample()

    'フォーム1をフォームビューで開く
    DoCmd.OpenForm "フォーム1"

End Sub

また、次の例では、DoCmd.OpenFormを使ってフォーム「フォーム1」を「デザインビュー」で開いています。第2引数には「acDesign」を指定しています。

Sub s_DoCmd_OpenForm_Sample()

    'フォーム1をデザインビューで開く
    DoCmd.OpenForm "フォーム1", acDesign

End Sub

さらに、次の例では、DoCmd.OpenFormを使ってフォーム「フォーム1」を「印刷プレビュー」で開いています。第2引数には「acPreview」を指定しています。
ちなみに、DoCmd.SetWarningsFalseにして、用紙をはみ出したときの警告メッセージを表示しないようにしています。

Sub s_DoCmd_OpenForm_Sample()

    '警告ダイアログをOFF
    DoCmd.SetWarnings False

    'フォーム1を印刷プレビューで開く
    DoCmd.OpenForm "フォーム1", acPreview

    '警告ダイアログをON(戻す)
    DoCmd.SetWarnings True

End Sub
Copyright(C) 1999-2006 結城圭介。 All rights reserved