みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
一つのレイアウトに同一フィールドが複数表示されています。
例えば、
レイアウトAに、フィールドBがたくさん表示されています。
Bは5個あって、連番でそれぞれ1,2,3,4,5の値を持っています。
レイアウトA上のスクリプトで「新規ウインドウ」した後に、「フィールドへ移動」でフィールドBを指定すると、
一番最初にある値1を持ったところにカーソルが移動してしまいます。
これを値3を持っているところに移動させたい場合、どのようにしたらよいでしょうか。
調べると「オブジェクトへ移動」を利用するとあるのですが、オブジェクトへ移動するための名前付けも、フィールドごとにしかできず、
やり方がわからなくなっています。こちら方法ありますでしょうか。よろしくお願いします。
ーーー
https://fmhelp.filemaker.com/help/18/fm … field.html
レイアウト内の 1 つのフィールドに複数のインスタンスがあり、[フィールドへ移動] スクリプトステップを含むスクリプトが実行されている場合、レイアウト上での作成順に基づいて最初に表示されるフィールドのインスタンスがフォーカスの対象となります。特定のインスタンスを指定するには、代わりに [オブジェクトへ移動] スクリプトステップを使用してください。
Offline
レイアウト上のフィールドは同じソースでも個別にオブジェクト名が付けられます。
が、「Bは5個あって、連番でそれぞれ1,2,3,4,5の値を持っています。」といいますが、
フィールドBを5個配置したら、全部同じ値しか持ちえません。
Bの繰り返しが5ってことではないですか?
すいません、まだ言葉に慣れておらずわかりづらい説明になってしまっています。
Bの繰り返しではなく、一つのレイアウト内にテーブルの表が入っているイメージです。
レイアウトAの中に、Aのものとは別の関連テーブルの表が入っており、その別テーブルのフィールドBが複数並んでいるというイメージです。
伝わりますでしょうか?
Offline
ポータルに表示されている、という状況なのでしょうか。
ポータル行へ移動
で、
Let (
ls = ¶ & List ( B ) & ¶ ;
ValueCount ( Left ( ls ; Position ( ls ; ¶ & "3" & ¶ ; 1 ; 1 ) )
)
の行へ移動するといいでしょう。
Offline
ありがとうございます!まさにポータルでした。
フィールドBの値がIDで都度違うので、最後に選んでいた(アクティブにしていた)行のものが選ばれるようにしたいです。
ただ「ポータル内の行へ移動(最後の)」を使うことでやりたかった目的は一応クリアできました!ありがとうございます!
Offline
(最後の)は、ポータル内の一番下の行、という意味なので、「最後に選んでいた」行とは特に関係ないのですが...
はい、本来やりたかった「最後に選んでいた」行の選択はできませんでした。。
代わりに一番下の行に移動することで、完全ではないですが目的は一応クリアできた、という形ですね。
Offline
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 556.65 KiB (Peak: 579.49 KiB) ]