Microsoft Accessとは?M365 E3/E5で使える小規模データベースを初心者向けに整理
この記事について
この記事は、生成AIを活用した自動生成フローで作成しています。Microsoft 365 Enterprise の現行プラン情報と Microsoft 公式情報を確認し、Accessを「Excelの上位版」ではなく、小規模業務データを構造化するWindows向けデータベースとして整理しています。検証ステータス:📘 Microsoft公式情報確認済み・実機未確認
Microsoft Access は、複数の表を関連付け、入力画面・検索・集計・帳票までを1つのデスクトップアプリで組み立てられるリレーショナルデータベースです。リレーショナルとは、たとえば「社員」と「部署」を別々の表にして、IDで関係付ける考え方です。
先に用語を整理
| 用語 | 初心者向けの意味 |
|---|---|
| テーブル | データを行と列で保存する表 |
| 主キー | 1件を重複なく識別するID |
| リレーション | 別の表どうしをIDなどで結ぶ関係 |
| クエリ | 条件を指定して検索・集計する仕組み |
| フォーム | 利用者が入力・閲覧する画面 |
| レポート | 印刷や帳票向けに整えた出力 |
| VBA | Access内の定型操作を自動化できるプログラミング言語 |
Accessの中はどうつながる?
flowchart LR
U[利用者] --> F[フォーム\n入力・検索]
F --> Q[クエリ\n抽出・集計]
Q --> T1[(社員テーブル)]
Q --> T2[(部署テーブル)]
T1 --> R[レポート\n帳票・印刷]
T2 --> R
V[VBA\n定型処理] -.補助.-> F
V -.補助.-> R
Excelでは1枚の表に部署名まで繰り返し書きがちですが、Accessでは「部署」と「社員」を分けて関係付ける設計が基本になります。
M365 E3/E5での位置づけ
| 項目 | Microsoft 365 E3 | Microsoft 365 E5 |
|---|---|---|
| Accessデスクトップ | 利用対象 | 利用対象 |
| 主な利用環境 | Windows PC | Windows PC |
| Web版Access | 現行のAccessデスクトップと同等のWeb版として考えない | 同左 |
| E5だからAccess自体が高機能になるか | 基本機能の差として捉えない | 基本機能の差として捉えない |
E3/E5の大きな差はセキュリティ、コンプライアンス、分析などスイート全体側にあります。Accessを使うためだけにE5を選ぶ、という整理にはしません。実際の契約SKU・提供条件は導入時点のMicrosoft公式比較表で再確認してください。
身近な例:社員表に部署名を何度も書かない
まず次の2表を考えます。
部署 - DepartmentId ← 主キー - DepartmentName 社員 - EmployeeId ← 主キー - EmployeeName - DepartmentId ← 部署表につなぐ値
SELECTだけで関係を見る
SELECT
Employee.EmployeeName,
Department.DepartmentName
FROM
Department
INNER JOIN Employee
ON Department.DepartmentId = Employee.DepartmentId;
これはデータを書き換えない読み取り例です。社員名と、その社員が所属する部署名が並べば成功です。
1か所変える
検索対象の列を追加する、または条件を1つ足して結果がどう変わるか観察します。最初から UPDATE や DELETE を試さないのが安全です。
一般利用者・事務職・情シスで見方が違う
| 立場 | Accessで見るポイント |
|---|---|
| 一般利用者 | 入力フォームが分かりやすいか、検索しやすいか |
| 事務職 | Excel転記を減らせるか、帳票を再利用できるか |
| 開発寄り担当 | 主キー、リレーション、クエリが整理されているか |
| 情シス | ファイル配置、バックアップ、マクロ/VBA、外部DB接続、保守担当が明確か |
VBAは「読む」例から始める
テーブル名をイミディエイトウィンドウへ表示するだけなら、データを書き換えません。
Sub ListTableNames()
Dim tdf As DAO.TableDef
For Each tdf In CurrentDb.TableDefs
If Left$(tdf.Name, 4) <> "MSys" Then
Debug.Print tdf.Name
End If
Next tdf
End Sub
何を見るか: 自分で作成したテーブル名。
成功条件: テーブル名が一覧表示され、レコード内容は変更されないこと。
1か所変える: TableDefs を調べた後、同じ考え方でQueryDefsなど別オブジェクトを学ぶ入口にできます。
Accessを「共有フォルダーに置けばDBサーバー」と考えない
少人数ツールでも、複数人利用ではフロントエンドとデータの分離、バックアップ、ネットワーク品質、同時利用、更新方法を検討します。人数や重要度が上がるほど、Dataverse、SQL系データベース、SharePoint Listsなど別の基盤も比較対象です。
flowchart TB
A[小規模・Windows中心\nAccessで完結] --> B{利用者や重要度が増えた?}
B -- いいえ --> C[バックアップと保守を継続]
B -- はい --> D[データ層を分離]
D --> E[SQL / Dataverse等も比較]
管理者が確認する点
対象ユーザーのMicrosoft 365ライセンスとAccessの展開状況
32bit / 64bitと既存アドイン・ODBCドライバーの互換性
VBA・マクロ・信頼できる場所の扱い
accdbの保存場所とバックアップ
複数人利用時のフロントエンド/バックエンド構成
個人が作ったAccessが「担当者しか直せない業務システム」になっていないか
公式情報・一次情報
Accessの価値は、Excelより派手な機能があることではありません。データを分け、関係を定義し、同じ検索・入力・帳票処理を再利用できることにあります。小規模業務では便利ですが、利用者数・重要度・クラウド要件が増えたら、データ基盤そのものを見直すのが安全です。
