重複値チェック- フラット・セクション項目
2セクション・フォームのフラット・セクションにある特定のアイテムについて、複数のフォーム・インスタンスに同じ値が含まれているかどうかを確認します。
ルールの説明:すべてのフォーム・インスタンスには一意のレシオンIDが含まれます。レシオンIDが重複している場合は、問合せを発行します。
ルール式
if(findDuplicate2SForm(null,lesid))
{
return false; //System sends query when return false condition is met
}
else
{
return true;
}
問合せメッセージ:レシオンIDに記録された番号がすでに使用されています。確認して訂正してください。
定義
- lesid
-
ルール説明の2セクション フォームのフラット セクションにある [レシオンID]に対応します。
- findDuplicate2SForm( )
-
重複データを、パラメータとして指定された変数のアイテム値(この場合は
lesid)として識別します。
使用上のヒント
これは、品目が選択管理でない場合に使用します。
検証ステップ
- テスト用のサブジェクトを使用して、チェックするiemsを含む特定のビジットおよびフォームに移動します。この例では、指定された2セクション・フォーム・インスタンスのレシオンID <
lesid>です。 - 次の表のようにフォーム・アイテム
lesidを更新し、結果がリストどおりであることを確認します。ステップ 注意 結果 a. 最初の2セクション・フォーム・インスタンス(Form1)で、
lesidアイテムを'1'として入力します。2セクション・フォーム・インスタンスは1つのみです。 問合せなし。
b. 2番目の2セクション・フォーム・インスタンス(Form2)を作成し、
lesidアイテムに1と入力します。Form1とForm2の値の一致: - Form1 - 1
- Form2 - 1
Form1およびForm2で問い合せます。
c. Form2の
lesid項目を2として更新します。Form1とForm2の異なる値: - Form1 - 1
- Form2 -2
問合せがありません。
d. Form1の
lesid項目を2として更新します。Form1とForm2の値の一致: - Form1 - 2
- Form2 -2
Form1およびForm2で問い合せます。
e. Form2の
lesidアイテムをクリアします。Form1とForm2の異なる値: - Form1 - 2
- Form2 -
Null
問合せがありません。
f. Form2の
lesid項目を3として更新します。Form1とForm2の異なる値: - Form1 - 2
- Form2 -3
問合せがありません。
たとえば、 3番目の2セクション・フォーム・インスタンス(Form3)を作成し、
lesid項目に2と入力します。Form1とForm3の値の一致: - Form1 - 2
- Form2 -3
- Form3 - 2
Form1およびForm3で問い合せます。
Form2に問合せがありません。
h. Form3の
lesid項目を1に更新します。Form1、Form2およびForm3内の異なる値: - Form1 - 2
- Form2 -3
- Form3 - 1
クエリーがありません。
i. Form3の
lesid項目を3として更新します。Form2とForm3の値の一致: - Form1 - 2
- Form2 -3
- Form3 - 3
Form2およびForm3で問い合せます。
Form1に問合せがありません。
j. Form2を削除します。
Form1とForm3に異なる値があり、Form2は存在しません。 - Form1 - 2
- Form3 - 3
問合せがありません。
ノート:
フォームが複数のビジットに存在する場合は、前述のステップを繰り返します。
その他の例
例4-30評価方法はすべてのレコードで同じである必要がある
if(findDuplicate2SForm(null,assmethod))
{
return true;
}
else
{
return false;
}
クエリーメッセージ:評価方法が、以前に記録された値と異なります。確認してください。
親トピック: 2セクション・フォームの例