Click or drag to resize

DbServer.Total Method

X#
Aggregate records by key value, producing grouped summarizations, and write the aggregate records to another database.

Namespace:  VO
Assembly:  VORDDClasses (in VORDDClasses.dll) Version: 2.19
Syntax
 VIRTUAL METHOD Total(
	oFSTarget,
	cbKeyField,
	aFieldList,
	cbForBlock,
	cbWhileBlock,
	uScope
) AS USUAL CLIPPER
Request Example View Source

Parameters

oFSTarget (Optional)
Type: Usual
A string or filespec object that specifies the file to which the summary data is written.
cbKeyField (Optional)
Type: Usual
The key field in this server that is the basis for the summarization. Note that for the summarization to produce correct results, the table should be indexed or sorted on this key field.
aFieldList (Optional)
Type: Usual
An array of fields from the source file that are to be included. The default is all fields.
cbForBlock (Optional)
Type: Usual
The condition evaluated for each record in the scope; if TRUE, the record is included in the processing. It provides the same functionality as the FOR clause of record processing commands.
cbWhileBlock (Optional)
Type: Usual
The condition evaluated for each record from the first record until the condition returns FALSE. It provides the same functionality as the WHILE clause of record processing commands.
uScope (Optional)
Type: Usual
The range of records to process, providing the same functionality as the ALL, REST and NEXT clauses of record processing commands.
ValueDescription
DBSCOPEALLThe scope is all the records in the table. This is the default, although if a WHILE condition is specified, the scope becomes DBSCOPEREST.
DBSCOPERESTThe scope is the remaining records in the table from the current position.
<nRecords> The scope is the next nRecords records.

Return Value

Type: Usual
TRUE if successful; otherwise, FALSE (although some records still might have been processed).
Remarks
Sends a NotifyIntentToMove message before the operation.
Sends a NotifyRecordChange message upon completion.
Examples
This method does not open the new file, it simply creates the file on disk. If you want to open it afterwards, you simply instantiate it directly.
X#
1IF oDB1:Total(oFSTarget)
2oDB2 := DBServer{oFSTarget}
3ELSE
4...
5ENDIF
See Also