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

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

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

You are not logged in.

Announcement

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


#1 2017-12-25 02:21:52

kunio
Member

ポップアップメニューやラジオボタンボックスと関数

ポップアップメニューやラジオボタンボックスを利用して、関数を使えないか質問です。
例えば
1種目が小学生300円、中学生500円、高校生700円、大学生1000円、成人1500円で、
Aコース、Bコース、Cコースと3つのコースがあります。

小学生、中学生、高校生、大学生、成人で1つ、
Aコース、Bコース、Cコース、ABコース、ACコース、BCコース、ABCコース名でもう1つ
それぞれポップアップメニューかラジオボタンボックスを作り、チェックしたメニューや
ボタンで会計が表示されるようなテーブルを最終的に作成したいのです。

そこでコース1をポップアップメニューで作成した後に
Case(コース1=”小学生“ ; 300 ; コース1=”中学生“ ; 500 )
と、簡単な関数で試してみましたが表示されませんでした。

当然ですがコース1を編集ボックスにし、直接入力したら関数は正常でした。
やはりポップアップメニューやラジオボタンボックスでは関数は利用できないのでしょうか?

Offline

#2 2017-12-25 03:13:00

Hiro
Member

Re: ポップアップメニューやラジオボタンボックスと関数

・料金クラス(小学生、中学生、高校生、大学生、成人)の入力フィールドを text_01、
・科目コース(Aコース、Bコース、Cコース、ABコース、ACコース、BCコース、ABCコース)の入力フィールドを text_02、
とした時の式は、

Let([
    #fee=
      Case(
         text_01="小学生"; 300;
         text_01="中学生"; 500;
         text_01="高校生"; 700;
         text_01="大学生"; 1000;
         text_01="成人"; 1500
      );
   #unt=Length(Substitute(text_02; ["コース";""]))
];
   #fee * #unt
)

Offline

#3 2017-12-25 10:39:17

kunio
Member

Re: ポップアップメニューやラジオボタンボックスと関数

ありがとうございます。回答を理解しようとしながらの書いていたので返信が遅れてしまいました。
料金クラスをラジオボタンボックス、科目コースをポップアップメニューで作成し、
その結果を金額に反映することができました。
>>Let([
>>    #fee=
>>     Case(
>>         text_01="小学生"; 300;
>>         text_01="中学生"; 500;
>>         text_01="高校生"; 700;
>>         text_01="大学生"; 1000;
>>         text_01="成人"; 1500
      );
この時にLet 関数を使うことでわかりやすく該当する文字から数字に置き換えることが出来ました。

>>   #unt=Length(Substitute(text_02; ["コース";""]))
>>];
ここではSubstitute関数で余分な文字をはぶき、文字数により変数を求めていることが理解できました。 

この回答例でポップアッフメニューなどで関数が利用できることが分かっただけでなく、
分かりやすい関数を書くための技術や工夫の方法の一端を見ることができました。

Offline

#4 2017-12-25 15:23:39

Hiro
Member

Re: ポップアップメニューやラジオボタンボックスと関数

【補足】

・#fee式は 分り易さを目視しましたが、短くするならこんな案も、
      #fee=Choose(Position("小中高大成";Left(text_01;1);1;1); "";300;500;700;1000;1500)

・#unt式は Positionを使うと、こんな書き方も、
      #unt=Position(text_02;"コース";1;1) - 1

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.004 seconds, 7 queries executed - Memory usage: 511.76 KiB (Peak: 519.12 KiB) ]