みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
【やりたいこと】
ポータル内のレコード、チェックしたものだけを別レコードとして複製させたい
【内容】
ポータル内のレコード、チェックしたものだけを別レコードとして複製したいのです。
添付しましたファイル(20200529ポータル複製)のレイアウト移動画面、
主キー55の2行目にあるレコード「みみ」と主キー60の2行目にあるレコード「ささ」を
チェックし、上バーにあるチェック抽出ボタンを押すと、別レコードとして複製できるのですが、
チェックを入れた主キー60の2行目にあった「ささ」が主キー55の3行目に、
主キー55の2行目にあった「みみ」が主キー55の4行目に移動してしまいます。
チェックしたレコードの位置は変わらず、別レコードとして複製させたいのですが、
方法がわからず困っています。アドバイスをいただけないでしょうか。
どうぞよろしくお願いいたします。
https://www.dropbox.com/s/bjv179ipas1im … fmp12?dl=0
【使用PC・使用FM】
Windows10
FileMaker Pro 18 Advanced
Offline
ポータルかリレーションにソートが指定されているでしょう。
複製後のレコードが表示したい位置(一番下?)になるように、ソート順を変える必要があります。
既存のフィールドでソートできないなら、フィールドを追加してソート順を入れます。
複製したレコードをポータル内に表示させたくないなら、ポータルフィルタを使いますが。
レコードをソートした状態でスクリプトが動いているためでは。その状態では、新規レコードを含めて、ソート状態が保持されます。
ただ、何が目的なのかよくわからないファイルです。通常、ポータルは元のテーブルのレイアウトの中で関連レコードを表示させるのですが、自己テーブルのポータルになっていますし、複製前に主キーを加工したUUIDで置き換えていますし。
Offline
コメントありがとうございます。
確認したところ、ポータル、リレーションにはソートは指定されていませんでした。
スクリプトにレコードのソート解除を入れてみましたが変わらず、煮詰まっています。
すみません、他にソートが解除できる方法があるのでしょうか。ご教示いただけますと幸いです。
Offline
ファイルを見ないでコメントしてますが、ソート指定がないなら、自分の表示したい順にソートする必要がありますが
指定がなければ作成順に表示されるはずですが...(複製前のレコードの順番は変わらない)
読み直してみたら、ポータルが2つ表示されてて複製後に別の方に行ってるということみたいですね。
Shinさんのコメントによると「自己テーブルのポータルになっていますし」ということは、リレーションがないわけで、ポータルは現在のテーブルのソート順になります。ポータル内だけ別ソートは不可能です。
解除していいものか、目的が分からないと何とも言えないようです。
> チェックしたレコードの位置は変わらず、別レコードとして複製させたいのですが、
テーブル内の動きは、その通りになっていますが、そのように見えない様な動きをつくっていますよね。
レコードを選択して、主キーを変更してから、そのレコードを複製しています。つまり、元になっているレコードの主キーを書き換えていますので、複製したレコードが元の位置に、元レコードが最下行に移動したように見えるのです。レコードを複製してから、主キーを書き換えましょう。ただ、UUID を加工した主キーを設定しているのは何か意図があるのですか。
Offline
コメントありがとうございます。いただいたコメントをもとに修正したところ解決しました。ありがとうございました。
Get(UUID)にしたのは、
新規レコードを作成した際に主キーのNoと、
複製したレコードの主キーのNoが重複するのではないかと考えて、
複製したレコードの主キーをGet(UUID)としてやれば区別できると思ったからです。
すみません。今思いつく方法でGet(UUID)としたのですが、何かいい方法がありましたらご教示いただけないでしょうか。
Offline
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 518.23 KiB (Peak: 523.13 KiB) ]