初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2018-05-18 17:19:23

canon
Member

こんなスクリプトを作成したいです。

閲覧ありがとうございます。困っているので、ぜひお知恵をお貸し頂けたら非常に助かります。


レイアウト上には「問題」「解答」の二つのタブがあり、「問題」タブに「1、2、3、4、5」から選べるチェックボックスを配置してあります。「解答」タブには、正しい解答が書かれたフィールドがおいてあります。

本題です。「問題」タブのチェックボックスの近くに「解答を見る」というボタン(スクリプト)を作成したいと思っています。
このスクリプトでは、「チェックボックスで選んだ数字と解答の数字が一致していれば、解答タブに移動する」という動作を行いたいのですが、うまく組むことができませんでした。

どなたか、良い案がありましたら教えていただけると非常に助かります。よろしくお願い申し上げます。

Offline

#2 2018-05-18 17:38:20

Shin
Member

Re: こんなスクリプトを作成したいです。

環境は?

解答タブにオブジェクト名をつけておき、条件が揃えばオブジェクトに移動、させればいいです。
ただ、タブコントロールを使っているのでしたら、そちらをクリックすると解答が表示されてしまいますが、それは支障ないのですか?

Last edited by Shin (2018-05-18 17:40:42)

Offline

#3 2018-05-18 19:44:38

canon1
Guest

Re: こんなスクリプトを作成したいです。

Shin様、ご意見ありがとうございます!

環境はfilemaker pro 15です(答え方間違えてたらごめんなさい…)

タブを押して解答が開けてしまうのは致し方ないかなと思っております…

タブに名前を付けてオブジェクトへ移動させるというのは分かったのですが、まだまだ知恵不足で「条件が揃えば移動…」という計算式が分からず迷走しております…

もし良ければ、「フィールド値Xとフィールド値Yが一致していたら、オブジェクトZへ移動…」のような代表的な計算式を教えて頂けたら非常に助かります。何卒よろしくお願い致しますm(_ _)m

#4 2018-05-18 20:57:09

札幌太郎
Guest

Re: こんなスクリプトを作成したいです。

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という情報を得られたから答えられることもあります。みなさんきちんと環境を書いていきましょうね!

#5 2018-05-19 15:05:24

mic
Member

Re: こんなスクリプトを作成したいです。

15ならタブコントロールではなくスライドコントロールを使うと、ユーザーによる任意のタブ選択を防止することが出来ます。
タブコントロールを設置するときのアイコン右の下矢印からスライドコントロールを選択してレイアウトに配置し、
・スワイプジェスチャを有効
・ナビゲーションドットを表示
のチェックを両方外せば、ユーザーがスライドを選択することが出来なくなります。

表示を切り替える場合は、タブコントロールと同様に各スライドにオブジェクト名を付け、スクリプトでオブジェクトを選択します。

Offline

#6 2018-05-19 19:24:45

canon2
Guest

Re: こんなスクリプトを作成したいです。

札幌太郎様、ご意見ありがとうございます!

環境の件、今後はしっかり記載していきたいと思いますm(_ _)mShin様もありがとうございますした!

スクリプトの詳細ありがとうございます!ifの式でXとYが一致していなかったらオブジェクトZに移動する…ということは分かったのですが、else ifから下の文は、どういったことを目的としているのでしょうか?(初歩的な質問ごめんなさい)一致していなかった場合、元のオブジェクトに戻す的なやつなのでしょうか…?
タブのスクリプトトリガ設定もやってみたいと思います!!ありがとうございます!

#7 2018-05-19 19:26:43

canon3
Guest

Re: こんなスクリプトを作成したいです。

mic様、ご意見ありがとうございます!!

スライドコントロールは初めて知りました…試しに使用してみたいと思います!ありがとうございます(T_T)

#8 2018-05-20 01:56:15

札幌太郎
Guest

Re: こんなスクリプトを作成したいです。

その通りです。
一致しなかったら別のオブジェクトに移動したい時など、どんどん条件を追加していけるのが ELSE IF の最大の良いところです。(上から順番に評価されて、一致したらそこまで。一度使って見て体感して見てください。)
不要でしたら、ELSE IF や、ELSE は消しても大丈夫です。

#9 2018-05-21 08:53:15

Shin
Member

Re: こんなスクリプトを作成したいです。

別の方法で、そのボタンを押せば、ポップアップを表示させる、というのが簡単では。

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 521.78 KiB (Peak: 526.32 KiB) ]