InfoPath 2007/2010 繰り返し項目内の開始日、終了日を取得する数式

こんばんは。奥田です。
今日は InfoPath です。繰り返しグループ内に日付フィールドがあり、複数の日付の開始日と終了日を既定値で取得する方法についてです。

なんだかどこかのセミナーかドキュメントで、過去ご紹介したことがあるようなないような気もするのですが、、
ちょうどお客さんから質問いただいたので、ブログに書こうと思います。in1

次のようなデータソース (メイン) とします。
in2

繰り返しテーブル内の日付の最小を開始日として、startdate フィールドに、最大を終了日として enddate フィールドに表示したいと思います。

□ startdate の既定値
1. 下記のように既定値に数式を入力します。
    date は [フィールドまたはグループの挿入] で、繰り返し内の日付フィールド   
     (/my:Report/my:Detail/my:Details/my:date) を設定します。

   date[translate(., “-“, “”) = min(eval(date, ‘translate(., “-“, “”)’))]

2. そのままでは動作しません。[XPath を編集する (上級)] をクリックし、date フィールドへの参照の2つ目の XPath を
   完全パスに編集します。
   in3

□ enddate の既定値
   
Min 関数ではなく、Max 関数に変更するだけで、startdate と同様です。

    date[translate(., “-“, “”) = max(eval(date, ‘translate(., “-“, “”)’))]

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中