2014/03/27

Office 365: Access Web アプリ のデータを Excel で利用する

SharePoint Onlone 上で利用可能な Access Web アプリ ですが、Access 2013 クライアントから作成・編集をして、簡単に作成可能なフォームで簡単なデータベースを作成する事が可能です。データは 1GB までという制限はあるものの、SQL Azure に格納されるようです。

非常に有用に活用できそうなのですが、実際にデータを入力していくと、それを活用する事も考えないといけません。一番、データを活用するのに適しているアプリという事で、Access Web アプリ で入力したデータを、Excel 2013 からアクセスして利用する方法について書いておきたいと思います。

っというのも、結論から言うと Excel から Access Web アプリのデータベースにアクセスする為には、SQL Naitive Client 経由でアクセスする必要があり、通常の SQL Server との外部データ連携ウィザードではアクセスできません。

というか、やり方は調べているうちに見つけたこちらの Blog を試してみた結果です (笑)

Visualize your Access 2013 web app data in Excel
http://blogs.office.com/2013/01/22/visualize-your-access-2013-web-app-data-in-excel/

手順通りに・・・
Access Web アプリ を Access 2013 で開きます。
そして、[ファイル] からバックステージを開き、[情報] セクションを開きます。
ここに SQL Azure データベース の情報が表示されています。

さらに詳しい情報を表示する為に、接続の [管理] を開き、 [読み取り専用接続を有効にする] をクリックします。

そうすると、設定が変更され、データベース側で読み取りの設定が可能になります。
再び、接続の [管理] を開くと 無効 になっていたメニューが選択可能になっていて、[読み取り専用接続の情報を表示] を選択すると、"SQL Server の接続情報" が表示され、ユーザー名やパスワードなどの情報も入手する事が可能です。


この情報を使って、Excel から データベース に対してアクセスすれば良いという事になります。
で、Excel を開き、[データ] タブの [その他のデータ ソース] にある [SQL Server] で接続したい所なのですが、上記の設定を使ってもエラーでアクセスができません。

クライアントの IPアドレスが Azure の Firewall で許可されていないという事らしいです。もちろん、Azure マネージメントポータル へのアクセス権もありません。

で、解決方法として上記でも記載しましたが、SQL Server Native Client 経由であればアクセス可能です。

再び、Excel の [データ] タブの [その他のデータ ソース] にある [データ接続ウィザード] を選択します。

[データ接続ウィザード] にて [その他/詳細] を選択します。

[データ リンク プロパティ] の [プロバイダー] の選択にて、[SQL Server Naitive Client 11.0] を選択します。

[ 接続 ] タブに移動して、上記の Access バックステージ にて取得した "SQL Server 接続情報" を元に、"サーバー名" "ユーザー名" "パスワード" "データベース名" を入力して、[ 接続テスト] を行い、問題なければ [ OK ] をクリックします。

もし、接続テストでうまくいかない場合は、Access に戻り、接続の [管理] を開き、 [この場所] を選んで、現在のPCからの接続を許可するように設定を変更してください。

[ データ接続ウィザード ] を進めます。ここからの データベースとテーブルの選択 等 は適宜。




このように、ピボットテーブルのフィールドとして取り込むことができました。

Excel 以外のアプリケーションでも応用が利きそうです。
ちなみに、昨今話題の PowerBI の Power Query だと、もう少し簡単に取り込むことが可能なようです。

0 件のコメント:

コメントを投稿