みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
よろしくおねがいします。
FileMaker16です。
iPadで顧客管理できるものを作っています。
顧客マスタ、
顧客の会社マスタ、
特定の商品を購入した顧客の検索結果画面、
などの画面があります。
顧客マスタの会社名を押すと会社画面に飛ぶリンクがあるのをはじめ、
各画面には関連画面に飛ぶリンクが色々しかけてあります。
それはそれで便利だったのですが、
飛んだ先から元の画面に戻っていきたいという要望が上がってきました。
一回戻るだけなら、飛ぶ前にレイアウト名を保存するだけでいいのですが、
利便性を考えるとずっと先の画面に戻れる方が便利です。
どういう方法がありますでしょうか。
Offline
たまに出てくる話題ですね。
ひとつの方法として、関連画面を開くときに新しいウインドウで開いていくというやり方。
元に戻すときはウインドウを最前面から順番に閉じていきます。
私はこの方法を使ってやっています。
レイアウト名を順番に保存して・・・というやり方も挑戦したことがありますが、
結局はこのシンプルな方法で私は対処しています。
ひとつの方法として参考にしてみてください。
・・・と書きましたが、ipad運用でしたね。
私はipadでの経験が無いので新規ウインドウ使えなければごめんなさい。
Last edited by やまほん (2018-07-26 22:18:22)
Offline
やまほん様、ありがとうございます。
たまに出てくる問題で、これという方法がないのですね。
新規ウインドウの方法、参考にさせていただきます。
ありがとうございました。
Offline
私が作ったものではありませんが、たまたま知人に教えて頂いたシステムに
遷移毎にグローバル変数に改行でレイアウト名を記憶させ、戻るボタンで逆走するスクリプトがありますので
(掲載許可を頂いたので)記載しておきます。
#------必要なレイアウトに OnLayoutEnterに埋め込むスクリプト(ここにレイアウト名を記憶させます)
if[Substitute ( MiddleValues ( $$レイアウトbox ; $$ナンバー ; 1 ) ; "¶" ; "" ) ≠ Get ( レイアウト名 )]
if[$$ナンバー = ValueCount ( $$レイアウトbox )]
変数を設定[$$レイアウトbox;値:If ( IsEmpty ( $$レイアウトbox ) ; Get ( レイアウト名 ) ; $$レイアウトbox & "¶" & Get ( レイアウト名 ))
Else
変数を設定[$$レイアウトbox;値:If ( IsEmpty ( $$レイアウトbox ) ; Get ( レイアウト名 ) ; LeftValues ( $$レイアウトbox ; $$ナンバー) & Get ( レイアウト名 ))
End if
変数を設定[$$ナンバー;値:ValueCount ( $$レイアウトbox )]
End if
次に戻るボタン
変数を設定[$$ナンバー;値:If ( GetAsNumber ($$ナンバー) > 1 ; GetAsNumber ( $$ナンバー ) - 1 ; $$ナンバー )
レイアウト切替[Substitute ( MiddleValues ( $$レイアウトbox ; $$ナンバー ; 1 ) ; "¶" ; "" )]
現在のスクリプト終了
で、下の行から逆走してレイアウトを戻します。
終わってますが、
一応、補足アイデアとして、
2か所の1行スクリプト追加だけのとてもシンプルな「レイアウト履歴」機能の作例です。
(※ただし、前のレイアウトへ戻っても、その内容データは前の時点へ戻るわけではありません。)
履歴を採るレイアウトの OnLayoutEnterトリガー スクリプトで、以下(1行スクリプト)を設定、
変数を設定[$$Hcount;値:※下式]
Let(
$$Hlist=
LeftValues($$Hlist; $$Hcount)
&
Choose(GetValue($$Hlist; $$Hcount)=Get(レイアウト名); Get(レイアウト名))
;
ValueCount($$Hlist)
)
「◀ 履歴戻る」ボタン スクリプトで、以下(1行スクリプト)を設定、、
レイアウト切り替え[計算によるレイアウト名;値:※下式]
Let($$Hcount=Max(1; $$Hcount-1); GetValue($$Hlist; $$Hcount))
Offline
Pages: 1
[ Generated in 0.007 seconds, 11 queries executed - Memory usage: 512.75 KiB (Peak: 517.29 KiB) ]