|

|
|
 |
VBAでフォームを開く |
 |
|
|
|
|
|
VBAでフォームを開くときは、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を使ってフォーム「フォーム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.SetWarningsをFalseにして、用紙をはみ出したときの警告メッセージを表示しないようにしています。
Sub s_DoCmd_OpenForm_Sample()
'警告ダイアログをOFF
DoCmd.SetWarnings False
'フォーム1を印刷プレビューで開く
DoCmd.OpenForm "フォーム1", acPreview
'警告ダイアログをON(戻す)
DoCmd.SetWarnings True
End Sub
|
|
|
|
|
|