システム開発コラム集

Aceessでのシステム開発に関するコラム集です。
232. Microsoft Accessで多用するSQL・VBAコード例と使いどころ解説
Microsoft Accessでは、テーブルやフォームだけでなく、SQLやVBAを活用することで業務効率を大幅に向上させることができます。
独学や初めてのAccess開発でも、基本的なSQLやVBAの使いどころを理解しておくと、システム構築がぐっとスムーズになります。
1. SQLでデータを抽出・集計する
AccessのクエリではSQL文を使ってデータを操作できます。よく使うのは「SELECT文」です。
-
例:特定期間の売上集計
SELECT 顧客名, SUM(金額) AS 合計売上 FROM 受注テーブル WHERE 注文日 BETWEEN #2025-01-01# AND #2025-01-31# GROUP BY 顧客名;
このSQLを使うことで、1か月間の顧客ごとの売上を自動で集計できます。
集計クエリをテンプレート化しておくと、月次報告や分析が簡単になります。
2. 条件に応じたデータ抽出
条件付きでデータを抽出する「WHERE句」は頻繁に使用されます。
-
例:在庫が10個以下の商品を抽出
SELECT 商品名, 在庫数 FROM 商品マスタ WHERE 在庫数 <= 10;
こうしたクエリを作ることで、在庫管理や発注タイミングの把握が容易になります。
3. VBAで自動化・業務効率化
VBAはAccess内で処理を自動化する際に使われます。
-
例:ボタン一つで帳票印刷
Private Sub btnPrintReport_Click() DoCmd.OpenReport "売上レポート", acViewPreview End Sub
このコードをフォームのボタンに設定するだけで、操作を簡略化できます。
-
例:入力チェックの自動化
If IsNull(Me.顧客名) Then MsgBox "顧客名を入力してください" Me.顧客名.SetFocus End If
VBAを使うことで、入力ミスを未然に防ぎ、データの整合性を保てます。
4. SQLとVBAの組み合わせ
AccessではSQL文をVBAから実行することも可能です。
-
例:特定条件のデータを抽出して更新
CurrentDb.Execute "UPDATE 顧客マスタ SET 状態='優良' WHERE 累計購入金額>100000"
SQLで条件を設定し、VBAで処理を自動化することで、大量データの一括更新も安全かつ効率的に行えます。
SQLとVBAを使いこなすポイントは、まずはよく使う操作のテンプレートを覚えることです。
日々の業務でよく行う抽出や集計、帳票出力などを中心に練習すると、Accessでの開発速度が格段に向上します。
独学でも、クエリ作成と簡単なVBAの組み合わせを繰り返すことで、実務で使えるスキルを短期間で習得できます。

