Accessをクラウド化するには?Azure Files・SharePoint・SQL Server・Web化などの方法を比較
Accessで作られた業務システムを長く利用している企業から、「そろそろAccessをクラウド化したい」というご相談をいただくことがあります。
中でも比較的多いのが、「SharePointを使えばAccessをクラウド化できませんか?」というご相談です。
実際、お話を伺っていると「クラウドにファイルを置けるのであれば、AccessのバックエンドDBもそこへ置けば使えるのでは?」と考える方は少なくありません。そう考えるのはある意味自然なのですが、Accessの場合はここが少しややこしいところです。
「Accessをクラウド化する」といっても、方法は一つではありません。既存のAccessをできるだけ残したいのか、データだけをクラウドへ移したいのか、社外から利用したいのか、ブラウザやスマートフォンから使いたいのかによって、適した方法は変わります。
また、AccessのバックエンドDB(accdb・mdb)をOneDriveやSharePointへそのまま置けば、従来の共有フォルダと同じように複数人で利用できる、というわけでもありません。
この記事では、Azure Files、SharePoint、Dataverse、SQL Server・Azure SQL、Webシステム化など、Accessをクラウド環境で利用する代表的な方法について、実際のご相談や弊社で行った技術検証も交えながら整理します。
Accessのクラウド化には複数の方法があります
Accessのクラウド化を検討するとき、最初に考えたいのは「何をクラウド化したいのか」です。
- 既存のAccess画面やVBAをできるだけそのまま利用したい
- Accessのデータだけをクラウドへ移したい
- 社外や複数拠点から利用したい
- ブラウザやスマートフォンから利用したい
- 将来的にはAccess以外のシステムへ移行したい
同じ「クラウド化」という言葉でも、目的によって選択肢はかなり違ってきます。
Azure Filesが合う場合もあれば、SharePointやDataverseの方が合う場合もあります。Accessをフロントエンドとして残し、データベースだけSQL ServerやAzure SQLへ移行する方法もありますし、最終的にWebシステムへ作り替える方がよいケースもあります。
そのため、弊社でも最初から「SharePointにしましょう」「SQL Serverにしましょう」と決めて調査するわけではありません。まず現在のAccessがどのような構成で、クラウド化によって何を実現したいのかを確認するところから考えます。
Accessをクラウド化する主な方法を比較
| 方法 | 既存Access | データの配置 | 向いているケース |
|---|---|---|---|
| Azure Files | 既存FEを活用しやすい | Access BEを配置する構成を個別検証 | 既存Accessをできるだけ変更したくない |
| SharePoint | 活用可能 | AccessテーブルのデータをSharePointリストへ移行・リンク | Microsoft 365環境でデータを共有したい |
| Dataverse | 既存Accessを継続利用できる構成あり | Dataverseへデータを移行 | Power Apps・Power Automateなども活用したい |
| SQL Server / Azure SQL | AccessをFEとして活用可能 | DBをSQL Server系へ移行 | Accessを残しながらDB部分を強化したい |
| Webシステム化 | 原則として再構築 | クラウドDBなどへ移行 | ブラウザやスマートフォンから利用したい |
表にするとシンプルですが、実際には現在のAccessの構成、データ量、利用人数、ネットワーク環境、VBAやクエリの内容などによって判断は変わります。
特に「既存Accessをできるだけ変更せずに使いたい」のか、「将来的にはAccessから離れたい」のかによって、選ぶ方向はかなり違ってきます。
Azure FilesにAccessのバックエンドDBを配置する方法
既存のAccessシステムをできるだけ変更せずにクラウド側へ移したい場合、Azure Filesを利用した構成を検討できることがあります。
Azure Filesは、Microsoft Azureが提供するSMB対応のファイル共有サービスです。
Accessをフロントエンドとバックエンドに分離しているシステムであれば、各利用者のPCにはAccessフロントエンドをローカル配置し、バックエンドDBの配置先としてAzure Filesが利用できるかを検証する、という考え方ができます。
↓
ネットワーク経由
↓
Azure Files:AccessバックエンドDB
Microsoftも、複数人で利用するAccessデータベースでは、データを持つバックエンドと、フォーム・レポート・クエリなどを持つフロントエンドに分割し、各利用者がフロントエンドのローカルコピーを利用する構成を案内しています。
Microsoft公式:Access データベースを分割する
弊社でも以前、お客様への提案にあたって「Azure FilesにAccessのバックエンドDBを置いて、既存システムを利用できないか?」というPoC(技術検証)を行ったことがあります。
実際にAzure Files上へバックエンドDBを配置し、既存のAccessフロントエンドから接続して利用できることを確認しました。残念ながらこの案件自体は受注には至りませんでしたが、技術的に利用できることを実際の検証で確認できた事例です。
ただし、ここは誤解のないようにしておきたいところです。
弊社のPoCで利用できたからといって、すべてのAccessシステムがAzure Files上で問題なく動作することを保証するものではありません。また、MicrosoftがAccessのバックエンドDBの配置先としてAzure Filesを一律に推奨しているという意味でもありません。
Azure FilesへのSMB接続ではネットワーク構成も重要です。環境によってはTCP 445の通信、VPN、ExpressRoute、Private Endpointなどを含めて検討する必要があります。
Microsoftも、Azure FilesへのSMB接続について、ポート445やVPN、ExpressRoute、Private Endpointなどに関する情報を公開しています。
Microsoft公式:Azure Files のSMB接続に関するトラブルシューティング
さらにAccessは、ネットワーク経由でバックエンドDBへアクセスします。ネットワーク遅延、データ量、同時利用人数、クエリやVBAの処理内容によっては、「接続できる」ことと「実務で快適に使える」ことが同じとは限りません。
そのため、本番利用を考える場合は、実際に使用するAccessシステムとネットワーク環境を使ってPoCを行い、速度や安定性まで確認しておくのがよいと考えています。
SharePointにAccessファイルをそのまま置けばよいわけではありません
Accessのクラウド化について、弊社へのお問い合わせで比較的多いのがSharePointに関するご相談です。
「会社でMicrosoft 365を使っているので、AccessのバックエンドDBをSharePointに置けばそのまま使えるのでは?」というお問い合わせをいただくことがあります。
ここはAccessのクラウド化で、特に勘違いが起こりやすいところです。
SharePointのドキュメントライブラリへAccessのバックエンドファイルをそのまま置くことと、AccessのデータをSharePointリストへ移行して利用することは、まったく同じではありません。
Microsoftは、AccessデータベースファイルをOneDriveまたはSharePointのドキュメントライブラリに保存すること自体は可能としていますが、そこからAccessデータベースを開くことは推奨していません。
複数人がSharePoint上のAccessデータベースを開いた場合には、複数のコピーが作成されたり、予期しない動作が発生したりする可能性があるとMicrosoftは説明しています。
Microsoft公式:データを SharePoint にインポート、リンク、または移動する
SharePointをAccessのデータ保存先として使う場合は、AccessのテーブルデータをSharePointリストへ移行し、Access側からリンクテーブルとして利用する、といった構成を検討します。
Microsoft公式でも、AccessとSharePointの間でデータをインポート、リンク、移動する方法が案内されています。
ただし、ここでも「SharePointへ移せば終わり」ではありません。
既存Accessのテーブル構成、クエリ、VBA、データ量、処理内容によっては、SharePointへ移したことで思ったような性能が出ないことも考えられます。現在のAccessがどのような処理をしているかを確認したうえで判断する必要があります。
AccessのテーブルをSharePointでクラウド化してみた
OneDriveにAccessのバックエンドDBを置く場合も注意が必要です
実際に弊社へご相談いただいたケースでは、OneDriveなどにAccessのバックエンドDBを置いて利用したところ、正常に動作しなくなったというケースもありました。
「OneDriveも複数人でファイルを共有できるのだから、NASやファイルサーバーと同じように使えるのでは?」と思ってしまいがちですが、ここも注意が必要です。
OneDriveはファイルをクラウドへ保存・同期するためのサービスであり、Accessの共有バックエンドDBを配置する従来型のLANファイルサーバーと同じ仕組みではありません。
Microsoftも、OneDriveまたはSharePointのドキュメントライブラリにAccessデータベースファイルを保存することはできるものの、そこからAccessデータベースを開くことは推奨していません。
Microsoft公式:Ways to share an Access desktop database
そのため、「社内共有フォルダに置いていたAccessのBEを、そのままOneDriveへ移せばクラウド化できる」という考え方は避けた方がよいでしょう。
AccessのバックエンドDBは、複数の利用者から継続して読み書きされます。一方、OneDriveはファイルを同期する仕組みです。この違いを意識せずに使うと、想定していなかった問題につながる可能性があります。
Accessのクラウド化では、「クラウドにファイルが置けるか」よりも、「Accessがそのデータへどのようにアクセスするのか」を考えることが大切です。
SQL ServerやAzure SQLへデータを移行する方法
既存Accessのフォーム、レポート、クエリ、VBAなどをできるだけ残しながら、データベース部分だけを変更する方法もあります。
代表的なのがSQL Serverです。また、クラウドを利用する場合にはAzure SQL Databaseなども選択肢になります。
この構成では、Accessをフロントエンドとして利用しながら、データを管理するバックエンド部分をSQL Server系のデータベースへ移行します。
↓
ODBC等による接続
↓
SQL Server / Azure SQL:データベース
Microsoftも、AccessからSQL Serverのテーブルをリンクして利用できることを公式に案内しています。
Microsoft公式:Import or link to data in an SQL Server database
Azure SQL Databaseについても、Accessからリンクまたはインポートする方法がMicrosoft公式で案内されています。
Microsoft公式:Link to or import data from an Azure SQL Server Database
データ量が増えてきた、利用者が増えた、今後さらにシステムを拡張したい、といった場合にはSQL Server系への移行を検討することがあります。
Microsoftも、AccessからSQL Serverへ移行することで、Accessのフロントエンドを維持しながら、より大きなデータ量やより多くの同時利用者へ対応する選択肢を案内しています。
Microsoft公式:Access データベースを SQL Server に移行する
ただし、ここも「SQL Serverへ移せばすべて速くなる」という単純な話ではありません。
Access側のクエリやVBA、データの取得方法によっては、SQL Serverへ移行した後に処理方法を見直した方がよい場合もあります。
そのため、データベースだけを見るのではなく、現在のAccess全体の処理を確認してから移行を考えることが重要です。
Dataverseを利用する方法
Microsoft Power Platformを活用していきたい場合には、Dataverseもデータの移行先として検討できます。
Microsoftは、AccessからDataverseまたはDataverse for Teamsへデータを移行するための機能を提供しています。
Dataverseへデータを移したからといって、すぐにAccessを捨てなければならないわけではありません。
Microsoft公式では、Dataverseへ移行した後も既存のAccessデスクトップクライアントを利用してデータを扱えることが案内されています。さらに、同じデータをPower AppsやPower Automateなどから利用することもできます。
Microsoft公式:Microsoft Access データを Microsoft Dataverse に移行する
例えば、まず既存Accessを残しながらデータをDataverseへ移し、その後必要な部分からPower Appsへ移行していく、といった段階的な考え方もできます。
一方で、AccessとDataverseではデータ型やサイズなどに違いがあります。Accessのテーブルを何も考えずそのまま移せる、というわけではありません。
Microsoftも、AccessからDataverseへ移行する際のデータ型やサイズについて注意事項を公開しています。
Microsoft公式:Data types and sizes for Access data migration to Dataverse
そのため、現在のテーブル構成やAccess側の機能を確認し、どこまでをDataverseへ移し、どこまでAccessを残すのかを考える必要があります。
MS Dataverseとは?Accessユーザーのための新しい選択肢
AccessをWebシステムへ移行する方法
「Accessをクラウド化したい」というお問い合わせを詳しく聞いていくと、実際には「ブラウザから使いたい」「スマートフォンから入力したい」という要望だった、ということもあります。
この場合、AccessのバックエンドDBだけをクラウドへ移しても目的を達成できません。
AccessのフォームやVBAが、そのままブラウザで動くようになるわけではないためです。
ブラウザやスマートフォンからの利用が目的であれば、Webシステムとして作り直す、Power Appsなどを利用する、といった方法を検討する必要があります。
もちろん、既存Accessを一度にすべて廃止する必要はありません。
現在使っている機能を整理して、「この部分はAccessに残す」「この部分からWeb化する」と段階的に移行する方法もあります。
現在、既存Accessをそのままブラウザで動かす「Web版Access」はありません
ExcelやWordはブラウザから利用できるため、「Accessにも同じようなWeb版があるのでは?」と聞かれることがあります。
しかし現在、デスクトップ版Accessで作成した既存のフォーム、レポート、クエリ、VBAなどをそのままMicrosoft 365上のWebブラウザで実行できるAccessは提供されていません。
以前はAccess ServicesやAccess Web Appsという仕組みがありましたが、Microsoft 365およびSharePoint Onlineではすでに廃止されています。
Microsoftは、Microsoft 365およびSharePoint Onlineでの新しいAccess Web AppsとWebデータベースの作成を2017年に停止し、残っていたWebアプリやWebデータベースについても2018年までに停止しています。
現在、Webやモバイル向けの業務アプリを作成する選択肢としては、Power Appsなどが案内されています。
Microsoft公式:SharePoint ロードマップの Access Services
結局どの方法を選べばよいのか?
ここまでいくつかの方法をご紹介しましたが、「では自社の場合はどれを選べばよいのか?」というのが一番気になるところだと思います。
大まかに整理すると、次のような考え方になります。
| 希望 | 検討する方法 |
|---|---|
| 既存Accessをできるだけ変更したくない | Azure Filesなどを含め、現行構成を活かせる方法をPoCで検証 |
| Microsoft 365環境でデータを共有したい | SharePointリストとのリンク・移行 |
| Accessを残しながらDB部分を強化したい | SQL Server / Azure SQLなど |
| Power AppsやPower Automateも活用したい | Dataverse |
| ブラウザやスマートフォンから利用したい | Webシステム化 / Power Appsなど |
| OneDriveにBEを置いて複数人で利用したい | Microsoftの推奨を踏まえて構成そのものを再検討 |
ただ、これはあくまで大まかな目安です。
実際には「既存Accessを残したい」と言っていても、詳しく調べるとWeb化した方がよかったり、逆に「全部作り直したい」と考えていたものの、バックエンドだけ変更すれば十分だったりすることもあります。
Accessのクラウド化では、先に製品を決めるよりも、現在のAccessがどのように使われていて、何に困っているのかを整理することの方が重要だと考えています。
Accessのクラウド化でお困りの場合はご相談ください
Access開発サポートでは、現在利用しているAccessシステムの構成や利用状況を確認したうえで、クラウド化やデータベース移行についてご相談いただけます。
「SharePointへ移行できるのか」「Azure Filesを使えるのか」「Accessはできるだけ残したい」「社外から使いたい」「SQL ServerやDataverseへ移した方がいいのか分からない」といった段階でも構いません。
実際、最初から最適な方法が決まっているケースばかりではありません。現在のAccessを確認したうえで、必要であればPoCを行いながら方法を検討します。
よくある質問
Q. AccessのバックエンドDBをOneDriveに置けばクラウド化できますか?
OneDriveへAccessデータベースファイルを保存すること自体はできますが、MicrosoftはOneDriveやSharePointドキュメントライブラリからAccessデータベースを開くことを推奨していません。複数人で利用するAccessのバックエンドDBについては、別の構成を検討することをおすすめします。
Q. AccessのバックエンドDBをSharePointにそのまま置けば利用できますか?
SharePointのドキュメントライブラリへAccessのバックエンドファイルを置いて利用する方法と、AccessのテーブルデータをSharePointリストへ移行・リンクする方法は異なります。MicrosoftはSharePointドキュメントライブラリからAccessデータベースを開くことを推奨していません。SharePointを利用する場合は、SharePointリストとのリンクなど、対応した構成を検討します。
Q. Azure FilesにAccessのバックエンドDBを置くことはできますか?
弊社では、お客様への提案時にAzure FilesへAccessのバックエンドDBを配置するPoCを行い、既存Accessから利用できることを確認した経験があります。ただし、すべてのAccessシステムで同じように利用できることを保証するものではありません。また、Microsoftがこの構成を一律に推奨しているという意味でもありません。本番利用では、ネットワーク環境、データ量、同時利用人数、クエリやVBAの処理内容などを含めて個別に検証する必要があります。
Q. Accessをクラウド化すればブラウザから利用できますか?
バックエンドDBをクラウドへ移しただけでは、AccessのフォームやVBAがブラウザで動くようになるわけではありません。ブラウザやスマートフォンから利用したい場合は、Webシステム化やPower Appsなど、別の方法を検討します。
Q. Dataverseへ移行したらAccessは使えなくなりますか?
Microsoft公式では、AccessデータをDataverseへ移行した後も、既存のAccessデスクトップクライアントを利用してデータを扱えると案内されています。また、Power AppsやPower Automateなどから同じデータを利用することもできます。ただし、AccessとDataverseでは対応するデータ型などに違いがあるため、移行前の確認が必要です。
Q. Accessをクラウド化するならSQL Serverへ移行した方がよいですか?
必ずしもSQL Serverへの移行が必要とは限りません。既存Accessの構成、データ量、利用人数、利用場所、必要な機能、今後の拡張予定などによって適した方法は変わります。
まとめ
Accessをクラウド化する方法は一つではありません。
Azure Files、SharePoint、Dataverse、SQL Server・Azure SQL、Webシステム化など、それぞれ仕組みも向いている用途も違います。
特に気を付けたいのは、「クラウド上にファイルを保存できるのだから、AccessのバックエンドDBもそのまま置けるだろう」と考えてしまうことです。
Microsoftも、OneDriveやSharePointのドキュメントライブラリからAccessデータベースを開くことは推奨していません。一方で、SharePointリストへの移行・リンク、SQL ServerやAzure SQLとのリンク、Dataverseへの移行など、Accessを活かしながらデータ部分を変更する方法は用意されています。
Azure Filesについても、弊社ではPoCで既存Accessから利用できることを確認していますが、本番利用ではネットワークや処理内容を含めた個別検証が必要です。
「Accessをクラウド化したい」と考えたときは、まず既存Accessをどこまで残したいのか、社外から何をしたいのか、ブラウザ対応が必要なのかを整理してみると、選択肢が見えやすくなります。
分からない場合は、現在のAccessを確認してから一緒に方法を考えることもできます。


