REJECT

4D - Documentation   French   English   German   Spanish   日本語   4D v11 SQLコマンドテーマリスト   4D v11 SQLインデックス   4D v11 SQL定数テーマリスト   戻る   前   次

version 3


REJECT {(aField)}

引数説明
aFieldフィールド入力を拒否するフィールド

説明

REJECT には2つの形式があります。第1の形式は、引数がありません。これは、データ入力全体を取り消し、ユーザは強制的にフォーム上にとどまります。第2の形式は、aField だけを取り消し、ユーザは強制的にそのフィールド上にとどまります。

Note: このコマンドを使用する前に、組み込みのデータ検証ツールの利用を考慮すべきです。

REJECTコマンドの第1の形式では、完全でないレコードをユーザが受け入れないようにします。REJECTを使用しなくても同じ効果を得ることができます。フィールドが正しく入力された後、テンキー側の“enter”キーをショートカットとした「動作なし」ボタンのオブジェクトメソッドでACCEPTコマンドとCANCELコマンドを使用してレコードの受け入れや取り消しを行います。REJECTコマンドの第1の形式よりも、上記の2番目の手法を利用することをお勧めします。

第1の形式を使用する場合には、REJECTコマンドを実行してユーザがレコードを受け入れないようにしますが、通常これはレコードが完全ではなかったり、不正確な入力が行われたために行います。ユーザがレコードを受け入れようとすると、REJECTコマンドの実行によりレコードが受け入れられません。そしてこのレコードはフォーム上に表示されたままになります。したがって、ユーザはレコードが受け入れられるか、あるいは取り消されるまでデータの入力を続行しなければなりません。

この形式のREJECTコマンドを実行するのに最適な場所は、テンキー側の“enter”キーをショートカットとして割り当てた登録ボタンのオブジェクトメソッドです。この場合のデータのチェックは、レコードが受け入れられた場合にのみ実行されます。ユーザは“enter”キーを押して、データをチェックしないで済ませることはできません。

REJECTコマンドの第2の形式は、引数fieldを渡します。カーソルは、フィールドエリアにとどまります。この形式は、ユーザが正しい値を入力するように強制します。この場合、フィールドの修正の直後にREJECTコマンドを使用しなければなりません。Modified 関数を使用して、修正されたかどうかを判定します。データ入力エリアのオブジェクトメソッドでREJECTコマンドを使用することもできます。このコマンドは、サブフォームエリア上のフィ−ルドでは動作しません。

REJECTコマンドのいずれかの形式をフォームメソッドまたはオブジェクトメソッドに記述しなければなりません。あるテーブルのサブフォームの詳細フォームにREJECTコマンドを使用する場合は、詳細フォームのフォームメソッドまたはオブジェクトメソッドに記述します。

取り消されたフィ−ルドのデータを選択するために、HIGHLIGHT TEXTコマンドを使用することができます。

例題

1. 次は銀行取引レコードの例です。登録ボタンのオブジェクトメソッドで第1の形式のREJECTコマンドを使用する方法を示しています。enterキーを登録ボタンのショートカットとして設定します。つまり、ユーザがレコードを受け入れるためにenterキーを押した場合でも、このボタンのオブジェクトメソッドが実行されるようにします。取引が小切手で行われる場合には、小切手番号があるはずです。小切手番号がない場合は検証によりデータ受け入れが拒否されます:

   Caes of 
      : (([Operation]Transaction="Check") & ([Operation]Check number = ""))  ` 小切手取引で番号がない場合... 
         ALERT ("小切手番号を入力しください。")   
         REJECT  ` 入力を拒否
         GOTO AREA ([Operation]Check number)  ` Check number フィールド をフォーカス
   End case

2. 以下の例は[Employees]Salaryフィールドのオブジェクトメソッドの一部です。このオブジェクトメソッドは、[Employees]Salaryフィールドを調べて1万ドル以下の場合には取り消しします。「フォーム」エディタでフィールドの最小値を指定しても、同じ処理を実現することができます:

   If ([Employees]Salary<10000) 
      ALERT ("給与は$10,000を超えなければなりません。")
      REJECT ([Employees]Salary) 
   End if

参照

ACCEPT, CANCEL, GOTO AREA.


4D - Documentation   French   English   German   Spanish   日本語   4D v11 SQLコマンドテーマリスト   4D v11 SQLインデックス   4D v11 SQL定数テーマリスト   戻る   前   次