はじめに
業務にシステムを導入する際重要なのは、
その業務がどの種類の仕事なのかを先に見極めることです。
本記事では、Accessを選択肢として検討すべき業務の特徴を整理します。
判別基準①
データが「蓄積され続ける」業務である
次のような性質を持つ業務は、Accessを検討対象に含めるべきです。
- 日次・月次でデータが追加される
- 過去データを削除せず保持する
- 数か月〜数年単位で履歴を参照する
これは「その場限りの表」ではなく、
データを資産として管理する業務です。
判別基準②
役割の異なるデータが複数存在する
例えば次のような構造です。
- 顧客
- 商品
- 取引
- 明細
これらをExcelで扱う場合、
- 参照列が増える
- マスタと実績が混在する
- 修正時の影響範囲が読みづらい
といった問題が起きやすくなります。
また、業務によって必要なデータが異なるために、
その都度ファイルや表を作って管理が困難になり、
事故につながることもあります。
Accessは、
複数のデータを「関係」として扱うことを前提にしたシステムであり、
異なるデータを組み合わせ一つのテーブルを作成するのが得意です。
判別基準③
正しさを「人の注意」に依存している
次のような前提が含まれていないでしょうか。
- 入力ミスしないこと
- 勝手に行を消さないこと
- 並び替えないこと
これは設計ではなく、運用への期待です。
Accessでは、
- 必須項目
- 入力規則
- データ同士の関係定義
といった制約を、仕組みとして持たせることができます。
Accessでは「クエリ」が処理の中心になる
Accessの大きな特徴は、
処理をVBAではなく「クエリ」として保持できる点です。
- 抽出
- 集計
- 更新
といった処理を、
再利用可能な業務部品として管理できます。
Excel VBAでは、
これらをコードで逐一書く設計になりがちです。
Access VBAは「指示役」に徹する
Access VBAは、
自分で計算や集計をするためのVBAではありません。
主な役割は次の2つです。
- 保存されたクエリを実行する
- 処理の流れを制御する
例えば、月次集計を行うクエリを実行するだけで済む場面があります。
DoCmd.OpenQuery "qryMonthlySummary"
ここが Excel VBAとの決定的な違いです。
-
Excel VBA
- データを直接操作する
- ループ・計算が中心
-
Access VBA
- データ処理はクエリに任せる
- VBAは処理の起点になるだけ
Excel・RPAとの役割の違い
-
Excel
- 表示・加工・帳票に強い
-
RPA
- 人の操作を代行する
-
Access
- データ構造と正しさを管理する
「入力が大変だからRPA」
「集計したいからExcel」
その前に、
データをどこで管理すべきかを決める必要があります。
まとめ
業務で次の特徴が見えた場合、
Accessは選択肢に入れるべき段階です。
- データが継続的に蓄積される
- 複数の実体を関係として扱う
- 正しさを仕組みで担保したい
- 長期運用が前提