2007-04-20

FileMaker Pro 8.5を使う

FileMaker Pro 8.5を買った。

昨年から数十名のメンバーの業務管理などをせねばならなくなり、毎週Excelで手渡される業務データを加工してのトラッキングにすっかり嫌気が差しての導入。

先週から評価版を使い出して、いろいろ試しているうちになんとも便利にデータを整理できるじゃないですか。3日くらいかけてピロピロ作ったアプリケーションが以下のような感じ。データベースも複数ありそこそこ複雑なリレーションを持つテーブルで、メンバーの作業時間の予実管理、プロジェクト情報、面談記録、ついでに社内のWeb電話帳まで取り込んだちょっとしたアプリケーションになってしましった。

20070419 120070419-2

FileMaker Proの利点

まず、柔軟なデータの扱いは他にはないメリット。 オブジェクトとして画像やその他のアプリケーションのデータが扱えるのはもちろん、テキストですら書式付で保持されるので、編集フォールドを広げておけば、リッチテキストでのメモなども可能だ。

しかし、もっともFileMaker Proの凄いところは、完全にリレーショナルなデータベースでありながら、ユーザーインターフェイスと一体になった環境を提供してることだろう。このため、単にデータに画面項目をマッピングしただけのフォームや表ならばまったくプログラミングなしで数分で作成してしまえる。かなり凝った処理でも、スクリプトを併用すればかなりなことが可能となる。

FileMaker Proの不思議

FileMaker Proは、純粋なリレーショナル・データベースしか知らないSE崩れにはなかなか奇っ怪なソフトウェアに見える。きっと、カード型データベースを祖にしていることや、これまでのバージョンとの互換性の問題のためのと思うが、結構悩む……

  1. ユーザーインターフェイスと一体
    メリットとしても上げたが、データベースを読みながらユーザーインターフェイスにデータをセットするプログラミングを死ぬほどやってきた身としては、フィールドをパネルに貼り付けてデータベースの項目名を指定するだけで表示できてしまうのはなんだか落ち着かない。
  2. 変数、グローバルフィールド
    以前のFileMakerにはスクリプト中で使える変数という概念がなかったのだろう。そこでデータベースにレコードとは関係なく常に一つの値を持つグローバルフィールドが用意されたのだと思う。これを変数代わりに使ってスクリプトで一時的なデータの保持場所として使っていたわけだ。でも、その後変数も使えるようになった。これが等価の機能であれば悩まないのだが、等価のようでそうでないので悩むのだ。できれば、変数に統一してしまったほうがシンプルなのであろうが、たとえば変数はパネルの置くことができないなど微妙な使い分けが依然として必要なのだ。
  3. ファイル vs テーブル
    以前のFileMakerでは一つのフィアルに1テーブルだったのだろう。きっとリレーションが使えるようになったタイミングで外部のファイル上のテーブルを参照できるようになった。今のバージョンでは、1ファイルに複数テーブル格納できるし、外部ファイルにおいて参照も出来る。こうなるとどういうポリシーで設計してくかって問われている気がして悩む。
  4. スクリプト
    ユーザーインターフェイスと渾然一体となっている点もそうだが、スクリプトが手動の操作をステップにしたような感じになる。生産性はともかくとして、個人的にはJavaなどからSQLを使ってアクセスしたほうが思い通りの処理ができるだろう。悩む。
  5. コンテキスト
    通常はデータベース同士がどういうリレーションとして機能するかはデータベース定義と発行するSQL文で決まる。ところが、FileMaker ProではSQLを直接記述しないため、「リレーションシップ」で定義の際に使った「名前」でどういうリレーションのものとレコードを参照するかが決まる。これをコンテキストと呼んでいるらしい。これが最初なかなか理解できずに戸惑った。

とはいえ、この一週間使っているうちにほとんどコツが飲み込めてきたのでなんとか予定していた業務はこなせそうだ。FileMaker ProはハイブリッドCD-ROMでMac/Win版が収められているので仕事でお役ご免になったら自宅でも使えそうだ。これだけできれば、市販の宛名書きソフトは本当にもう入らなくなるなぁ。

0 件のコメント:

コメントを投稿