みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
また質問させて下さい。
ポータルを日付毎に表示させたいと思っております。
マスタには日付、商品名、金額等があり、日付をリレーションして別レイアウトのポータルで商品名、金額のみ表示させています。
この時に1日に表示させる種類が多いので、日付が変わる毎に新規ページでポータルに表示させようと思っております。
スクリプトをボタンに組み込んで手動でやるのは出来るのですが、マスタの日付に異なる日付を入力したときのみ新規ページが作成出来るような事は可能でしょうか?
もし可能でしたら教えていただければと思います。
よろしくお願い致します。
Filemaker pro19 Mac OS
Offline
日付が同じデータをポータルの中に表示しているのに、「日付が変わるごと」という意味がわかりません。
ページというのは印刷時にしか存在しないので、何か勘違いしているような気がします。
分かりにくかったようで申し訳ありません。
ページではなくレコードの間違いでした。
今日付を参照フィールドにしています。
仮ですが、レコード1には1月6日の商品名と金額をポータルで表示させていて、レコード2には1月8日の商品名と金額をポータルで表示させたい感じです。
Offline
日付のグローバルフィールドを作って自己リレーションし、そのグローバル日付を増減させれば簡単ですし、日付だけ持つ、というあまり意味のないテーブルを作る必要も無くなりますよ。
Offline
ご希望の方法を、
マスタから見て、日付のテーブルに関連レコードがなければその日付のレコードを作る。
これをスクリプトにして、
マスタの日付フィールドにスクリプトトリガ OnObjectExit あたりで動かせばいいでしょう。
リレーションの設定で日付テーブルの新規レコード作成に許可を与えておけば、
フィールド設定で
日付テーブル::日付フィールドに、マスタ:日付を入力するだけで新規レコードが作成されます。
ポータルで表示の目的が分かりませんが、
日付ごとに分けて表示するだけなら、
マスタで日付をキーとする集計レイアウトでもいいかも。。
Offline
皆様ありがとうございます。
チポ様の方法でやってみたいと思うのですが、スクリプトで関連レコードがなければその日付のレコードを作るのはどのようにしたらよいでしょうか?
Offline
関連レコードの有無は
IsEmpty https://help.claris.com/ja/pro-help/con … empty.html
IsValid
Count
などで判定できます。
リンク先の近辺を調べてみてください。
スクリプトステップ、分かりませんか?
Offline
チポ様
ありがとうござます。
自分で調べてやってみたいと思います。
また分からない所がありましたら質問させていただきますのでよろしくお願い致します。
Offline
リレーションシップグラフのアーム?をダブルクリックをクリックするとリレーションの照合画面が開きますよね。そのとき、画面下に「このリレーションを利用して、このテーブルでのレコード作成を許可」みたいなオプションがあると思います。
これを有効にしていれば、照合先に対象レコードが無い状態で照合先のフィールドに何かデータを入力しようとすると自動で照合条件に合ったレコードを作成してくれるようになります。
私がよく行う手法は、トリガ用のフィールドを作り、新規レコード作成(リレーション利用)が必要になったタイミングで適当な値(ex:1)を入力するようにしています。
なので、マスタの日付フィールドのスクリプトトリガ(OnObjectExitなど)に日付テーブル?のトリガフィールドに1などを入力するスクリプトを仕込んでおけば、対象レコードの有無の検証を行う工程は省くことが出来ます。
Offline
Pages: 1
[ Generated in 0.013 seconds, 9 queries executed - Memory usage: 518.16 KiB (Peak: 523.07 KiB) ]