Access は様々なデータを分析できる簡易データベースであり、アプリケーションプラットフォームです。Microsoft Office 内の製品として多くのエンタープライズで使われています。
この記事ではクラウドストレージのbox で共有されているExcel ファイルのデータをデスクトップのAccess から直接参照する方法を説明します。
CData ODBC Driver for Excel をダウンロード
CData ODBC Driver for Excel をダウンロードします。
30日の無償トライアルが利用可能です。
.exe ファイルがダウンロードされるので、クリックしてインストーラーを立ち上げます。デフォルトせっていのまま進んでインストールを行います。
box 内のExcel ファイルに接続するODBC DSN を作成
インストーラーの最後の画面でDSN 設定画面を開くにチェックが付いているのでインストールを完了するとODBC DSN 設定画面が開きます。もちろんWindows のメニューからODBC マネージャを開いて設定してもOK。
今回はBox に格納されているCDRanking.xlsx というファイルを使います。
普通のExcel ファイルに入ったテーブルです。
ODBC DSN 設定画面では、通常は直接ファイルアクセスできるExcel ファイルを選択しますが、今回はbox 内のExcel を指定します。
Auth Scheme はOAuth を選択
URI にはbox:// の後にファイルパスとファイル名を入れます。今回は box://Music/CDRanking.xlsx
Initiate OAuth は、GETANDREFRESH を設定
これで「接続テスト」をクリックします。
ブラウザが開いてbox にサインインすると認可を求められます。 Box へのアクセスを許可します。
これでODBC DSN でbox のExcel ファイルへの接続が成功しました。DSN 設定画面に戻り、OK ボタンをおして、接続を確立します。
Microsoft Access からbox 内のExcel データに接続
あとは、普通のODBC データソースしてMicrosoft Access からbox 内のExcel データに接続します。
このODBC Driver ではbox 内のExcel についてはデータの読み出ししかできません。Excel へのデータ書き込みには対応していないので注意してください。(ローカルのExcel ファイルへはODBC Driver で書き込みが可能ですが)
Access を開いて、「新しいデータソース」→「他のソースから」→「ODBC データベース」を選択します。
先ほど作成したDSN を選択します。
box 上のExcel ファイルの場合には書き込みができないです。リンクテーブルとしてでも、インポートでもどちらでも接続が可能です。今回はリンクテーブルではなく、インポートにしておきます。
テーブルを選択します。
これでAccess からbox 上のExcel ファイルのデータを読むことができました。
当然、Access のクエリ機能も利用可能です。
クエリデザイナでクエリを作ります。
フィルタリングや集計などを含むデータ取得が可能です。
以上です。
まとめ
CData ODBC Driver for Excel では、box だけでなく、Amazon S3、Dropbox、SharePoint、Google Drive など多様なストレージ内のExcel ファイルをクエリすることができます。
また、ODBC Driver for CSV、JSON なども同様にクラウドストレージ内のファイルデータをクエリ可能です。