LCField の GetFieldlist メソッド

このメソッドは、フィールドからフィールドリストを取り出します。取り出されたフィールドリストは、フィールド内の元の情報への参照です。フィールドの値に LCFieldlist が含まれていない場合は、LCFAIL_INVALID_CONVERT エラーが発生します。

LCField オブジェクトの内容として LCFieldList への参照を追加することで、フィールドリストを別のフィールドリスト内にネストできます。これにより、複数値が格納されているレコード内の情報をメモリ内で管理できます。例えば、注文処理アプリケーションで、単一の注文 ID をキーフィールドとして、1 つの注文に対し複数行の商品エントリを保存するテーブルを作成します。注文キー (およびレコードに一度だけ現れるその他の情報) を格納するフィールドリストと、複数の注文行を保持可能な LCFieldlist を格納するフィールドを作成します。

sample LCFieldList order record image

LC LSX には、このような複雑なレコードの読み取りおよび書き込みを一度に実行するメソッドはありませんが、この機能は、データやコードを整理する場合に役立ちます。

定義位置

LCField

構文

Set newFieldList = lcField.GetFieldList (index)

パラメータ

パラメータ

説明

index

Long、>= 1。取り出すフィールドのデータ値のインデックス。

戻り値

説明

newFieldList

LCFieldList。取り出されたデータ型の値です。

Option Public
Option Explicit
Uselsx "*lsxlc"  
Sub Initialize
  Dim Record As New LCFieldlist
  Dim SubRecord As New LCFieldlist
  Dim field As LCField
  ' start building FieldList
  Set field = Record.Append ("group", LCTYPE_INT)
  field.Value = 4200
  ' Build SubFieldList
  Set field = SubRecord.Append ("category", LCTYPE_TEXT)
  field.Value = "potato"
  Set field = SubRecord.Append ("description", LCTYPE_TEXT)
  field.Value = "russet"
  Set field = SubRecord.Append ("sku", LCTYPE_INT)
  field.Value = 4207
  ' return to building the FieldList
  Set field = Record.Append ("item", LCTYPE_FIELDLIST)
  ' now assign the SubRecord to the Record
  Call field.SetFieldList (1, SubRecord)
  Delete SubRecord
  Set SubRecord = field.getFieldList (1)
  Print "The first field of the field's fieldlist is " & SubRecord.Names(0)
End Sub

出力例

The first field of the field's fieldlist is category.