HOME > 即効テクニック > AccessVBA > フォーム・レポート > フォームを新規作成する

即効テクニック

フォーム・レポート

フォームを新規作成する

(Access 2000/2002/2003)
● 概要 ●
構文  expression.CreateForm(database, formtemplate)

設定項目        内容
expression      ApplicationオブジェクトまたはDoCmdオブジェクト[省略不可]
database        データベースの名前を文字列式で指定[省略可能]
formtemplate    テンプレートとするフォームの名前を文字列式で指定[省略可能]


データベース内にテンプレートにしたがった新規フォームを作成します。
を省略すると、自身のApplicationオブジェクトを指定したことになります。
引数を省略すると、カレントデータベースを指定したことになります。
引数を省略すると、[オプション]ダイアログボックス([ツール]メニューの[オプション]コマンドを実行すると表示されます)の、[フォーム/レポート]パネルの[フォーム テンプレート]で指定しているテンプレートを指定したことになります。


● サンプル ●
'フォームを新規作成する

Sub CreateFormSample()
    Dim myForm As Form

'最小化したフォームを作成
    Set myForm = CreateForm()
End Sub


●実行結果●
新規フォームが最小化された状態で作成されます。ウィンドウの[元に戻す]ボタンをクリックすると、新規フォームがデザインビューで表示されます。


● 補足 ●
新規に作成したフォームを、コードで元のサイズに戻すには、DoCmdオブジェクトのRestoreメソッドを実行します。実行の結果、フォームがデザインビューで開きます。
新規に作成したフォームをフォームビューで開きたい場合は、DoCmdオブジェクトのOpenFormメソッドを実行します。
引数に指定するフォーム名は、新規作成したフォームのNameプロパティで取得するとよいでしょう。
この例では「myForm.Name」で取得できます。新規に作成したフォームの[閉じる]ボタンをクリックすると、保存確認のダイアログボックスが表示されます。
あらかじめ、コードで名前を付けて保存しておくには、DoCmdオブジェクトのSaveメソッドを実行します。