GOTO SELECTED RECORD

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

version 2004 (Modified)


GOTO SELECTED RECORD ({table; }record)

引数説明
tableテーブル指定したレコードをカレントレコードとするテーブル, または
省略時、デフォルトテーブル
record数値セレクション中のレコード位置番号

説明

GOTO SELECTED RECORDは、tableのカレントセレクション内の指定されたレコードに移動し、そのレコードをカレントレコードにします。カレントセレクションは変更されません。recordは、カレントセレクション内のレコードの位置を指定します。Record numberで求められるレコード番号ではありません。このレコード位置はセレクションの作成方法およびセレクションがソートされているかどうかによって変わります。

カレントセレクションにレコードが全く存在しない場合、あるいは指定したレコード位置番号がセレクション内に存在しない場合、GOTO SELECTED RECORDは、何も行いません。

recordに0を渡すと、tableのカレントレコードが存在しなくなります。単一選択モードが選択されている場合、特に組み込みサブフォームで、これによりリスト中のレコードの選択を解除できます。

例題

以下の例は、[People]Last Nameフィールドの内容をatNames配列に取り込みます。alRecNum倍長整数配列にレコード位置番号を設定します。両方の配列をソートし、その配列を使用してセレクション内のレコードを参照します:


      ` ここで[People] ーブルのセレクションを作成
      ` ...
      ` 名前を取得
   SELECTION TO ARRAY ([People]Last Name;atNames)
      ` レコード位置番号の配列を作成
   $vlNbRecords:=Size of array (atNames)
   ARRAY LONGINT (alRecNum;$vlNbRecords) 
   For ($vlRecord; 1; $vlNbRecords) 
      alRecNum{$vlRecord}:=$vlRecord 
   End for 
      ` 配列を名前順でソート
   SORT ARRAY (atNames; alRecNum; >)

atNames 配列がスクロールエリアに表示され、ユーザは項目の一つをクリックします。2つの配列は同期されているので、alRecNumは対応するatNamesの要素のレコード位置番号を保持しています。

以下のatNamesオブジェクトメソッドは[People]セレクション中の、スクロールエリアで選択されたレコードをカレントレコードにします:

   Case of
      : (Form event=On Clicked)
         If (atNames#0)
            GOTO SELECTED RECORD (alRecNum{atNames})
         End if
   End case

参照

Selected record number.


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