ERP クラウド移行後も Microsoft Access を使い続ける方法
経理・財務チームは何年もかけて Microsoft Access のクエリ、レポート、フォームを構築してきます。しかし、組織が Oracle NetSuite や Acumatica、Microsoft Dynamics 365 Business Central といったクラウド ERP に移行すると、それらのワークフローが突然使えなくなります。Access ファイルが接続していたデータベースサーバーはなくなり、代わりにクラウド API が導入されますが、ほとんどの財務チームはその使い方を学ぶ機会がありません。これは ERP クラウド移行で最もインパクトの大きい副作用のひとつですが、解決策は存在します。レポートをゼロから作り直す必要はありません。
この記事では、CData ODBC ドライバーを使用して、クラウド ERP 移行後に Microsoft Access の接続を復元する方法をご紹介します。CData ODBC ドライバーで DSN を設定し、既存の Access テーブルを再リンクするだけで、既存のワークフローを変更したり新しいツールを覚えたりすることなく、クラウド ERP データに対してライブクエリを実行できます。
クラウド ERP がデータベースへの直接アクセスを提供しない理由
オンプレミスの ERP システムは通常、SQL Server や Oracle データベース上で動作しており、IT 部門がそれを Microsoft Access のようなツールに直接公開することができました。財務チームは DSN を使って接続し、クエリを実行して、必要なデータを取得していました。
クラウド ERP はまったく異なるモデルで運用されています。NetSuite、Acumatica、Dynamics 365 Business Central はいずれもベンダーが管理するマルチテナントインフラストラクチャ上で稼働しています。データの整合性を保護し、セキュリティを確保し、共有インフラストラクチャ上で数千の顧客をサポートするために、これらのプラットフォームは REST API(場合によっては OData エンドポイント)を通じてのみデータを公開しています。顧客が基盤となるデータベースエンジンに直接アクセスすることはできません。接続先のサーバーアドレスも、SQL ログイン用の資格情報も、テーブルに対して直接クエリを実行する手段もありません。
これは特定のベンダーに限った制約ではなく、最新の SaaS プラットフォームにおける標準的なアーキテクチャです。データは顧客のものですが、データベースはベンダーのものなのです。
財務チームが Access を使い続ける理由とその重要性
Microsoft Access は「時代遅れ」というイメージを持たれがちですが、財務部門での実際の役割を正しく反映しているとは言えません。多くの組織では Access を過去のツールとして扱いますが、財務チームはその価値をよく知っています。Access はフォームの作成、パラメータ付きクエリの実行、特定の社内ニーズに合わせたレポート生成のためのローコード環境を提供します。ERP が標準で提供するレポートでは、すべてのチームの要件を満たすほど細かい粒度のデータを得られないことがほとんどです。Access はそのギャップを埋めてくれます。
機能面だけでなく、Access のワークフローには組織の知見が蓄積されています。5 年、10 年かけて構築されたクエリには、ビジネスロジックが凝縮されています。特定の製品ラインにおける収益認識の定義方法、会社間取引の照合方法、どのフィールドがどの GL コードに対応するかなどです。そのロジックは他のどこにも文書化されておらず、Access データベースの中にだけ存在しています。
これらのワークフローを置き換えるということは、新しいソフトウェアを購入するだけでは済みません。文書化されていないビジネスロジックのリバースエンジニアリング、スタッフの再トレーニング、新しいツールの習得期間中の生産性低下を受け入れる必要があります。ほとんどの財務チームにとって、そのコストは高すぎるのです。
CData ODBC ドライバーで接続を復元
CData ODBC ドライバーは、クラウド ERP の API を Access が理解できる標準的なデータベース接続に変換することで、この問題を解決します。NetSuite、Acumatica、または Business Central 用の CData ODBC ドライバーをインストールすると、以前 Access ファイルが使用していた SQL 接続とまったく同じように動作するデータソースが作成されます。ドライバーがクラウド API とのすべての通信をバックグラウンドで処理します。
Access から見れば、何も変わっていません。DSN に接続し、クエリを実行し、データの行を受け取ります。そのデータがローカルの SQL データベースではなくクラウド API から取得されているという事実は、Access にもレポートを実行するユーザーにも見えません。
CData ドライバーは、クラウド ERP のオブジェクトをクエリ可能なテーブルとして公開します。勘定科目、請求書、仕訳帳、顧客、ベンダーなどのエンティティに対して、標準的な SELECT ステートメントが使えます。WHERE 句、関連テーブル間の JOIN、ORDER BY や GROUP BY も、SQL データベースに対するクエリとまったく同じように機能します。
CData ODBC ドライバーのセットアップ
ここでは NetSuite を例にしていますが、同じ手順は Acumatica や Business Central にも適用できます。それぞれ対応する CData ODBC ドライバーに置き換えてください。
ステップ 1:CData ODBC ドライバーのダウンロードとインストール
CData ODBC Driver for NetSuite をダウンロードし、インストーラーを実行します。インストーラーは Windows ODBC データソースアドミニストレーターにドライバーを自動的に登録し、インストール完了後に DSN 設定ダイアログを直接起動します。
ステップ 2:DSN の設定
インストールが完了すると、CData ODBC driver for NetSuite - DSN Configuration ダイアログが自動的に開きます。開かない場合は、ODBC データソースアドミニストレーター(Windows スタートメニューで「ODBC」と検索し、64 ビット版を選択)を開き、System DSN タブをクリックして CData NetSuite Source を選択し、Configure をクリックしてください。
- 設定ダイアログで Advanced タブをクリックします
- Authentication セクションで以下のフィールドを入力します。
- Auth Scheme: NetSuite アカウントで使用している認証方式を選択します。多くの場合、TokenBasedAuthentication です
- Account ID: NetSuite のアカウント ID です。Setup > Company > Company Information から確認できます
- Role ID: 接続ユーザーに割り当てられた NetSuite ロールの数値 ID です
- User: NetSuite のログインメールアドレスです
- Password: NetSuite アカウントのパスワードです
- Version: NetSuite インスタンスが特定の API バージョンを要求しない限り、デフォルトのままにしてください
- Test Connection をクリックします
- 確認ダイアログに "The connection test was successful." というメッセージが表示されます
- 確認ダイアログで OK をクリックします
- もう一度 OK をクリックして DSN を保存します

ステップ 3:Access データベースでテーブルをリンク
既存のテーブルを新しい ODBC データソースに再リンクするだけで完了です。Access ファイルをゼロから作り直す必要はありません。
- 既存の Access データベースを開きます
- リボンの External Data に移動し、New Data Source をクリックして From Other Sources を選択し、ODBC Database を選びます

- Link to the data source by creating a linked table を選択し、OK をクリックします

- Machine Data Source を選択し、CData NetSuite Source DSN を選びます

- リンクするテーブルを選択します。例えば、SuiteTalk_Transaction、SuiteTalk_Account、SuiteTalk_Vendor を選択して OK をクリックします

Access のナビゲーションペインに、ODBC ドライバーを通じて NetSuite のライブデータにリンクされたテーブルが表示されます。
注意: CData ドライバーは、すべての NetSuite テーブル名の先頭に SuiteTalk_ を付加します。クエリではこのプレフィックス付きの名前を使用してください。

ステップ 4:既存のクエリで接続を確認
- リボンの Create タブに移動し、Query Design をクリックします

- Show Table ダイアログを閉じ、View > SQL View をクリックして SQL ビューに切り替えます

- SQL エディターにクエリを入力します。例:
SELECT AccName FROM Account WHERE AccNumber = '1111';
- リボンの Results グループにある Run ボタン(赤い感嘆符アイコン)をクリックしてクエリを実行します。SQL テキストを選択した状態で Run をクリックしないでください。Access は選択テキストのみの実行には対応していません
- Access がデータシートビューに結果を表示し、NetSuite からライブデータを直接取得します
旧 ERP と NetSuite でフィールド名が異なる場合は、フィールド参照のみを更新してください。クエリのロジック、フィルター、結合、レポートバインディングはそのまま維持できます。
ステップ 5:既存のレポートを実行
リンクされたテーブルにバインドされている既存の Access レポートを開いてみてください。テーブル名とフィールド名が ODBC ドライバーを通じてマッピングされているため、それらのテーブルに接続されたレポートは NetSuite のライブデータに対して自動的に更新されます。同じ期間またはエンティティについて NetSuite の UI と照合し、レポートの出力が期待どおりの値であることを確認してください。
Acumatica と D365 Business Central の場合
同じワークフローが、それぞれのドライバーを使用して両方のプラットフォームに適用できます。
- Acumatica ODBC ドライバー:Acumatica のインスタンス URL、ユーザー名、パスワード、会社名を設定します。GLHistory、Account、Vendor などのテーブルが Access のリンクテーブルとして利用可能になります。
- D365 Business Central ODBC ドライバー:Azure AD アプリ登録を使用した OAuth で認証します。GeneralLedgerEntry、Vendor、Customer などのテーブルが Access で標準的なクエリ可能テーブルとして表示されます。
いずれの場合も、設定ダイアログで必要な認証フィールドが案内され、Test Connection ボタンでテーブルのリンクに進む前にセットアップを確認できます。
ビジネス上のメリット:生産性の維持と再トレーニングコストの回避
クラウド ERP 移行は大規模なプロジェクトです。組織は ERP プラットフォーム本体の導入、データ移行、ユーザートレーニングに多大な投資を行います。しかし、旧データベース接続に依存していた下流のワークフローをすべて再構築するコストは、予算に組み込まれることも、緊急事態になるまで想定されることもほとんどありません。
CData ODBC ドライバーを使えば、そうした予期せぬコストを回避できます。財務チームは再トレーニングなしで Access をそのまま使い続けられます。既存のクエリに蓄積された組織の知見はそのまま維持され、本来の目的を果たし続けます。移行後に生じがちな生産性の低下も、日常的に使用しているツールがそのまま動作するため、大幅に軽減されます。
CData でクラウド ERP 接続をシンプルに
CData ODBC ドライバーは、ERP クラウド移行後も使い慣れた Access の接続性を復元し、既存のワークフローの再構築や財務チームの再トレーニングを不要にします。標準的な DSN による直接統合により、既存の Access クエリを最小限の変更でクラウド ERP のライブデータに対して実行でき、生産性を維持しながら、長年にわたって構築されたレポートやフォームに蓄積された組織の知見を守ります。
該当する ERP プラットフォーム向けの CData ODBC ドライバーの 30 日間無料トライアルを開始して、既存の Access クエリでぜひお試しください。ご不明な点がございましたら、CData サポートチームがいつでもお手伝いいたします。