[<<Previous Entry]
[^^Up^^]
[Next Entry>>]
[Menu]
[About The Guide]
CREATE FROM
Create a new .dbf file from a structure extended file
------------------------------------------------------------------------------
Syntax
CREATE <xcDatabase> FROM <xcExtendedDatabase> [NEW]
[ALIAS <xcAlias>] [VIA <cDriver>]
Arguments
<xcDatabase> is the name of the new database file to create from the
structure extended file.
<xcExtendedDatabase> is the name of a structure extended file to use
as the structure definition for the new database file.
Both of these arguments can be specified either as literal database file
names or as character expressions enclosed in parentheses. If an
extension is not specified, the default is .dbf.
NEW opens <xcDatabase> in the next available work area making it
the current work area. If this clause is not specified, <xcDatabase> is
opened in the current work area.
ALIAS <xcAlias> is the name to associate with the work area when
<xcDatabase> is opened. You may specify the alias name as a literal
name or as a character expression enclosed in parentheses. A valid
<xcAlias> may be any legal identifier (i.e., it must begin with an
alphabetic character and may contain numeric or alphabetic characters
and the underscore). Within a single application, CA-Clipper will not
accept duplicate aliases. If this clause is not specified, the alias
defaults to the database file name.
VIA <cDriver> specifies the replaceable database driver (RDD) to
use to process the current work area. <cDriver> is the name of the RDD
specified as a character expression. If you specify <cDriver> as a
literal value, you must enclose it in quotes.
Description
CREATE FROM produces a new database file with the field definitions
taken from the contents of a structure extended file. To qualify as a
structure extended file, a database file must contain the following four
fields:
Structure of an Extended File
------------------------------------------------------------------------
Field Name Type Length Decimals
------------------------------------------------------------------------
1 Field_name Character 10
2 Field_type Character 1
3 Field_len Numeric 3 0
4 Field_dec Numeric 4 0
------------------------------------------------------------------------
<xcDatabase> is automatically opened in the current work area after it
is created.
Notes
. Data dictionaries: For data dictionary applications, you can
have any number of other fields within the structure extended file to
describe the extended field attributes. You may, for example, want
to have fields to describe such field attributes as a description,
key flag, label, color, picture, and a validation expression for the
VALID clause. When you CREATE FROM, CA-Clipper creates the new
database file from the required fields only, ignoring all other
fields in the extended structure. Moreover, CA-Clipper is not
sensitive to the order of the required fields.
. Character field lengths greater than 255: There is one method
for creating a character field with a length greater than 255 digits:
- Specify the field length using both the Field_len and
Field_dec fields according to the following formulation:
FIELD->Field_len := <nFieldLength> % 256
FIELD->Field_dec := INT(<nFieldLength> / 256)
Examples
. This example is a procedure that simulates an interactive
CREATE utility:
CreateDatabase("NewFile")
RETURN
FUNCTION CreateDatabase( cNewDbf )
CREATE TmpExt // Create empty structure extended
USE TmpExt
lMore := .T.
DO WHILE lMore // Input new field definitions
APPEND BLANK
CLEAR
@ 5, 0 SAY "Name.....: " GET Field_name
@ 6, 0 SAY "Type.....: " GET Field_type
@ 7, 0 SAY "Length...: " GET Field_len
@ 8, 0 SAY "Decimals.: " GET Field_dec
READ
lMore := (!EMPTY(Field_name))
ENDDO
// Remove all blank records
DELETE ALL FOR EMPTY(Field_name)
PACK
CLOSE
// Create new database file
CREATE (cNewDbf) FROM TmpExt
ERASE TmpExt.dbf
RETURN NIL
. This example creates a new definition in a structure extended
file for a character field with a length of 4000 characters:
APPEND BLANK
REPLACE Field_name WITH "Notes",;
Field_type WITH "C",;
Field_len WITH 4000 % 256,;
Field_dec WITH INT(4000 / 256)
Files Library is CLIPPER.LIB.
See Also:
COPY STRUCTURE
COPY STRU EXTE
CREATE
This page created by ng2html v1.05, the Norton guide to HTML conversion utility.
Written by Dave Pearson