version 2004.1 (Modified)
Sequence number {(aTable)} 数値
| 引数 | 型 | 説明 | |
| aTable | テーブル | シーケンス番号を求めるテーブル, または | |
| 省略時、デフォルトテーブル | |||
| 戻り値 | 数値 | シーケンス番号 |
説明
Sequence numberは、aTableの次のシーケンス番号を返します。シーケンス番号は、各テーブルにおいて固有のものです。この番号は、aTableに対して新しいレコードが追加されるたびに加算される、決して重複することのない番号です。番号は1から始まります。SET DATABASE PARAMETERコマンドを使用して、番号を変更することができます。
Sequence numberが有効なケース:
・番号の増分値に1以上の数を使用する必要がある場合
・シーケンス番号を他のコードの一部に使用する場合(部品コードの一部に使用する場合等)
メソッドを使用してシーケンス番号を各レコードに格納するには、テーブル上に倍長整数型のフィールドを作成し、そのフィールドにシーケンス番号を代入します。
このコマンドから返されるtableのシーケンス番号は、ストラクチャインスペクタを使用してテーブルフィールドの自動インクリメントをチェックしたとき、あるいはフォームのフィールドにデフォルト値として#N記号を設定した場合に得られる番号と同じです。詳細は4D Design Referenceマニュアルを参照してください。
Note: 自動インクリメントはSQLのAUTO_INCREMENT属性で設定することもできます。
シーケンス番号が1以外の数値から始まる必要がある場合には、Sequence numberに対してその差を加算するだけで構いません。例えば、番号が1000から始まる必要がある場合には、以下のようなステートメントを使用します:
[Table1]SeqField := Sequence number ([Table1]) + 999
例題
以下の例は、フォームメソッドの一部です。このステートメントは、まずレコードが新しいものかどうか検査(請求書番号が空の文字列であるかどうかで判断)します。新しいレコードであれば、請求書番号を設定します。この請求書番号は、2つの情報から成り立っています。それは、シーケンス番号号とデータベースを開くときに入力された操作番号です。シーケンス番号を、5桁の文字列として扱います:
` 請求番号が空なら新たに作成する If ([Invoices]Invoice No = "") ` 請求番号は5桁のシーケンス番号とオペレータIDからなる [Invoices]Invoice No:=String(Sequence number;"00000")+[Invoices]OpID End if
参照
Record number, Selected record number, レコード番号について.