FileMakerを使い始めて、ちょうど1週間ほど経過しました。
ここで前回に続き、気づいたことを何点かメモメモしまする。
【正規化】
FileMakerはいわゆるDBソフトですが、今まで使ったことのあるOracleやMySQLと違って、厳密に正規化を考えなくてもいいっぽい。
FileMakerでは1画面(1レイアウト)あたりに、1テーブルと紐付けてレコードなんかを表示するんだけど、リレーションを組んでおけば、他のテーブルのレコードなんかも表示できる。
で、今回提案資料としてのデモ版を作るにあたって、預かった帳票からDB設計をして(ヒアリングしていないので中途半端)リレーションを組んでみた。
そして、いざFileMakerで作るぞ!となったけれど、正規化しすぎて(テーブルを小分けにしすぎて)あっちのあの値を参照したいけどできない…ってことがたびたび起こった。
FileMakerの使い方として正しいのかは分からないけれど、そんなときは無理やりフィールドを追加してごまかしたりした。
いい意味での曖昧さを持った状態まで正規化をしておいて、作りながらフィールドを追加していくという流れのほうが楽に出来る気がした。
【スクリプト引数】
スクリプトという考え方自体がまだまだ不慣れで、ようやく最近それっぽく使え始めてきた。
その中でも役に立っているのが、画面遷移した際の引数の扱い方。
FileMakerでは「スクリプト引数」ってのがあって、スクリプトという関数みたいなのを実行する際に引数を渡すことができる。
ただし、その引数は1つしか渡せないので、たとえば「次の画面タイトル」「なんかのフラグ」とか2つ渡すことができないわけ。
そういうときに、こんな感じで引数を渡してあげる。
"次の画面タイトル;なんかのフラグ"
それで受け取った先で「;」で分解する。今回はセミコロンを使ったけど、引数として使わなそうな文字ならなんでもいいんじゃないかな?
ちなみに、一つ目の引数を取り出したいときはこんな感じ。
Middle ( Get ( スクリプト引数 ) ; 1 ; Position ( Get ( スクリプト引数 ) ; ";" ; 1 ; 1 ) - 1 )
あとは、音楽のストリーミング再生とかも使いそうなのでぼちぼちと調査を進めていこうと思っています。