Array initialize_from_table Method
Syntax
V <array>.initialize_from_table( tablename as C [, filter as C [, order as C [, append as L [, columns as C]]]])
V <array>.initialize_from_table( tablename as C [, filter as C [, order as C ]] )
V <array>.initialize_from_table( table_pointer as P [, filter as C [, order as C ]] )
V <array>.initialize_from_table( map_table_pointer as P [, filter as C [, order as C ]] )
Arguments
- tablenameCharacter
The fully qualified name of a table.
- table_pointerPointer
A pointer to an open table.
- map_table_pointerPointer
A pointer created with the TABLE.OPENMAP() method.
- filterCharacter
Default = all records. A character filter expression that evaluates to a logical value. Selects records from the table.
- orderCharacter
Default = record order. A character order expression that sorts selected records.
- appendLogical
Logical
- columnsCharacter
A CR-LF delimited list of fieldnames in the source table to use when populating the array.
Description
Initialize property array subfields from a table.
Discussion
The <array>.initialize_from_table() method loads field values from a table into a property array. If an optional filter and order parameter are specified, only records that satisfy the filter are loaded. The records are sorted based on the expression defined by order.
Example
Assume a table (Names.dbf) contains the following entries:
| Name | City | Age | Hobby |
|---|---|---|---|
| John | Sudbury | 40 | Skiing |
| Frank | Boston | 24 | Diving |
| Joanne | Lincoln | 28 | Karate |
dim names[5] as P
Names.initialize_from_table("c:\program files\a5\data\name.dbf")This initializes an array with a Name, City, Age and Hobby property:
? names.dump_properties("Name|City|Age|Hobby")
= John|Sudbury|40|Skiing
Frank|Boston|24|Diving
Joanne|Lincoln|28|KarateTo sort the array by city:
names.sort("", "city")
? names.dump_properties("Name|City|Age|Hobby")
= Frank|Boston|24|Diving
Joanne|Lincoln|28|Karate
John|Sudbury|40|SkiingFilter and Order Expressions
The following example shows how to use filter and order expressions.
dim tbl as P
dim arr_count as N
dim indx as P
tbl = table.open("travel time")
query.filter = "office_time<>\"\" .and. start_time<>\"\" .and. date<>{}"
indx = tbl.query_create()
arr_count = indx.records_get()
indx.close()
tbl.close()
dim raw[arr_count] as P
raw.initialize_from_table("travel time", "office_time<>\"\" .and. start_time<>\"\" .and. date<>{}", "date")See Also