フォームにフィールドを追加するときに、古いフィールドに基づいて InfoPath フォームに新しいフィールドを事前入力する方法。
私の InfoPath フォームには、「説明」というフィールド名があります。ここで、「SummaryDescription」という別のフィールドを追加しました。これは、説明フィールドから最初の 10 単語を取得することを想定しています。
フィールドとロジックを追加しても、SharePoint データベースの既存のフォーム データは変更されません。
編集
@PatrickPitre
迅速な対応ありがとうございました。
Web ベースの InfoPath フォーム (Forms Services) を扱っています。はい、私のコンピューターには Visual Studio 2008 がインストールされています。
私がしなければならないことの 1 つは、既存の Web ベースの InfoPath フォームを変更することです。つまり、古いフォームにさらに 3 つのフィールドを追加します。フィールドを追加したら、ユーザーがSharepointに既にある既存のフォームをクリックしたときに、新しく追加されたフィールドが空白でないことを確認する必要があります。「Description」という既存のフィールドの最初の 200 語を取得し、それを新しいフィールド「SummaryDescription」に挿入する必要があります。
私がこれまでに行ったこと:
これら 3 つの新しいフィールドを Web ベースの InfoPath フォームに追加し、テスト サーバーの 1 つに公開しました。新しく追加されたフィールドを既存のフォームで表示できます。
必要なことを達成するために、InfoPath のルールを使用しようとしています。新しく追加されたフィールドが空白かどうかを確認します。そうである場合は、「SummaryDescription」のフィールドを取得し、の値を追加します。
これはコードです:
concat(
substring((string-length(Description)), 1, ((string-length(Description)) <= 200) * (string-length(Description))),
substring(number(201), 1, (not(string-length(Description))) * number(201))
)
しかし、フィールドに値をまったく追加できません。
これは私がやったことのスクリーンショットです。
私は多くの異なる方法を試しました。そして、「SummaryDescription」は空白だと確信していますが、表示する値を取得できませんでした
「Sharepoint データベース」とはどういう意味ですか? 私は、Web ベースの InfoPath フォームのすべてが何らかのデータベースに格納されていると考えていました。私が間違っている場合は修正してください。
どうもありがとうございました。