tNames変数に格納されているすべての値を返そうとしています。数式言語を使用して列の値を返す
値はフィールドに存在します。別々のエントリとしてのshow multivaluesは既に選択されていますが、名前のどれも返されません。以下は
サンプルコードです:
tNames := "";
@For(n := 0; n <= QuestionCount - 1; n := n + 1;
tNames := tNames + ", " + @Implode(@GetField("ChecklistContact_" +
@Text(n));",")
);
@Trim(tNames)
私はその何も返さない理由を知らない、あなたの助けに感謝します。
以下は、インデックス0の連絡先のみを返しますが、各文書のすべての連絡先を返送したいとします。
tCount := 0;
@For(n := 0; n <= QuestionCount - 1; n := n + 1;
tCount := tCount + @If(@GetField("ChecklistContact_" + @Text(n)) = ""; 0; 1)
);
@GetField("ChecklistContact_" + @Text(tCount))
以下のリチャードからのコメントには、必要な値が返されますが、フィールド名をハードコードしたくない場合があります。
forループを使用してフィールド名と値を返す方法はありますか?
tNames := "";
tNames:= @GetField("ChecklistContact_1") : @GetField("ChecklistContact_2") : ... @GetField("ChecklistContact_7");
@Trim(tNames)
ヒントをお寄せいただきありがとうございます。私は@GetField()を使用して最初のインデックスのみを返す新しいスクリプトを追加しましたが、すべて返すようにします。 –
必要なすべての値を返すスクリプトを追加しましたが、フィールド名をハードコードしたくないです。ご協力いただきありがとうございます。 –
shillemが示唆するように、ビュー内のドキュメントのフォームに計算フィールドを追加できます。フィールドを取得するあなたのループ戦略はそこで動作します。しかし、ビューレベルでその結果を見る前に、すべてのドキュメントを更新して再保存する必要があります。多くのドキュメントがあり、ユーザーにレプリカがある場合、ヒットします。未読マークも変更されます。また、計算されたフィールドで複数値のチェックボックスが選択されていることを確認します。それがハードコーディングを避けるために私が考えることができる唯一の方法です。 –