Click or drag to resize

DbCopy Function

X#
Export records to a new database file.

Namespace:  XSharp.RT
Assembly:  XSharp.RT (in XSharp.RT.dll) Version: 2.21
Syntax
 FUNCTION DbCopy(
	cTargetFile,
	acFields,
	cbForCondition,
	cbWhileCondition,
	nNext,
	nRecord,
	lRest,
	cDriver,
	acRDDs,
	lNoOpt,
	lIndexes
) AS LOGIC CLIPPER
Request Example View Source

Parameters

cTargetFile (Optional)
Type: Usual
The name of the target file, including an optional drive, directory, and extension. See SetDefault() and SetPath() for file searching and creation rules.
The default extension for database files is determined by the RDD.
For text files, it is .TXT.
If cTargetFile does not exist, it is created.
If it exists, this function attempts to open the file in exclusive mode and, if successful, the file is overwritten without warning or error.
If access is denied because, for example, another process is using the file, NetErr() is set to TRUE.
DBCreate() creates the specified file in ANSI or OEM character set format, based on the SetAnsi() setting. (For more information, refer to the SetAnsi() function.)
acFields (Optional)
Type: Usual
A list of fields to copy to cTargetFile.
The default is all fields.
cbForCondition (Optional)
Type: Usual
A code block that defines a condition that each record within the scope must meet in order to be processed.
cbWhileCondition (Optional)
Type: Usual
A code block that defines another condition that each record must meet in order to be processed. As soon as a record is encountered that causes the condition to fail, the operation terminates.
If no scope is specified, cbWhileCondition changes the default scope to lRest.
You define the scope using one of these three, mutually exclusive arguments.
The default is all records.
nNext (Optional)
Type: Usual
The number of records to process, starting at nRecord. Specify 0 to ignore this argument.
nRecord (Optional)
Type: Usual
A single record number to process. Specify 0 to ignore this argument.
lRest (Optional)
Type: Usual
TRUE processes only records from nStart to the end of the file. FALSE processes all records.
cDriver (Optional)
Type: Usual
The name of the RDD that will service the data server. If not specified, the default RDD as determined by RDDSetDefault() is used. The name of the RDD that will service the work area.
If not specified, the default RDD as determined by RDDSetDefault() is used.
acRDDs (Optional)
Type: Usual
A one-dimensional array with the names of RDDs from which the main RDD inherits special functionality.
This allows you to use RDDs with special capabilities, like encryption or decryption, in different work areas with different database drivers.
These RDDs overlay special functions of the main RDD (specified with the cDriver argument).
If multiple RDDs (specified with this argument) implement the same function, the function associated with the last RDD in the list takes precedence.
If acRDDs is omitted, no additional RDDs are assumed.
lNoOpt (Optional)
Type: Usual
Disable (Rushmore) optimizations (not supported yet).
lIndexes (Optional)
Type: Usual

Return Value

Type: Logic
TRUE if successful; otherwise, FALSE.
Remarks
Tip Tip
The nNext, nRecord, and lRest arguments are mutually exclusive. You should not pass all three of them. And if you pass the cbWhile argument then this also controls the scope behavior.
By default, this function copies records from the database file in the currently selected work area to a new file. It can be made to operate on an unselected work area by specifying it within an aliased expression. If SetDeleted() is FALSE, deleted records in the source file are copied to cTargetFile where they retain their deleted status.
If SetDeleted() is TRUE, however, no deleted records are copied. Similarly, if a filter has been set, invisible records are not copied. DBCopy() is the functional equivalent of the COPY TO command, specified without a DELIMITED or SDF clause.
Examples
The following example copies records from the current database file to a new database file:
X#
1USE Test NEW
2DBCopy("newdb.dbf")
See Also