ACCESS フォームの計算やDLookUpをテーブルに反映させる
ACCESS(アクセス)では、フォームで「コントロールソース」式ビルダーを使用すれば、クエリのように計算やDLookUpが使用できます。
一般的にフォームでは表示できても、テーブルには反映されません。
テーブルに反映されないので、クエリを作成する場合が多いと思います。
通常、テーブルには、計算やDLookUpなどは必要ありません…
しかし、一つの項目だったり、クエリを作成するほどでもない場合、特殊なケースや応用なども考えられます。
簡単なマクロを使用すれば、テーブルに反映させることができます。
1、マクロボタン作成でもいいのですが、ここでは自動化を考え、イベントのタイミングを選択します。
フォームの「デザインビュー」からプロパティシートで操作します。
(レイアウトビューでも操作可能になります)
※イベントのタイミングが多数あるので選択可能ですが、一部動作しないものがあります。
2、簡単なマクロを作成します。
[イベント プロシージャ]を選択、もしくは、 ・・・ からコードビルダーを選択します。
VBAの画面が出るので、ソースを記述します。
例】イベント「フォーカス取得時」に設定した場合「フォームフィールド名_Enter()」
Me![保存するテーブルのフィールド名]=Me![フォームの計算やDLookUpのフィールド名]
を記述します。
記述例】
イベント:フォーカス取得時
テーブルのフィールド名:「総額」
フォームのフィールド名:「総額form」(テキストボックスの名前です)
Private Sub 総額form_Enter()
Me![総額] = Me![総額form]
End Sub
注意点
[保存するテーブルのフィールド名]と[フォームの計算やDLookUpのフィールド名]は、
異なる名前にしてください。
※標題(ラベル)ではありません、ボックスの名前です。
名前変更方法 ↓
※「フォームのフィールド名(ボックス名)+form」に変更するだけでも大丈夫です。