みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
閲覧ありがとうございます。困っているので、ぜひお知恵をお貸し頂けたら非常に助かります。
レイアウト上には「問題」「解答」の二つのタブがあり、「問題」タブに「1、2、3、4、5」から選べるチェックボックスを配置してあります。「解答」タブには、正しい解答が書かれたフィールドがおいてあります。
本題です。「問題」タブのチェックボックスの近くに「解答を見る」というボタン(スクリプト)を作成したいと思っています。
このスクリプトでは、「チェックボックスで選んだ数字と解答の数字が一致していれば、解答タブに移動する」という動作を行いたいのですが、うまく組むことができませんでした。
どなたか、良い案がありましたら教えていただけると非常に助かります。よろしくお願い申し上げます。
Offline
環境は?
解答タブにオブジェクト名をつけておき、条件が揃えばオブジェクトに移動、させればいいです。
ただ、タブコントロールを使っているのでしたら、そちらをクリックすると解答が表示されてしまいますが、それは支障ないのですか?
Last edited by Shin (2018-05-18 17:40:42)
Offline
Shin様、ご意見ありがとうございます!
環境はfilemaker pro 15です(答え方間違えてたらごめんなさい…)
タブを押して解答が開けてしまうのは致し方ないかなと思っております…
タブに名前を付けてオブジェクトへ移動させるというのは分かったのですが、まだまだ知恵不足で「条件が揃えば移動…」という計算式が分からず迷走しております…
もし良ければ、「フィールド値Xとフィールド値Yが一致していたら、オブジェクトZへ移動…」のような代表的な計算式を教えて頂けたら非常に助かります。何卒よろしくお願い致しますm(_ _)m
Shin さんがおっしゃりたいのは「環境がわかれば最適解が得やすいよ」ということだと思います。
環境はfilemaker pro 15です(答え方間違えてたらごめんなさい…)
正解です!(あなたはスクリプトトリガが使うことが可能ですね!)
ボタンに割り当てるべきスクリプト内で、[ IF ]と [ ELSE IF ] 、[ END IF ] をセットで使います。
いいですか、[ IF ]と [ ELSE IF ] 、[ END IF ] です。
スクリプトワークスペースを開けたら、プラスボタンでスクリプトを追加します。
IF [ table::フィールド値X = table::フィールド値Y ]
オブジェクトへ移動 [ オブジェクト名 : "オブジェクトZ" ]
ELSE IF [table::フィールド値X = table::フィールド値Y + 1 ]
オブジェクトへ移動 [ オブジェクト名 : "オブジェクト1" ]
ELSE
オブジェクトへ移動 [ オブジェクト名 : "オブジェクト2" ]
END IF
はい、いかがですか?
フィールド値Xとフィールド値Yが一致していたら、オブジェクトZへ移動、みたいなことができるようになりましたね。
このELSE IF は複数使うと便利なので、この際きちんと身につけましょう。
タブを押された時に、拒否したい時は、タブに OnPanelSwitch スクリプトトリガを仕込みましょう。
指定するスクリプトは、「現在のスクリプト終了 [ テキスト結果 : False ] 」です!
15という情報を得られたから答えられることもあります。みなさんきちんと環境を書いていきましょうね!
15ならタブコントロールではなくスライドコントロールを使うと、ユーザーによる任意のタブ選択を防止することが出来ます。
タブコントロールを設置するときのアイコン右の下矢印からスライドコントロールを選択してレイアウトに配置し、
・スワイプジェスチャを有効
・ナビゲーションドットを表示
のチェックを両方外せば、ユーザーがスライドを選択することが出来なくなります。
表示を切り替える場合は、タブコントロールと同様に各スライドにオブジェクト名を付け、スクリプトでオブジェクトを選択します。
Offline
札幌太郎様、ご意見ありがとうございます!
環境の件、今後はしっかり記載していきたいと思いますm(_ _)mShin様もありがとうございますした!
スクリプトの詳細ありがとうございます!ifの式でXとYが一致していなかったらオブジェクトZに移動する…ということは分かったのですが、else ifから下の文は、どういったことを目的としているのでしょうか?(初歩的な質問ごめんなさい)一致していなかった場合、元のオブジェクトに戻す的なやつなのでしょうか…?
タブのスクリプトトリガ設定もやってみたいと思います!!ありがとうございます!
mic様、ご意見ありがとうございます!!
スライドコントロールは初めて知りました…試しに使用してみたいと思います!ありがとうございます(T_T)
その通りです。
一致しなかったら別のオブジェクトに移動したい時など、どんどん条件を追加していけるのが ELSE IF の最大の良いところです。(上から順番に評価されて、一致したらそこまで。一度使って見て体感して見てください。)
不要でしたら、ELSE IF や、ELSE は消しても大丈夫です。
別の方法で、そのボタンを押せば、ポップアップを表示させる、というのが簡単では。
Offline
Pages: 1
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 521.78 KiB (Peak: 526.32 KiB) ]