none
InfoPathの値を0埋めして桁を揃えたい RRS feed

  • 質問

  • hiroz42です。
    SharePointにてInfoPathを使ったフォームを作成しています。
    この中でテキストボックスの値を"0001"のように0埋めをして、桁を揃えたいのですが?
    よろしくお願いします
    2009年10月19日 4:31

回答

  • hiroz42さま

    あ、成る程。採番ですね。
    max で取得すると、数値になってしまうので(これはこれで正しい挙動ではありますが)
    面倒ですが、動作規則を利用して、必要な数 0000 を足してやる必要があります。
    詳しくはこちらをご覧下さい。

    SharePoint フォームライブラリと連動した Infopath による自動採番(簡易)
    http://sharepoint.boo.jp/index.php?e=308
    saruhiko
    • 回答としてマーク hiroz42 2009年10月19日 8:52
    2009年10月19日 6:57

すべての返信

  • もう少し具体的になさりたいことをご説明頂けますか?
    Infopath側のデータ型がテキストであれば、00001 はそのままSharePointにも 00001 として渡ります。
    Infopath側で数値データのもの(例:1)をSharePoint側で 00001 と表示したい、ということでしょうか?
    saruhiko
    2009年10月19日 5:25
  • saruhiko様
    hiroz42です。
    申し訳ありません。
    SharePointに発行したフォームに識別番号というテキストボックスがあります。
    データ型はテキストです。
    フォームのオプションの「開く時の動作」で2つの動作規則を設定しています。
    1.リストの識別番号が存在しない場合は「フィールドの値を設定する=識別番号="0001"
    2.「識別番号が空白でない」は「フィールドの値は設定する=識別番号=max(@識別番号) + 0001

    と設定しています。
    この場合は欲しい値は「0001」がある場合は「0002」なのですが、「2」という値が帰ってきます。
    この部分の解決方法があれば教えて欲しいと思っています。

    よろしくお願いします
    2009年10月19日 6:31
  • hiroz42さま

    あ、成る程。採番ですね。
    max で取得すると、数値になってしまうので(これはこれで正しい挙動ではありますが)
    面倒ですが、動作規則を利用して、必要な数 0000 を足してやる必要があります。
    詳しくはこちらをご覧下さい。

    SharePoint フォームライブラリと連動した Infopath による自動採番(簡易)
    http://sharepoint.boo.jp/index.php?e=308
    saruhiko
    • 回答としてマーク hiroz42 2009年10月19日 8:52
    2009年10月19日 6:57
  • saruhiko様
    hiroz42です。

    ファイルとサイトを参考にさせていただき、動作確認をしてみます。
    有難うございます。
    確かにもう少し日本語の情報が欲しいです。オフィシャルマニュアルも2007は出てないですし。
    2009年10月19日 8:56