みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
ファイル1とファイル2があります
ファイル1にファイル2のレコードを新規作成できるボタンをつくりたいのですが、
スクリプトはどういった計算をくみこんだらよいでしょうか?
ファイル2にはテーブルは一つのみです。
ファイル1にはテーブルがいくつもあり、テーブル1のフィールド1のみ、その新規作成ボタンを押した時にフィールド1がファイル2のテーブルの新規作成したレコードのフィールドaに自動で入るようにしたいです。
わかりにくいかもしれないですが、教えてくださると助かります。
各テーブルに、UUIDの主キーがあるとします。テーブル2にテキストフィールドを作り、テーブル1の主キーとリレーションを張っておき、リレーションを通してテーブル2側のレコードの作成を許可しておきます。ます。
テーブル2にもう一つテキストフィールドを作っておきます。
テーブル1のボタンは、フィールド設定[テーブル2::テキストa ; フィールド1]
の1行でいいです。
Last edited by Shin (2023-02-18 18:29:33)
Offline
それだと対1しかできませんね。
ファイル1が多で、ファイル2が1の場合、
ファイル2でユニークになる何らかの方法が必要でしょう。
対多と考えれば、
ファイル1のレイアウトに、ファイル2のポータルを配置、
その最後の行に入力で新規レコード作成できます。
Offline
ファイル1の各レコードのUUIDは理論的にユニークですので、ファイル2のレコードもそのユニーク値をもったレコードになりますので、1対1のレコードが作成できます。
Offline
他の方法としては、ファイル1に外部データソースでファイル2のテーブルを追加すれば、ファイル1内のテーブルと同様に操作できるのでは。
あるいは、ファイル2で新規レコード作成のスクリプトを作って、フィールド値をスクリプト引数で渡してそれを呼び出す、とか...
各テーブルに、UUIDの主キーがあるとします。テーブル2にテキストフィールドを作り、テーブル1の主キーとリレーションを張っておき、リレーションを通してテーブル2側のレコードの作成を許可しておきます。ます。
テーブル2にもう一つテキストフィールドを作っておきます。
テーブル1のボタンは、フィールド設定[テーブル2::テキスト2 ; フィールド1]
の1行でいいです。
こちらの方法で作成することができました。ありがとうございます!
これだと1回そのレコードのボタンを押してしまうと、もう新たに新規作成はできなかったんですが、
もう一回押すとまた全く同じのレコードをまたテーブル2に新規作成することは可能でしょうか?
フィールド設定[テーブル2::テキスト1; “”]
フィールド設定[テーブル2::テキストa ; フィールド1]
としてみてください
Last edited by Shin (2023-02-18 18:30:02)
Offline
ありがとうございます!!
試してみたんですが、2回目押すと一回目に作ったテキスト1が消えたり、作成できなかったりしてしまいます(><)
ファイル1とファイル2の関係が描かれていないので、具体的動きが想定できません。
#7の方法は、ファイル間に全く相互関係がなく、単にファイル2にレコードを作る、という場合の動きです。ファイル2のテーブル2::テキスト1は消しているのですが、目的のテーブル2::フィールド2は消えることはありえませんし、確実にファイル2にレコードは作成できます。
もし、ファイル間に関連があるのでしたら、チポさんの書かれたポータルがいいでしょう。または、タイムスタンプなどを取得するフィールドでのリレーションを足したものでレコードを作り、参照するにはUUIDのみで行えばいいです。
Offline
Pages: 1
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 561.73 KiB (Peak: 581.28 KiB) ]