作成者カテゴリ返答の対象
公開
tanta
06/01/1998 03:18 PM
文書リンクアイコン フィールド値の重複入力を不可にしたい
@DbLookupを利用して検索

そのフィールドに何も入力しないで保存する、ということはできなくなりますが、次のような方法はいかがでしょうか?

まず、[UniqueField]という編集可能フィールド(ここにユニーク値を入力する)と、その[UniqueField]で分類された[ByUniqueField]というビューを用意します。

次に、以下の式を[UniqueField]フィールドのInput Validationイベント(入力有効式)に書き込みます。

@If(
UniqueField = "";
@Failure("UniqueFieldに値を入力してください");
@IsError(
@DbLookup("" : "NoCache"; ""; "ByUniqueField"; UniqueField; UniqueField));
@Success;
@Failure("[UniqueField]に入力された値はすでに存在しますので、値を変更してください")
)

<上記の式の説明>
最初に値が入力されているかどうかを確認します。値が入力されている場合は、その値をキーにして、そのUniqueFieldの値を含んでいる文書を[ByUniqueField]ビューに検索しに行きます。そのコードを含んでいる文書が見つからなければ、@Successで式を抜けます。そのコードを含んだ文書が見つかった場合には、@Failureメッセージを返します。


[Previous Main Document]
フィールド値の重複入力を不可にしたい (ikeda)
. . @DbLookupを利用して検索 (tanta) * 現在地 *
. . . . ありがとうございます。チェックが効きました。 (ikeda)
[Next Main Document]