【Access VBA】フォーム操作する方法|Meの基本的な使い方を紹介

Access VBAを学び始めると、
- フォームの値を取得したい
- テキストボックスへ値をセットしたい
- ボタンを押したら処理したい
という場面が必ず出てきます。
Access VBAでは、フォーム操作を覚えることで、業務システムらしい画面を作れるようになります。
実務でも次のような処理でフォーム操作は毎日のように使います。
- 入力フォーム
- 検索フォーム
- データ更新画面
- ログイン画面
この記事では、Access VBA初心者向けにフォーム操作の基本をやさしく解説します。
Access VBAのフォーム操作とは?
結論からいうとフォーム操作とはフォーム上の部品をVBAで操作することです。
Accessのフォームには次のようなコントロールがあります。
- テキストボックス
- コンボボックス
- チェックボックス
- ボタン
VBAを使うと次のような処理ができるようになります。
- 値取得
- 値変更
- 入力チェック
- 自動計算
特によく使うのはMe
フォーム操作では、Meを非常によく使います。
Meは、現在開いているフォームを意味します。
Meを使ってフォームの値を取得する方法
まずは最も基本的なフォーム操作です。
サンプルコード
Dim nameValue As String
nameValue = Me!社員名
MsgBox nameValueコードの目的
フォームの「社員名」テキストボックスの値を取得しています。
1行ずつ解説
nameValue = Me!社員名でフォームの値を取得しています。
これは、フォーム上の社員名の値を意味します。
MsgBox nameValueで値を表示しています。
Me!コントロール名 が基本
フォーム操作では、次のVBAをかなり頻繁に使うため実務でも必須レベルです。
Me!コントロール名フォームの値を変更する方法
フォームの値は取得だけでなく変更もできます。
サンプルコード
Me!部署 = "営業"コードの目的
フォームの「部署」に「営業」をセットしています。
実務でよくある使い方
- 初期値セット
- 検索条件セット
- 自動入力
- 値クリア
などで使います。
値をクリアする方法
Me!社員名 = ""空文字を入れることで値をクリアできます。
数値項目の例
Me!数量 = 0数値型の場合は0などを設定します。
実務でよく使うフォーム操作
実務では入力チェックが非常によく使われます。
未入力チェック
If Nz(Me!社員名, "") = "" Then
MsgBox "社員名を入力してください"
Exit Sub
End If
コードの目的
社員名が未入力なら処理停止しています。
ボタンクリックで使うことが多い
この処理は、
- 保存ボタン
- 登録ボタン
- 更新ボタン
などでかなり使います。
フォーム再表示
Me.Requeryを使うとフォームを再読み込みできます。
データ更新後によく使います。
フォームを閉じる
DoCmd.Closeでフォームを閉じられます。
実務では画面切り替えでよく使います。
実務での注意点とまとめ
Access VBAのフォーム操作は、業務システム開発の基本といえる重要機能です。
特に実務では、
- 入力フォーム
- 検索画面
- データ更新
- 入力チェック
で毎日のように使います。
| 操作 | コード例 |
|---|---|
| 値取得 | Me!社員名 |
| 値設定 | Me!部署 = “営業” |
| 再読み込み | Me.Requery |
| フォームを閉じる | DoCmd.Close |
フォーム操作を理解できると、Access VBAで作れる業務システムの幅がかなり広がります。
コメント