0.VBAでフォームを扱う基本
VBAでフォームを扱うときの基本は、MeFormsScreen.ActiveFormの3種類です。これらを基本にRequery、CurrentRecordなどフォームのプロパティやメソッドを使用したり、フォーム内のコントロールを使用したりします。
フォームを参照する方法1/Me
Meを使うと、フォームの中に記述したVBAコードから自フォームのプロパティやメソッドを使用したり、コントロールを参照したりすることができます。

'【基本】自フォームのプロパティやメソッドを使用する

Me.プロパティやメソッド


'【記述例1】自フォームをRequeryで更新するとき

Me.Requery


'【記述例2】自フォームに表示しているレコード件数を取得するとき

lngRecCount = Me.Recordset.RecordCount
フォームを参照する方法2/Forms
Formsを使うと、フォーム名を指定し(フォームを)参照することができます。例えば、標準モジュールやクラスモジュールからフォーム名を指定し(フォームを)参照するとき、フォームに記述したVBAコードで他のフォームを参照するときなどが一般的です。

'【基本】フォーム名を指定し、そのフォームのプロパティやメソッドを使用する

Forms(フォーム名).プロパティやメソッド


'【記述例1】フォーム「データ入力」をRequeryで更新

Forms("データ入力").Requery


'【記述例2】フォーム「データ入力」に表示しているレコード件数を取得

lngRecCount = Forms("データ入力").Recordset.RecordCount



'【記述例3】フォーム名を変数で指定
Forms(strFormName).Requery
フォームを参照する方法3/Screen.ActiveForm
Screen.ActiveFormを使うと、最前面に表示されているフォームを参照することができます。ただし、最前面に表示されているオブジェクトがフォーム以外だと実行時エラーが発生するので注意してください。

'【基本】最前面に表示されているフォームのプロパティやメソッドを使用する

Screen.ActiveForm.プロパティやメソッド


'【記述例1】最前面に表示されているフォームをRequeryで更新

Screen.ActiveForm.Requery


'【記述例2】最前面に表示されているフォームへ表示しているレコード件数を取得

lngRecCount = Screen.ActiveForm.Recordset.RecordCount
Copyright(C) 1999-2006 結城圭介。 All rights reserved