みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
初心者でいろいろと思考錯誤していますが、わからなかったため質問させてもらいました。(使用環境はFileMakerPro18です)
レイアウト1とレイアウト2は「ID」でリレーションシップしており、
レイアウト2で新規レコードのボタンを作成しています。
レイアウト2内の「IDフィールド」をコピーして、新規レコードのボタンでIDがペーストされるよう反映するにはどのようにスクリプトを作成したら良いのでしょうか?
お手数ですがご教授いただければ幸いです。よろしくお願い致します。
Offline
テーブル1とテーブル2ですね。
テーブル1にあえて新しいレコードを作っておく必要はほぼ無いです。その様な動きを作る必要があるのでしたら、2テーブルにせずに1テーブルで構築するのが、理論的には正しいことが多いです。
あえてレコードを作るのでしたら、テーブル1でリレーションを通してのレコード作成を許可しておき、フィールド設定[テーブル1::ID ; ID] を行えばいいでしょう。
Offline
Shin様
お返事ありがとうございます。
テーブル1・2でした。申し訳ございません。
説明不足でしたので、もう少し詳細を説明します。
テーブル1にテーブル2の内容をポータルしている関係で、
テーブル2ですでに同じIDをリレーションしている状態から、さらに追加で同じIDを反映させたまま新規レコードを作成できるスクリプトということです。
理想としては、
テーブル2で「同IDで新規レコード作成」のようなボタンを作り、テーブル2内の項目がテーブル1のポータルに反映させられるようにしたいです。
説明が下手で申し訳ございません。
IDだけが入った空のレコードを作るのですか?
Offline
あえてレコードを作るのでしたら、テーブル1でリレーションを通してのレコード作成を許可しておき、フィールド設定[テーブル1::ID ; ID] を行えばいいでしょう。
Shinさんのこの提案で満たせるように思うのですが......
ポータルの空行にテーブル2のレコード(とフィールド)を次々と入力できますよ。
その際テーブル2には同じIDのレコードが新規作成されています。
テーブル2のレイアウトに同じIDのレコードを作成するボタンが必要なのですか?
Offline
画面構成などが詳細に書かれていないので、実現したいことがハッキリしませんね。
(レイアウトとテーブルは深く関連していますが、異なる概念ですので明確に区別してください)
推測ですが、Mozさんの最後の予想のとおり、
・レイアウト1にはテーブル2のポータルが置かれている
・レイアウト2にボタンを設け、参照しているテーブル2の現在のレコードと同じ親IDのレコードを新規作成できるようにする
・(その結果)レイアウト1のポータルにテーブル2の新規レコードが表示(反映)される
ということでしょうか。
だとすれば、レイアウト2で以下の4行のスクリプトを実行するのはどうでしょう。
変数を設定[$theID ; 値: テーブル2::ID ]
新規レコード/検索条件
フィールド設定[ テーブル2::ID ; $theID]
フィールドへ移動[ ]
4行めでテーブル2::IDからフォーカスが外れレコードが確定するので、もし別ウインドウでレイアウト1が
表示されていればこのタイミングでポータルが更新されます。
もしIDだけが入った空のレコードを作るのではなく、ユーザに続けて何らかのデータ入力を促すのであれば、
直後に入力させたいフィールドを指定して、フィールド移動すれば良いと思います。
Last edited by koeda (2020-01-05 17:04:28)
Offline
Shin様、Moz様、koeda様
至らないことが多く大変申し訳ございませんでした。
皆さんのコメントを参考し、スクリプトを作ることができました。
ありがとうございました。
Pages: 1
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 555.73 KiB (Peak: 579.33 KiB) ]