[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 SET ORDER
 Select the controlling order
------------------------------------------------------------------------------
 Syntax

     SET ORDER TO [<nOrder> | [TAG <cOrderName>]
        [IN <xcOrderBagName>]]

 Arguments

     TAG is an optional clause that provides compatibility with RDDs that
     access multiple-order order bags.  You must use this keyword anytime you
     specify <cOrderName>.

     <cOrderName> is the name of an order, a logical arrangement of a
     database according to a keyed pair.  This order will become the
     controlling order in the order list.  If you specify <cOrderName>, you
     must use the keyword TAG.

     Note:  This differs from dBASE and FoxPro where TAG is totally
     optional.

     <nOrder> is the number of the target order in the order list.  You
     may represent the order as an integer or as a character string enclosed
     in quotes.

     IN <xcOrderBagName> is the name of a disk file containing one or
     more orders.  You may specify <xcOrderBagName> as the file name with or
     without the path name or appropriate extension.  If you do not include
     the extension as part of <xcOrderBagName>, CA-Clipper uses the default
     extension of the current RDD.

 Description

     When you SET ORDER TO a new controlling order (index), all orders are
     properly updated when you either append or edit records.  This is true
     even if you SET ORDER TO 0.  After a change of controlling order, the
     record pointer still points to the same record.

     SET ORDER TO 0 restores the database access to natural order, but leaves
     all orders open.  SET ORDER TO with no arguments closes all orders and
     empties the order list

     Though you may use <cOrderName> or <nOrder> to specify the target order,
     <nOrder> is only provided for compatibility with earlier versions of
     CA-Clipper.  Using <cOrderName> is a surer way of accessing the correct
     order in the order list.

     If you supply <xcOrderBagName>, only the orders belonging to
     <xcOrderBagName> in the order list are searched.  Usually you need not
     specify <xcOrderBagName> if you use unique order names throughout an
     application.

     To determine which order is the controlling order use the ORDSETFOCUS()
     function.

     In RDDs that support production or structural indices (e.g., DBFCDX),
     if you specify a tag but do not specify an order bag, the tag is created
     and added to the index.  If no production or structural index exists, it
     will be created and the tag will be added to it.  When using RDDs that
     support multiple order bags, you must explicitly SET ORDER (or
     ORDSETFOCUS()) to the desired controlling order.  If you do not specify
     a controlling order, the data file will be viewed in natural order.

     SET ORDER can open orders in a network environment instead of the INDEX
     clause of the USE command.  Generally, specify USE, and then test to
     determine whether the USE succeeded.  If it did succeed, open the
     associated orders with SET ORDER.  See the example below.

 Examples

     USE Customer NEW
     IF (! NETERR())
        SET ORDER TO Customer
     ENDIF

     SET ORDER TO "CuAcct"         // CuAcct is an Order in Customer

 Files   Library is CLIPPER.LIB.

See Also: INDEX INDEXORD() SEEK SET INDEX USE
This page created by ng2html v1.05, the Norton guide to HTML conversion utility. Written by Dave Pearson