1 2 前へ 次へ 15 返信 最新の回答 日時: Sep 7, 2015 4:23 AM ユーザー:nkk47

    計算フィールドへ任意の数値を入力するには?

    nkk47

      お世話になります。

       

      利用先:テキスト

      利用金額:数字

      支払回数:数字

      当月支払額:計算?

       

      上記のようなフィールド構成で、

       

      ・【利用先】が「A」の場合は【当月支払額】に「15,000」

      ・【支払回数】が「1」の場合は【当月支払額】に【利用金額】

      ・上記以外の場合(【利用先】が「A」ではなく、【支払回数】が「1」以上の場合)は 【当月支払額】に任意の数値を入力出来るようにするにはどうしたらよいのでしょうか?

       

      ご教示の程、宜しくお願い致します。

       

      作業環境

      Windos Vista HP SP2

      FileMaker PRO 11 0v3

        • 1. Re: 計算フィールドへ任意の数値を入力するには?
          user14047

          計算フィールドに任意の値を入力することはできませんので、数字フィールドにして、フィールド定義のオプションから計算値自動入力で計算値を自動に入力させるようにしてはどうでしょうか?

          • 2. Re: 計算フィールドへ任意の数値を入力するには?
            nkk47

            user14047さん


            早々にご教示頂きありがとうございます。

            解決いたしました。

            ありがとうございます。

            • 3. Re: 計算フィールドへ任意の数値を入力するには?
              sago350@未来Switch

              若干、条件にまだ例外がありそうですが、、
              テクニック的には手入力用のフィールドを用意して、重ねてしまうのが楽かなと思います。

              隠すテクニックは、レイアウトモードのインスペクタで設定する「隠す」設定です。
              隠れるので、上2つの条件の時は計算フィールドのみ表示されるので、。入力出来ません。

               

              サンプルファイルをレイアウトモードで分解してみてください。

               

              計算フィールドへ任意の数値を入力するには?.png

              サンプルファイル

              Dropbox - 計算フィールドへ任意の数値を入力するには.fmp12

              • 4. Re: 計算フィールドへ任意の数値を入力するには?
                nkk47

                sago350@未来Switch さん。

                 

                お世話になります。

                 

                当方の FailMaker がバージョン11のため、お作りいただきましたサンプルファイルは

                残念ながら開く事が出来ませんでした。

                 

                > テクニック的には手入力用のフィールドを用意して、重ねてしまうのが楽かなと思います。

                > 隠すテクニックは、レイアウトモードのインスペクタで設定する「隠す」設定です。

                > 隠れるので、上2つの条件の時は計算フィールドのみ表示されるので、。入力出来ません。

                 

                つまり、

                計算フィールドではない、任意の数値を入力出来る【当月支払額】フィールドをもう一つ作っ

                ておき、【利用先】が「A」の場合や【支払回数】が「1」の場合は計算フィールドの【当月

                支払額】に指定した数値が入力(表示)され、それ以外の場合は同じ位置に重ねている【当月

                支払額】が表示され、任意の数値を入力出来るようになるという事ですね。

                 

                取り敢えずやってみます。

                ありがとうございます。

                • 5. Re: 計算フィールドへ任意の数値を入力するには?
                  user19752

                  インスペクタで「隠す」のはFM13以後でないとできません。

                  • 6. Re: 計算フィールドへ任意の数値を入力するには?
                    shin

                    手入力を行うフィールドを作っておき、そのフィールドが null で無ければその値を採用、それ以外だと本来の計算式を有効にする様な計算式を作れば良いのでは。

                    その手入力用のフィールドは、計算フィールドの後ろに配置し、計算フィールドのクリックで、フィールド移動させれば自然な動きになります。

                    • 7. Re: 計算フィールドへ任意の数値を入力するには?
                      nkk47

                      user19752 さん


                      確認しました。

                      おっしゃるように、インスペクタには「隠す」のような項目は見当たりませんでした。

                      インスペクタ以外から何か方法があるのでしょうか?

                      フィールドオプションにも見付けられません。

                      • 8. Re: 計算フィールドへ任意の数値を入力するには?
                        nkk47

                        shin さん

                         

                        お世話になります。

                         

                        【当月支払額_A】を手入力を行うフィールド

                        【当月支払額_B】を計算フィールド


                        とした場合、


                        【当月支払額_A】値を入力すればその値を採用。

                        何も入力しなかった場合は【当月支払額_B】の計算式が有効となり、その計算値が入力される・・・


                        ということですね。

                        これを実現するための計算式はどこに記述するのでしょうか?

                        【当月支払額_A】ではそもそも手入力が出来なくなってしますでしょうし、【当月支払額_B】には別の計算式が入っています。


                        なんだかバカみたいな質問をしているように思えるのですが、ご教示の程、宜しくお願い致します。

                        • 9. Re: 計算フィールドへ任意の数値を入力するには?
                          shin

                          Case ( 当月支払額_A ; 当月支払額_A ; 【当月支払額_B】の計算式 )

                          とされれば良いですよ。

                          • 10. Re: 計算フィールドへ任意の数値を入力するには?
                            nkk47

                            どうにか出来ました。

                            ただ、本件と関係があるのか、全く別問題なのか分かりませんが、入力画面レイアウトのポータルから3つのレコードを入力すると、なぜか最上部に空のレコードが作成されます。

                             

                            また、user14047 さんにご教示頂きました事で希望の事は出来たのですが、shinさんの方法との違いはなんなのでしょうか?

                             

                            01.png

                            02.png

                            • 11. Re: 計算フィールドへ任意の数値を入力するには?
                              sago350@未来Switch

                              レコードが作られるタイミングはどのフィールドを入力した直後ですか?

                               

                               

                              レコードが作られるのは、リレーションの設定で「このリレーションシップを使用して、このテーブルでのレコードの作成を許可」にチェックが入っている事が1つの要因かと。ただ、予期せぬタイミングで作成されているのは、謎です。

                              • 12. Re: 計算フィールドへ任意の数値を入力するには?
                                nkk47

                                sago350@未来Switch さん

                                 

                                レコードが作られるのは、ポータルに3つのレコードを入力して、Enterを押した時か、ポータル外の何もないところにマウスを移動させた時です。ご指摘のようにリレーションの設定で「このリレーションシップを使用して、このテーブルでのレコードの作成を許可」にチェックが入っておりますので、今から試してみます。

                                • 13. Re: 計算フィールドへ任意の数値を入力するには?
                                  nkk47

                                  取り敢えず、引き続きこちらへ質問させていただきますが、当初の質問内容から離れてしまったので、別に質問をあげた方が宜しいでしょうか? ご指示下さい。

                                   

                                  明細テーブルを【ID】フィールドで自己リレーションさせて、「このリレーションシップを使用して、このテーブルでのレコードの作成を許可」にチェックした場合、その動きは下記の通りです。

                                   

                                  ・明細だけチェックした場合

                                   入力画面レイアウト上でポータルに入力できない。


                                  ・明細2だけチェックした場合

                                   入力は出来るが余分なレコードが作られる。


                                  ・明細、明細2ともにチェックした場合

                                    明細2だけにチャックを入れた時と同様。

                                   

                                  以上です。

                                  • 14. Re: 計算フィールドへ任意の数値を入力するには?
                                    sago350@未来Switch

                                    別の質問であげた方が後から見る人が解りやすいので、お願いします。

                                    1 2 前へ 次へ