2007年10月19日金曜日

Access の VBA でサブフォームを参照する

1. サブフォームの識別子

サブフォームを参照するための識別子は、サブフォームを作成するウィザードで設定した値となる。

値を知るには、

  • サブフォームの「プロパティ > その他 > 名前

の設定を見れば良い。 ただし、プロパティを表示するには、サブフォーム内における左隅の四角ではなく、外の枠をクリックすること。

img01-14-2010[1].png

 

2. 参照する方法

例えば、

サブフォーム上のアクティブになっているコントロール

を参照をするには、以下のように記述する。

  • Forms("フォーム名").サブフォーム名.Form.ActiveControl

サブフォーム名の後に `Form’ があることに注意。

親フォームから見て、自分自身を指定するのに、

  • Me.サブフォーム名 …

としても良い。

サブフォームと、その上に配置したコントロールを指定するには、

  • Me("フォーム名").Form(“コントロール名”).value

のように文字列で指定することもできる。こちらの方が変更に対応しやすい。

ただし、親フォームからサブフォームにフォーカスを移すには、、

  • Me.サブフォーム名.SetFocus

のように Form が必要ない。

ヘルプによるとこの Form は、

フォームまたはサブフォーム コントロールに関連付けられたフォームを参照します。

 

参考サイト