none
InfoPathにて参照列に対して関数で文字列を取得したい RRS feed

  • 質問

  • InfoPathでフォームの開発をしています。

    参照列の値をSUBSTRING-BEFOREでぬきだし

    別のプロパティに格納したいのですがうまくいかずこまっております。

    参照列の値は別の形式等で格納されているのでしょうか?

    設定内容は

    substring-before(フライト番号, "便")です。

    フライト番号には「JP001便」と格納されておりJP001のみを抜き出したいです。

    2017年2月6日 1:54

回答

  • 参照列では、参照先のアイテムの ID だけが返ってきています。タイトルなどの文字列を取得するにはちょっとしたテクニックが必要です。

    文字列を入れたいフィールドの設定で、数式を設定できるダイアログ(数式の挿入)まで開き、「フィールドまたはグループの挿入」をクリックします。ここで表示される「フィールドまたはグループの選択」ダイアログの中にある「詳細ビューの表示」をクリックします。すると、フィールドの下にデータソースを選択できるドロップダウンが表示されるので、ここから「フライト番号」が格納されているリストを選択し、目的の列名を選択します。

    さらには、同じくこのダイアログ上で「データのフィルター」をクリックし、下記のように参照列で取得した ID でフィルターするように設定します。

    こんな感じで、参照先のタイトルなどの文字列が取得でます。あとは、substring-before 関数の第一引数にこちらを設定することで、目的の動作を実現できるかと思います。


    2017年2月8日 6:34