●学校情報

講座一覧・募集状況

学習方法

学習サポート

修了生の評価

受講生の横顔

当学院について

入学相談

入学手続

 

●講座情報

技術者養成講座

プログラミング講座

WEB講座

情報処理試験講座

Excel講座

Access講座

 

●関連コラム

関連コラム

関連用語集

 

logo

 

 

関連用語集

Accessの自動化・拡張機能:VBA(Visual Basic for Applications)とは?

VBA(Visual Basic for Applications)とは、Microsoft Access や Excel などのOfficeアプリケーションに組み込まれているプログラミング言語です。
Accessでは、マクロでは実現が難しい複雑な処理や柔軟な制御を可能にし、業務効率化やカスタムアプリケーション開発に大きく貢献します。

主な用途

  • ボタンやイベントに応じた処理の実行
  • 条件分岐や繰り返し処理を含むロジックの作成
  • フォームやレポートの操作自動化
  • クエリの実行、ファイル出力、エラーハンドリング

VBAの基本構造

Sub プロシージャ名()
    ' 処理内容
End Sub
    

例:メッセージを表示する

Sub あいさつ()
    MsgBox "こんにちは、Access VBA!"
End Sub
    

主な制御構文

  • If 〜 Then 〜 Else: 条件分岐
  • For 〜 Next: 繰り返し(ループ)
  • Do While 〜 Loop: 条件付きループ
  • Select Case: 複数条件の分岐

Access特有のVBA機能

  • DoCmdオブジェクト: フォーム・レポート・クエリなどの操作
  • CurrentDb: データベースオブジェクトへのアクセス
  • DAO/ADO: テーブル・レコード操作用のライブラリ

実用例

フォームのボタンで別のフォームを開く

Private Sub cmdOpenForm_Click()
    DoCmd.OpenForm "顧客フォーム"
End Sub
    

レコードをループして処理する

Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset("顧客")

Do Until rs.EOF
    Debug.Print rs!氏名
    rs.MoveNext
Loop

rs.Close
Set rs = Nothing
    

VBAとマクロの違い

項目VBAマクロ
柔軟性高い(自由度大)やや制限あり
操作対象ほぼすべて基本的な処理
学習難易度やや高い低い(初心者向け)

注意点

  • コードの記述ミスは実行時エラーの原因となる
  • セキュリティ設定によりマクロ無効になる場合がある
  • 業務で使う場合はバックアップテストが必須

まとめ

  • VBA: Accessを強力にカスタマイズ・自動化できるプログラミング言語
  • 繰り返し・条件分岐・イベント処理など高度な制御が可能
  • マクロでは対応できない処理も柔軟に実装できる

VBAを活用すれば、Accessは単なるデータ入力ツールから「業務アプリケーション」へ進化します。
初心者は小さなプロシージャから始めて、段階的に習得するのがおすすめです。

 

Access関連用語集

−−−−−  Access  −−−−−

Accessの基本構造:テーブルとは?

Accessの基本要素:フィールドとは?

Accessの基本単位:レコードとは?

Accessの基本概念:主キー(Primary Key)とは?

Accessのリレーションの核:外部キー(Foreign Key)とは?

Accessの構造設計:リレーションシップ(関係)とは?

Accessの分析機能:クエリ(Query)とは?

Accessの基本クエリ:選択クエリとは?

Accessのデータ更新機能:アクションクエリとは?

Accessの一括修正機能:更新クエリとは?

Accessの一括削除機能:削除クエリとは?

Accessの集計機能:集計クエリ(Totals Query)とは?

Accessの表形式集計:クロス集計クエリとは?

データベース言語の基本:SQL(Structured Query Language)とは?

Accessの入力・表示画面:フォーム(Form)とは?

Accessのフォーム連携:サブフォーム(Subform)とは?

Accessの帳票出力機能:レポート(Report)とは?

Accessの自動化機能:マクロ(Macro)とは?

AccessのVBAコード格納場所:モジュール(Module)とは?

Accessの自動化・拡張機能:VBA(Visual Basic for Applications)とは?

Accessの自動採番機能:オートナンバー型(AutoNumber)とは?

Accessの入力支援機能:ルックアップフィールド(Lookup Field)とは?

Accessの基礎設計:データ型とは?

Accessの検索・並べ替え高速化機能:インデックス(Index)とは?

Accessのデータ品質維持機能:入力規則(Validation Rule)とは?

Accessのテーブル設計の基本:正規化(Normalization)とは?

Accessのリレーション保護機能:参照整合性(Referential Integrity)とは?

Accessのオブジェクト管理画面:データベースウィンドウとは?

Accessの操作画面をまとめる:ナビゲーションフォーム(Navigation Form)とは?

Accessのメニュー画面作成ツール:スイッチボード(Switchboard)とは?