table.CREATE_CLONE Function

Syntax

<TABLE_2> as P = Create_Clone(filename[,flags])

Arguments

filename

The name of the new table.

flags

Optional. Determines the access privileges that apply to the new table file. It uses the following system variables:

Variable
Function
FILE_RO_EXCLUSIVE

Read Only (Exclusive)

FILE_RW_EXCLUSIVE

Read or Write (Exclusive)

FILE_RO_SHARED

Read Only (Shared)

FILE_RW_SHARED

Read or Write (Shared)

Description

Create an empty copy of the table.

Discussion

The <TBL>.CREATE_CLONE() method creates a new empty table that matches the structure of an existing table. The <TBL>.CREATE_CLONE() method is useful for creating a new table in which records are to be added. It can also be used with the <TBL>.RECORD_CLONE() method to copy records from one table to another. <TBL> is the pointer to the existing table that you want to clone. Filename is the name of the new table. <TABLE_2> is the pointer to the new table created by this method. This table is a clone of <TBL>. Note : The <TBL>.CREATE_CLONE() method will not copy the source table's field rules or its records. To copy field rules and/or copy records, use the <TBL>.COPY() or <TBL>.DUPLICATE() methods.

Example 

This script copies the structure of the current table to a new table, and then copies all the currently selected records in the current table.

dim tbl_target as P
dim tbl_source as P
dim filename as C
tbl_source = table.current()
filename = ui_get_file("Copy To:", "Tables (*.DBF)", "", "N")
if filename = "" then
    end
end if
tbl_target = tbl_source.create_clone(filename)
tbl_source.fetch_first()
while .NOT. tbl_source.fetch_EOF()
    tbl_target.enter_begin()
    tbl_target.record_clone(tbl_source)
    tbl_target.enter_end(.T.)
    tbl_source.fetch_next()
end while
tbl_target.close()

See Also