【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で作れる業務システムの幅がかなり広がります。

コメント

コメントする

コメントは日本語で入力してください。(スパム対策)

CAPTCHA

目次