「Accessで作った業務システムが、いつの間にか会社の基幹になっている」――製造業や卸売業のお客様で本当によくある状況です。動いてはいるものの、属人化・同時利用の限界・サポート切れといったリスクを抱えています。本記事では、AccessからWebアプリへのリプレイスでつまずかないための勘所をまとめます。
よくあるのは「PC1台+社内ネットワーク」で使うAccess
特に多いのが、1台のWindows PCでAccessを動かし、そのファイルを社内ネットワーク(共有フォルダ)越しに複数人で開いて使っているケースです。手軽に始められる一方で、利用人数や年数が増えるほど次のような不具合が起こりやすくなります。
- 複数人が同時に開くと動作が重くなり、最悪の場合ファイルが破損する
- 稼働させているPCのハードウェアの経年劣化(HDD・メモリの故障など)で、ある日突然立ち上がらなくなる
- そのPCが単一障害点(ボトルネック)になり、買い替えやOS更新のたびにヒヤリとする
やっかいなのは、こうしたシステムの多くが社内の事情に詳しい方が独力で作り上げたもので、設計書などのドキュメントが残っていない点です。中身がブラックボックス化しているため、データやロジックを正しく読み解いて安全に移行するには、経験豊富なプロの知見が欠かせません。ヨクトは、こうした「仕様書のないシステム」の解析・移行を数多く手がけています。
サポートが切れたAccessは、早急な対応を
意外と多いのが、すでにサポートが終了したバージョンのAccess(Office)を使い続けているケースです。サポートが切れるとセキュリティ更新が提供されなくなり、脆弱性を突かれるリスクが高まります。社内ネットワークで複数人が使う“基幹”だからこそ、潜在的なリスクを冷静に考えると早急な対応が必要です。
| バージョン | サポート終了 | 状況(2026年6月時点) |
|---|---|---|
| Access 2010 | 2020年10月13日 | 終了 |
| Access 2013 | 2023年4月11日 | 終了 |
| Access 2016 | 2025年10月14日 | 終了 ⚠ 要注意 |
| Access 2019 | 2025年10月14日 | 終了 ⚠ 要注意 |
| Access 2021 | 2026年10月13日 | まもなく終了 ⚠ 要注意 |
| Access 2024 | 2029年10月9日 | サポート中 |
| Microsoft 365 の Access | —(継続提供) | サポート中(サブスク契約が必要) |
※ 上表は公開時点(2026年6月)の情報です。延長サポートやLTSC版など条件により異なる場合があるため、最新・正確な内容はマイクロソフト公式のライフサイクル情報でご確認ください。
あわせて注意したいのが 32bit版/64bit版の違いです。Access 2013 以前から新しい環境へ移すと、bit数の違いによってVBA(特にWindows APIの宣言部分など)がそのままではエラーになることがあります。こうした互換性の壁も、移行を専門家と進めるべき理由のひとつです。
なぜ今、脱Accessなのか
Access自体は優れたツールですが、業務の中心に据えると次の課題が顕在化します。
- 複数人での同時編集に弱く、ファイル破損のリスクがある
- 作った担当者しか中身が分からない属人化
- リモートワークやスマホからの利用に向かない
- OSやOfficeのバージョンアップで突然動かなくなる
Web化すれば、ブラウザさえあればどこからでも安全に使え、権限管理や監査ログも一元化できます。
移行先は「Web化」だけが正解ではない
脱Accessというと一足飛びにWebアプリ化を思い浮かべがちですが、目的とコストに応じて最適な移行先は変わります。私たちは「とにかくWeb化」を押しつけるのではなく、次のような選択肢も含めてご提案します。
- Webアプリ化:ブラウザだけでどこからでも安全に利用でき、権限管理・監査ログを一元化したい場合に最適
- 社内サーバーへ集約+Windowsアプリ化:操作感を大きく変えたくない場合の選択肢です。社内ネットワーク上に置く安価なオンプレミスのWindowsサーバーにデータ(とアプリ)を集約し、各PCからはこれまでどおりデスクトップアプリとして使う形に作り直します。低コストのまま「安定性」と「複数人の同時利用」を両立できることがあります
「現場の使い勝手をできるだけ変えたくない」「予算を抑えたい」といった要件に対して、Web化に固執せず費用対効果の高い手段を選べるのが、開発を知り尽くしたヨクトの強みです。
Accessの“中身”を読み解く ── 移行品質はここで決まる
Accessは一見ひとつのファイルですが、内部は「データ」と「アプリ」が同居した構造になっています。安全に移行するには、この中身を要素ごとに分解し、それぞれを移行先の何に置き換えるかを設計することが欠かせません。
| Accessの構成要素 | 役割 | 移行先での置き換え(例) |
|---|---|---|
| テーブル/リレーション | データの保管・整合性 | RDB(SQL Server / PostgreSQL / MySQL)のテーブル・制約 |
| クエリ(選択・更新・集計) | データの抽出・加工 | SQL(ビュー/ストアドプロシージャ)・アプリのデータ層 |
| フォーム | 入力・操作画面(UI) | Web画面(HTML/JS)または .NET 等のデスクトップUI |
| レポート | 帳票・印刷 | 帳票エンジン/PDF生成/Excel出力 |
| マクロ/VBA | 業務ロジック・自動処理 | サーバーサイド/クライアントのプログラム |
とくに、MDB/ACCDB が「フロント(フォーム・VBA)」と「バック(テーブル)」にリンクテーブルで分割されている構成や、ACE/Jet データベースエンジン特有の挙動まで把握できていると、移行の段取りと見積もりの精度が大きく変わります。ヨクトはこの“分解と再設計”を前提に現状を解析します。
移行でつまずきやすい「技術的な落とし穴」
Accessから他の基盤へ移すとき、表面的なデータコピーだけでは動きません。実務では次のような互換性の壁を一つずつ潰していきます。
① データ型のマッピング
Access独自のデータ型は、移行先のRDBで等価な型へ慎重に対応づけます。
| Access | SQL Server | PostgreSQL |
|---|---|---|
| オートナンバー | IDENTITY | serial / IDENTITY |
| Yes/No | bit | boolean |
| 短いテキスト | nvarchar(n) | varchar(n) |
| 長いテキスト(メモ) | nvarchar(max) | text |
| 通貨 | money / decimal | numeric |
| 日付/時刻 | datetime2 | timestamp |
| 添付/OLEオブジェクト | varbinary/外部ストレージ | bytea/外部ストレージ |
② Access独自のSQL・関数
Accessのクエリには標準SQLにない方言が多くあります。Nz()・IIf()、ドメイン集計関数(DLookup()・DSum())、クロス集計の TRANSFORM … PIVOT、ワイルドカード(* ? #)などは、移行先の標準SQLやアプリ層のロジックへ意味を保ったまま書き換える必要があります。
③ VBAと 32bit/64bit の壁
VBAの Declare(Windows API宣言)は、64bit環境では PtrSafe と LongPtr への対応が必須です。さらに DAO/ADO や外部コントロールの参照設定切れも頻出します。フォームのイベントに埋め込まれた業務ロジックを丁寧に読み解き、サーバー/クライアントの適切なレイヤーへ移植します。
④ 文字コードとデータ整合性
Shift_JIS から UTF-8 への変換、機種依存文字・外字、全角半角の表記ゆれ、参照整合性やオートナンバーの振り直しなど、データクレンジングと移行リハーサルを重ね、“1件も壊さない”移行を行います。
レガシーから最新まで ── ヨクトの対応技術
ヨクトは、こうした移行を解析から再設計・実装・運用まで完全内製で担います。だからこそ、移行元の“クセ”を踏まえた現実的な移行先を設計できます。
- 移行元(解析・救出):Access(MDB/ACCDB・VBA)/Excel VBA/VB6・VBA/古い業務パッケージ
- 移行先(言語):C# / .NET、Java、PHP(Laravel)、Python(Django / FastAPI)、TypeScript(React 等)
- データベース:SQL Server / PostgreSQL / MySQL
- 基盤:AWS などのクラウド/社内オンプレミスサーバー
- 横断要素:認証・SSO(Active Directory 連携)、RBAC、監査ログ、トランザクション・排他制御
つまずかないための3つの勘所
1. データ移行は「現状の棚卸し」から
いきなり作り直すのではなく、まず既存テーブルとクエリ、フォームを棚卸しします。長年の運用で使われていない項目や重複データが必ず混ざっているため、移行前にデータをクレンジングしておくと、新システムの設計がぐっとシンプルになります。
2. 権限設計を最初に決める
Accessでは「全員がすべて見える」ことが多いですが、Web化を機に役割ベースのアクセス制御(RBAC)を導入します。誰がどのデータを閲覧・編集できるかを最初に定義しておくと、後からの手戻りを防げます。
3. 一括ではなく段階的にリリースする
全機能を一度に切り替えると、現場が混乱し移行が頓挫しがちです。利用頻度の高い機能から段階的にリリースし、旧システムと並行稼働させながら移行するのが安全です。
「動いているものを止めない」ことが何より大切。並行稼働期間を設け、現場のフィードバックを取り込みながら少しずつ移行するのが成功の鍵です。
いちばん大切なのは「切り替えた後」── 伴走支援
リプレイスは作って納品したら終わり、ではありません。むしろ本番はそこからです。どれだけ優れたシステムでも、長年使い慣れた道具から乗り換えた直後は、現場に小さな戸惑いや「前のほうが楽だった」が必ず生まれます。
ヨクトでは、稼働後も現場の方が新しいシステムに無理なく慣れるまで伴走します。実際に使う中で出てくる「ここの並び順を変えたい」「この入力をもっと省きたい」といった軽微な使い勝手の調整を継続的に支援し、システムが現場に“当たり前”として定着するまで見届けます。
移行の成否は、リリース当日ではなく「現場が当たり前に使えるようになったか」で決まります。だからこそ、切り替えた後の伴走をいちばん大切にしています。
まとめ
レガシー資産のリプレイスは、単なる作り直しではなく業務を見直す好機でもあります。ヨクトは、設計書のないシステムの現状解析から、最適な移行先の選定(Web化/社内サーバー+Windowsアプリ等)、データ移行、そして切り替え後の定着・伴走支援まで、完全内製でワンストップに対応します。Access・VB・VBAといったレガシー環境からの移行を数多く手がけてきました。脱レガシーをお考えの際は、お気軽にご相談ください。
