メニューフォームからサブフォームを開く場合、サイズと表示位置を指定することで、見栄えもよくなり操作性が向上することがあります。
指定するにはフォームの読み込み時イベント内で、 DoCmd.MoveSizeを使用します。
構文 : DoCmd.MoveSize Right, Down, Width, Height
このページでのフォームとVBAの作成手順
これでメインフォームの[サブフォームを開く]ボタンをクリックすると、指定したサイズと位置でサブフォームが開きます。
関連する「フォームを開いた時、新規レコードに移動する」も参照してください。
下が作成したメニューフォームです。
[サブフォームを開く]ボタンをクリックすると、サイズと表示位置が指定されたフォームが開きます。
1.サブフォームの読み込み時イベントで、[イベント プロシージャ]を選択します。
2.[…]ボタンをクリックします。
VBE画面が表示され、Form_Load内にVBAを入力します。
「DoCmd.MoveSize Right, Down」で、左上の位置が設定できます。
ここでは、Rightを1000、Downを2000にしました。
[サブフォームを開く]ボタンをクリックすると、サブフォームは指定された位置に表示されます。
ここでは、サブフォームに配置している[閉じる]ボタンを基準にしてサイズを設定します。
上位置は、Me!コマンド0.Left + Me!コマンド0.Width + 1000にしました。
これで[閉じる]ボタンの右端+1000のサイズになります。
下位置は、Me!コマンド0.Top + Me!コマンド0.Height + 1000
これで[閉じる]ボタンの下端+1000のサイズになります。
Private Sub Form_Load()
DoCmd.MoveSize 1000, 2000, _
Me!コマンド0.Left + Me!コマンド0.Width + 1000, Me!コマンド0.Top + Me!コマンド0.Height + 1000
End Sub
サブフォームは[閉じる]ボタンを基準にしたサイズで表示されます。