前回紹介した『小さな会社のFileMakerデータベース作成・運用ガイド』に沿ってFileMakerの開発を進めていますが
記述されている内容に沿っても動かない箇所があったので補完。
P121 ■スクリプトを使った自動値の入力
ここでスクリプトを作って、郵便番号から都道府県と市区町村を自動取得できるようにします。
ところがどっこい、P115で郵便番号から住所を自動取得する設定をしていますので
スクリプトを実行せずとも都道府県と市区町村を取得してしまいます。
そのため、スクリプトを作成する前に
自動取得を外しておくことをオススメします。
というか、外しておかないとスクリプトの動きを見ることが出来ません(笑)
P115 3[入力値の自動化]タブで、[計算値]にチェックを入れます
と逆の手順、つまり[計算値]のチェックを外すことで自動計算はされなくなります。
さて、スクリプトを実行する準備が整ったぞ!
と思ったのも束の間。
本の通りにスクリプトを作っても動かない!!
もう一つ罠がありました(笑)
罠はここ。
エラー処理[オン]
変数を設定[$zipCode; 値:顧客データ::郵便番号]
If[$zipCode≠""]
現在のスクリプトを終了[]
End If
P122のスクリプトの3行目にあるIF文ですが、IF文で判定する条件($zipCode≠””)が間違っています。
記載の通りにスクリプトを作ると、$zipCode≠””が真のとき、スクリプトを終了してしまいます。
郵便番号が入力されていると、検索せずにスクリプトを終了するのです(笑)
そりゃ、何度実行しても動きません。
ここで終了しているんですから。
エラー処理[オン]
変数を設定[$zipCode; 値:顧客データ::郵便番号]
If[$zipCode=""]
現在のスクリプトを終了[]
End If
IF文の条件を($zipCode=””)に変更することで、スクリプトが動くようになりました。
ちょっとハマったので覚え書き。
本に掲載されているスクリーンショットも $zipCode≠”” になっていたのでご注意を。
コメント