こんにちは zuzuです。
今回は、FileMaker初心者がよくやるミス3選~その1~(自身経験談)こちらの記事でも紹介した
・ポータルにフィールドを設置しても表示されない
について深堀していこうと思います。
主な、原因として考えられるのが
- ポータルにちゃんとフィールドが設置されていない
- リレーションが間違っている
などありますが、ほかの原因でバグなんかじゃないかな と思われる現象もあると思います。
・ポータルにちゃんとフィールドが設置されていない
こちらは上記でも紹介している FileMaker初心者がよくやるミス3選~その1~(自身経験談) で記載してあるので詳しくはこちらを見てみてください。
簡単に説明すると、ちゃんとポータルにフィールドが載っていないのが原因ということです。
・リレーションが間違っている
単純にリレーションを間違っているだけです。
間違っている以外に、
- 計算フィールドの非保存
- 集計フィールド
は使用できないので、確認してください。
集計フィールドをリレーションの条件にするようなデータベースはないと思いますが。。。
これらを使用したい場合は、保存用のフィールドを作成、計算フィールドの非保存の値や集計フィールドの値を保存するような仕組みを作って、保存用のフィールドをリレーションの条件に置き換える必要があります。
計算フィールドの非保存や集計フィールドは便利ですが、こういったデメリットもあるので、データベースを作成する際は注意して作成しましょう。
他に表示されない現象
スクリプトで関連レコードに新規レコードを作成して、元のレイアウトに戻ってみると表示されてない 現象に遭遇したことある方もいるかもしれません。
自分が上記の現象を確認したときの機能は、ポータルが表示されている上に入力するためのフィールドを設置して、ボタンで関連レコードのレイアウトに移動して新規レコード作成後、リレーションキーや入力欄に入力された内容を「フィールド設定」で入力して元のレイアウトに戻ってくる みたいな機能の確認しました。
原因を探すと、レコードが確定されていないのが原因でした。確定って結構重要ですよね。(笑)
それでも表示されない場合は、元のレイアウトに戻った後に「ウインドウ内容の再表示」も同時に使いました。リレーションが複雑だったりすると、表示に時間がかかっているような気がします。
原因不明の現象
ほんの少し前ですが、原因がわからない現象がありました。
リレーションシップで、「このリレーションシップを使用して、このテーブルでのレコードの作成を許可」にチェックされているポータルで、最後の行に入力しているのですが、レコードが作成されないのです。でも入力はできているようで、別のレイアウトに移動してからまた戻ってくると追加されているのです。
入力されているのに最後の行にレコードが追加されていないので、一旦他のレイアウトに移動して戻ってくるというのを繰り返さないと連続して入力できませんでした。
FileMakerを一度閉じて、開きなおすと現象が直っていました。また、起きるのも嫌なのでいろいろ原因探しましたが、結局わからずじまいでした。自分の推測ですが、その時のネット速度が遅かったのかなと思います。計っていなかったのでなんとも言えませんが。。。
またその現象が起きたら、もう少し詳しく見てみたいと思います。
最後に
原因の不明な現象も紹介しましたが、自分が経験していないだけで他にもあると思います。まだまだ勉強不足だなと実感した良い機会になりました。
またほかにも確認できたことあったら紹介していこうと思います。
それでは、今回はこのくらいで。
お読みいただきありがとうございました。