作成者カテゴリ 
公開
松葉 優
01/17/2001 03:14 AM
ドミノ
ノーツサーバノーツクライアントサーバOSクライアントOSネットワークプロトコル
5.x5.xWindowsNT 4.0Windows 98TCP/IP

Domino ( ドミノ ) Web ブラウザ での重複チェック のやり方( InputValidation )


01. ”(chk) | chk”というビュー をつくります。
02.一列目に重複させたくないキーを表示しソートします。
  (※ この場合社員番号 EmpNo フィールドとします。)
03.二列目に@Text(@DocumentUniqueID)という式を設定します。
04.以下の式をフォームの重複させたくないフィールドのInputValidationに記述します。
  (※ この場合社員番号 EmpNo フィールドとします。)
*******************************************************************************************************************
hed :="<CENTER><TABLE border=\'1\'><TBODY><TR><TD width=\'357\' align=\'center\' bgcolor=\'#c1f0ff\'>
<FONT size=\'+2\' color=\'#5f56fe\'><B>入力エラーメッセージ</B></FONT></TD></TR></TBODY></TABLE><BR><BR>
<FONT color=\'#000000\'>";

fot:="</FONT><BR><BR><FORM><input type=\'button\' value=\'戻る\' onclick=\'history.back()\'></FORM></CENTER>";


tmp:=@DbLookup("":"NoCache";"";"chk";EmpNo;2);


@If(
EmpNo="" ; @Failure(hed+"社員番号は必須入力です。必ず入力してください。"+fot) ;
@IsNewDoc&@IsError(tmp) ; @Success ;
!@IsNewDoc&@IsError(tmp) ; @Success ;
!@IsNewDoc&!@IsError(tmp)&@Text(@DocumentUniqueID)=tmp ; @Success ;
@Failure(hed+"既にその社員番号は登録されています。"+fot)
)
*******************************************************************************************************************

05. tmpの中身解説
  EmpNo をキーにして、その文書IDを取得
06. @If()の中身解説
  EmpNoがブランクだったら、@Failure
  新規文書で EmpNo をキーにしても一件も引っかからなかったら @Success
  既存文書の更新時で EmpNo をキーにしても 一件も引っかからなかったら @Success
  既存文書の更新時で EmpNo をキーにして何か引っかかってそれが、自分自身の文書だったら @Success
  それ以外の場合は、@Failure

以上です。


[Previous Main Document]
Domino ( ドミノ ) Web ブラウザ での重複チェック のやり方( InputValidation ) (松葉 優) * 現在地 *
. . お久しぶりです (松葉 優)
[Next Main Document]