4D v16.3

GOTO SELECTED RECORD

ホーム

 
4D v16.3
GOTO SELECTED RECORD

GOTO SELECTED RECORD 


 

GOTO SELECTED RECORD ( {aTable ;} record ) 
引数   説明
aTable  テーブル in 指定したレコードをカレントレコードとするテーブル, または 省略時、デフォルトテーブル
record  倍長整数 in セレクション中のレコード位置番号

説明   

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

GOTO SELECTED RECORD は以下の場合なにも行いません:

  • カレントセレクション中にレコードが存在しない場合
  • record がカレントセレクションに含まれていない場合
  • record がすでにカレントレコードである場合

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

例題  

以下の例は、[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
テーマ: セレクション
番号: 245

このコマンドはカレントレコードを変更しますThis command can be run in preemptive processes

 
履歴 

変更: 4D 2004

 
ARTICLE USAGE

ランゲージリファレンス ( 4D v16)
ランゲージリファレンス ( 4D v16.1)
ランゲージリファレンス ( 4D v16.2)
ランゲージリファレンス ( 4D v16.3)