130222-filemaker-access
 Accessを得意とする私がカード型データベースのFileMakerを触る機会がありました。あくまでも私個人の意見で有り、偏見的な見方かもしれませんが、私が感じたFileMakerを下記に書きます。

はじめに

 FileMakerは以前から知っていましたが、触る機会はなかったし、これからも触ることもないだろうと思っていました。しかし、FileMakerであるシステムを作ってほしいという依頼があり、こちらの「FileMaker Pro 12 スーパーリファレンス」という書籍を片手に開発を行いました。せっかくなので今回FileMakerを触っての感想をまとめてみようと思い、下記にズラズラと書いてみました。ちなみに今回触ったFileMakerのバージョンはWindows版のVer.12です。

テーブル+フォーム=レイアウト

 FileMakerを触って、最初に違和感を感じたのが「レイアウト」の存在です。Accessの場合、データを入力・保存するのは「テーブル」の役目で生データを見たり、編集するときに重宝します。そして、そのテーブルに入っているデータを人が見やすいように表示したり、Accessがを知らない人でも簡単にデータの操作ができるようにボタンやプルダウン、色づけなどを行う「フォーム」があります。

 FileMakerの場合はこのテーブルとフォームが一体になっていて、テーブルそのものは存在するのですが、ユーザーが直接見ることはできません。データを見るためにはAccessのフォームにあたるレイアウトを作ることで、データの閲覧や編集ができます。FileMakerのテーブルはあくまでテーブルなのでフィールドやデータタイプの設定はできます。ただ、直接見ることができないのです。

 「テーブル」というものがわからない人にとっては、「テーブル」や「フォーム」などのオブジェクトを言うよりも、レイアウト1つで全てが片付くという点では便利なのかもしれませんが、生データが見られない・編集できないのでわざわざ生データを見るためのレイアウトを作らなければならないのは私にとってはなかなか面倒でした。

「テーブル+フォーム=レイアウト」(イメージ)

「テーブル+フォーム=レイアウト」(イメージ)

テキストボックスとフィールドはセット

 Accessを使っている人であればフォーム上にコントロールソースがない空のテキストボックスを配置し、そこに入力した内容を元に動作をさせることはよくよくあることだと思います。しかし、FileMakerの場合はこのコントロールソースにあたるフィールドを必ず設定しないとテキストボックスを配置することができません。

 けど、どうしてもテーブルとは関係ない空のテキストボックスを配置したい場合があります。そのようなときはダミーのフィールドをテーブルに設けてテキストボックスを配置します。もしかしたら、ほかに何かしらの方法があるかもしれませんが、私の知る限りではこの方法しかありません。何とも無駄なことですよね。

FileMakerではテキストボックスとフィールドは必ずセット

FileMakerではテキストボックスとフィールドは必ずセット

クエリが無い

 Accessを触り始めたときにぶち当たる壁の一つに「クエリ」があるのではないでしょうか?クエリはSQLでデータを必要とする形式で表示したり、データを編集することができる非常に便利な機能なのです。しかし、わからない人にとってはこれを理解するのはなかなか難しい場合があります。しかし、データベースを触る上では必ずと言っていいほど必要な機能で、面倒でも覚えるべき機能です。

 私がFileMakerを触ったときに「クエリはどのようなものだろうか?」と思っていたら、知人から
「クエリやSQLはないよ」
と聞いたときはびっくりしました。一応、関数でExecuteSQLがバージョン12から加わったようですが、パフォーマンスや機能不足などでまだまだのようです。

 では、どうやってデータを探して引っ張り出すのか?と思ったら、そのままスクリプト(あとで説明)で検索して探して対応します(その方法は省略します)。ハッキリ言ってかなり面倒です。私がFileMakerを作っている最中に「SQLが使えれば一発なのにな~」と何度思ったことでしょう。

プログラムは書けない

 Accessを使いこなしている人であればプログラム(VBA)を使うことは多々あるでしょう。Accessではプログラムを書かなくても動作させる方法として「マクロ」があります。ある程度のことはこのマクロを組み合わせることで事は足りるのですが、難しいことをするとなるとさすがにマクロでは無理なのでVBA(プログラム)で対応します。おそらくVBAが使えればやりたいことはほとんどできるのではないでしょうか。

 FileMakerの場合はAccessのマクロと同じ「スクリプト」というものがあります。これは既に設定された機能を組み合わせてボタンクリック時の動作などを行わせることができます。もしかしたらAccessのマクロのアクションよりもFileMakerの方が機能が豊富かもしれません。

 では、FileMakerのプログラムは?というと、VBAのようなプログラムを書く機能はありません。その為、スクリプトで全て対応するのですが、やはり限界が有り、それ以上のことはできません。これもなかなか不便でFileMakerを使っている最中に「VBAだったら・・・」ということが多々ありました。

デザインはスクリプトで変更できない

 Accessならフォームのデザインをプログラムで変更することができます(ただし、おそらくマクロではそこまでできないと思います。マクロをほとんど使わないので知らないだけかも)。例えばラベルの文字をこの動作の時は「●●」だけど、この動作の時は「××」といったことや、フォームの背景色をピンクに変更するなどです。

 FileMakerのスクリプトではAccessのマクロ同様にレイアウトのデザインをスクリプトで変更することはできません。例えば、この動作の時にタイトルを変更したい場合は、タイトルを変更したレイアウトを用意する必要があります。たとえ、レイアウト内のオブジェクト(テキストボックスやプルダウンなど)が全て同じでもレイアウトを新たに作る必要があるのです。

カード型データベースだけどリレーション

 FileMakerはもともとカード型データベースといわれています。カード型データベースとはWikiPediaで調べると

データベースの構造の一つで、ある構造を持ったレコードを、単純に必要なだけ積み重ねた構造を持つ。

と書かれています。よく言われるのは、昔で言う図書館のカードでデータを管理する方法とです。私も「FileMaker=カード型データベース」とよく聞いていたのですが、実際に触ることはありませんでした。

 今回、カード型データベースとはどのようなものだろう?と思っていたのですが、触ってみてちょっとびっくりだったのがFileMakerに「リレーションシップ」があるのです。私の認識ではリレーションシップはリレーショナルデータベースで使うもので、カード型データベースには無いものでは?と思っていました。FileMakerはカード型データベースではなくなったのでしょうか?けど、触ってみると文章ではなかなか書きづらいですが、カード型データベースというところがヒシヒシと感じます。

FileMakerのリレーションシップ

FileMakerのリレーションシップ

FileMakerのメリット

 ここまで、FileMakerのマイナス点ばかりを書いていましたが、よいところもあります。とにかくFileMakerは初めてデータベースを触る人にとっては取っつきやすいデータベースと言えます。テーブルやらクエリが無いおかげでその分シンプルになっています。

 また、レイアウトに配置するボタンなどのデザインも非常にきれいに作ることができ、ビジュアルよりも機能が優先(?)というAccess(Microsoft?)よりもこの辺はFileMakerの方が断然上でしょう。

価格

 以前はAccessよりもFileMakerの方が安かったのですが、最新版のAccessFileMakerを比較数と値段が倍以上FileMakerの方が高いです。

最後に

 先にも書いたとおり私はもともとAccess屋なので偏ったまとめかもしれませんが、総合的に見ると機能的にはAccessの方が上だと思います。ただ、初めてデータベースに触って、使おうとするならFileMakerで始めるのは取っつきやすくていいかもしれませんが。

 こちらのサイトを見るとシェアはAccessの方が上のようです。その事からも利用率はAccessの方が上と思われます。ちなみにここで書かれている管理工学とは昔からある「」のことですね。

 世の中にはもっと高性能なデータベースソフトが沢山ありますが、ローカル環境で小規模のシステムで使うデータベースなら一般的に今回取り上げたAccessとFileMakerになると思いますが、業務で使うのであれば私はAccessをおすすめします。利用率が高いことよりも、いろいろとやりたいことができますし、何よりも私が得意とするソフトなので(^^)v。


FileMaker Pro 12 Single User License H6316J/A

FileMaker Pro 12 Single User License H6316J/A

定価:¥ 41,040

Amazon価格:¥ 1,499

カテゴリ:CD-ROM

発売日:2012-04-10