LoginSignup
16
18

More than 5 years have passed since last update.

【FileMaker】もうエクスポートはしない。ExcelからFileMakerのデータを持ってくる!

Last updated at Posted at 2017-11-30

今年もやってきました、Advent Calendar。
私の番では、FileMaker Pro 16を中心にお送りします。
と言っても、あまりバージョンを意識しなくても実装できるものが多いので、記事を読んだ後は是非とも実装してみてくださいね。

今日は、FileMakerを意識せずに、FileMakerのデータをExcelに取り込む、というタイトルです。
FileMakerからデータをエクスポートするのはFileMaker屋さんがするっと考えることですが、そうでないIT屋さんやExcel屋さん(あえてIT屋さんと切り離しました)は、FileMakerは敷居が高いのではないでしょうか?

そこで、Excelに標準搭載されているODBCデータインポート機能を使ってFileMakerのデータを取得しよう、ということになります。
かつ、今回は、FileMaker Serverを使わずに、PCで使っているFileMaker ProのデータをそのままExcelに持ってきます。

前提条件

今回の用意するものは、以下になります。
・Windows PC
・Excel(ODBCデータインポート機能がついているバージョンであれば大丈夫かと)
・FileMaker Pro
・FileMaker ODBC

Windowsと限定したのは、理由があります。
それは、

Windows版のExcelでないと、FileMakerの現バージョンが扱えない

ためです。
Excel for Macは、fp7拡張子のFileMaker 11以前のものでないと扱えません。
この辺は、Microsoftになんとかしてもらいたいのですが、そんなこと言ってると進まないので今回はWindowsで環境を整えました。

ODBCの準備

異なるDBとのやりとりを実現する手段として、ODBCが選択肢として挙げられます。
今回は、FileMakerのインストールメディアで提供されいてるODBCドライバを使います。
Windowsへのインストール方法は、ODBCとJDBCガイド をご覧ください。
このPDFの13ページに、「ODBC クライアントドライバのインストール (Windows)」とあります。

すでにODBCをインストール済みの場合は、作業なしです。

FileMakerファイルのアカウント準備

アクセスするFileMakerのファイルで、ODBCからのアクセス用のアカウントを作成します。
このアカウントを使って、接続します。
このアカウントでは、「ODBC/JDBCによるアクセス」という権限を付与しておいてください。
これがないと、アクセスがはねられます。
1201_1.png

ODBCデータソース(DSN)を作成する

Windowsに標準で装備されている、ODBCデータソースアドミニストレーターを使って、DSNを設定していきます。
PCにログインしている人が全員使える、システムDSNで今回は作成します。
1201_2.png

FileMakerのドライバを選択します。
1201_3.png

次へボタンで、設定を続けます。
1201_4.png

DSNの名前を適当につけます。
1201_5.png

今回は、同一PC内にあるFileMakerからデータを取得するので、localhostのまま、続けます。
1201_6.png

アクセスするFileMakerファイル名を指定します。
1201_7.png

最後に、テストボタンが出てきます。
FileMakerのファイルを立ち上げ、先ほどFileMakerで設定したアカウントのid,passを指定して、FileMakerにアクセスできることを確認してください。
1201_8.png

うまくいきましたか?
1201_9.png

FileMakerからデータを取得する

では、やっとFileMakerからExcelにデータを取り込みます。
まずは、FileMakerのファイルを開いておいてください。

FileMakerのファイルが閉じている場合、ODBC接続をした時に次のキャプチャのようなODBCエラーが発生して、データの取得に進めません。
1201_19.png

では、FileMakerのファイルを開いたところで、続きです。
Excelの「データ」タブで、「ODBCから」をクリックし、先ほど設定したデータソースを選択します。
1201_10.png

FileMakerで設定したアカウント情報で、接続します。
1201_11.png

アクセスに成功すると、どのデータをダウンロードするか、ナビゲーターが表示されます。
ダウンロードするテーブルを選択します。
今回は、KEN_ALLというテーブルになります。
1201_12.png

データのプレビューが出てくるので、「読み込み」ボタンをクリックします。
1201_13.png

データ、きました!
1201_14.png

取得するデータの条件を設定する

テーブル全部のデータを取得する、というのは、実は稀なんではないでしょうか?
例えば、月別データやエリア別データなど、欲しいデータの条件を設定したいですよね?

ODBCデータ取得をマクロ登録してみると、普通に「読み込む」だけだとselect allしているのがわかります。
1201_15.png

なので、ステップアップとして条件を指定してデータを取得してみます。
データをプレビューした時に、「読み込み」ボタンの横に「編集」というボタンがあります。
1201_16.png
これを、クリックします。

例えば、東京都のデータのみを抽出する場合です。
このように、Excelを使っていればよくみるフィルター機能を使って条件を指定できます。
1201_17.png
条件を指定し終わったら、「閉じて読み込む」をクリックして、取り込みます。

東京都データ、きましたね!
1201_18.png

いかがでしたでしょうか?
今回のこの実装をマクロ化してボタンにしておくと、一発で欲しいデータが取得できますよ。
FileMakerを使い慣れなくても、FileMakerのデータを活用できますので、ぜひやってみてください。

16
18
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
18