8 返信 最新の回答 日時: Apr 20, 2015 6:43 PM ユーザー:sago350@未来Switch

    ドロップダウンリスト用の値一覧に任意のアイテムを追加したい

    keinos

      タイトル

      ドロップダウンリスト用の値一覧に任意のアイテムを追加したい

      フォーラムに投稿

      『テーブルA』の『フィールド1』を、値一覧『フィールド1一覧』に割当て、別のフォームでドロップダウン用のリストとして使っています。

      このドロップダウンの一覧に『全て印刷』といった、『テーブルA :: フィールド1』には無い、任意のアイテムを追加したいのですが、簡単に追加する方法はないのでしょうか。

      現在、別テーブルを作成する下記の方法を検討しているのですが、どうも諸事情で難しそうなので、別のアイデアをいただきたくポストいたしました。

             
      1. ミラー用の『テーブルB』を用意
      2.      
      3. あるボタンを押下すると以下の動作      
                    
        1. 『テーブルB』のレコードを全削除
        2.           
        3. 『テーブルB :: フィールド1』に値一覧と同様のレコードを作成
        4.           
        5. 最後に『全て印刷』を新規レコードとして追加
        6.      
             
      4.      
      5. 『テーブルB :: フィールド1』を新しい値一覧としてリスト用に利用する

       

      恐らく、これが一般的な解決方法だと思うのですが、問題は社内の保守事情で新しいテーブルを作成する際の稟議手続きが必要なのと、ボタンを押下するという1ステップ作業が増える事で稟議が通らない可能性がある事です。

      ボタンでなくても、フォームを表示する際にトリガーしてしまってもいいのですが、この実装により1秒程度とは言え、若干でも動作に遅れが出るため、ディスクアクセスを減らすという事にやっきになっているので、これも稟議を通りそうにありません。

      何か良い方法はないでしょうか。

      ※2015/04/20 16:38 : わかりづらかったため右記のように変更:『全て』→『全て印刷』

        • 1. Re: ドロップダウンリスト用の値一覧に任意のアイテムを追加したい
          keinos

          ちなみに、上記のディスクアクセスは書き込みのディスクアクセスの事です。

          速度アップのためHDDをSSD化する提案をしているのですが、寿命が縮むという理由で安易な書き込みが保守チームから制限されている状態です、、、。

          • 2. Re: ドロップダウンリスト用の値一覧に任意のアイテムを追加したい
            sago350@未来Switch

            カスタム値の値一覧をもう一つ作って、ドロップダウンリストを2つ並べるのはどうでしょうか。

            • 3. Re: ドロップダウンリスト用の値一覧に任意のアイテムを追加したい
              keinos

              >sago35さま

              早速のアイデアありがとうございます。この2つを並べる(重ねる)というのは面白い発想ですね!(見かけ的にも個人的には好きです)

              別の値一覧(カスタム値)が、別途追加したいアイテムということですよね?

              実は、特定箇所のドロップダウンにだけ「全て」というたった1つのアイテムを追加したいのですが、最初「全て」チェックボックスを設ける提案もしたのですが、お客様の要望(同じドロップダウン内に欲しい)と違い、UIが変わるため操作の混乱をまねくということで却下されました。個人的には納得いかないのですが、、、

              カスタム値にグローバル関数変数を指定する方法とかありませんでしょうか。フォームを開いた時に今までの値一覧を取得して、グローバル関数変数に入れた後、「全て」をさらり追加するとか。

               

              • 4. Re: ドロップダウンリスト用の値一覧に任意のアイテムを追加したい
                sago350@未来Switch

                そもそも、カスタム値にすればいいような気がしますが、何か事情があるんですよね。

                起動時か何かのタイミングで、値一覧を生成するというのはどうでしょうか。

                • 5. Re: ドロップダウンリスト用の値一覧に任意のアイテムを追加したい
                  keinos

                  >sago35さま

                  図解とてもわかりやすいです。ありがとうございます。

                  そもそも、カスタム値にすればいいような気がしますが、何か事情があるんですよね。

                  起動時か何かのタイミングで、値一覧を生成するというのはどうでしょうか。

                  そうなんです。この今の値一覧は『テーブルA :: フィールド1』の動的一覧で、内容が毎年替り、適宜増減する項目なのです。

                  具体的には『テーブルA』が「建設工事」のマスターで、『フィールド1』が「工事名」になります。
                  この工事名の値一覧はあちこちで使われるため、『全て印刷』というダミーの工事名を入れる事が出来ません。

                  ただ、1つのフィールドに格納してしまうアイデア行ける気がします。

                  各種初期設定をおこなうためのグローバルフィールドしかないフォーム(1レコードしかないテーブル)があるのですが、工事名一覧の値格納用のフィールドを別途作り、改行入りで今の値一覧と『全て』を納めれば確かに行けるような気がしてきました。
                  フィールドの更新も、新しい工事を追加した時をトリガーにすれば書き込みも1回なので、その後の速度も気にならない気がします。

                  ちょっと試してみます!ありがとうございました!結果も追ってご報告いたします。

                  • 6. Re: ドロップダウンリスト用の値一覧に任意のアイテムを追加したい
                    sago350@未来Switch

                    「全て」というボタン付けるだけで、ものすごくシンプルになるんですけどね・・・・

                    • 7. Re: ドロップダウンリスト用の値一覧に任意のアイテムを追加したい
                      keinos

                      「全て」というボタン付けるだけで、ものすごくシンプルになるんですけどね・・・・

                       

                      ですよね。ほんとうに。

                      直し直しの引き継ぎ引き継ぎで使われてきたアプリケーションらしく、弊社が引き継いだ時には暫定対応と思われるボタンやチェック欄がすでにアチコチにあり、動作も重く、使われるお客様もご年配が多いため「これ以上操作を覚えるのが嫌だ!」という事と「せっかく作ったマニュアルもまた更新したくない」「ユーザー全員に変更をレクチャーするのが大変」という内部事情との葛藤なのです、、、。

                      いささか愚痴ってしまいました。さて、先の1フィールドに入れる案ですが、2つ問題がありました。

                             
                      1. グローバルフィールドでは値一覧が作れないことを失念していた
                      2.      
                      3. ドロップダウンの一覧で「工事名」を選択するがこれは2番めのフィールドで、実際に入力される際は「工事コード」が入る。そのため、2フィールド用意して値一覧を各々取得してもソートが各々かかってしまい統合性がない。

                      ■現在の対策案

                      「テーブルA」に「全部」付きの値一覧用に「フィールドB」を新規作成し、その計算式に最初のレコードの場合のみ「"全部" & フィールドA」を入れ、1行目以外は「フィールドA」を入れるようにして、「フィールドB」で値一覧を作ろうと思います。

                      工事コードに関しても同じ方法でダミーの工事コードを「全て」に該当するようにしてどうか試してみます。

                      BOM付き値一覧の情報などもあったのですが、カスタム関数を使ったニッチな方法なので引き継ぎが大変そうなので、フィールドのコメント文で引き継げる方法を取ってみました。

                       

                       

                       

                       

                       

                       

                      • 8. Re: ドロップダウンリスト用の値一覧に任意のアイテムを追加したい
                        sago350@未来Switch

                        フィールド2つ作る値一覧でしたか・・・
                        うーん。となると私もそっち系の方法ぐらいしか思いつかないですね。

                        UI的な手法で解決したいところですね。ポップオーバーボタンとか