Crea un nuevo archivo a partir del contenido de la tabla seleccionada
actualmente.
COPY TO FileName [DATABASE DatabaseName [NAME LongTableName]]
[FIELDS FieldList | FIELDS LIKE Skeleton | FIELDS EXCEPT Skeleton]
[Scope] [FOR lExpression1] [WHILE lExpression2] [[WITH] CDX]
| [[WITH] PRODUCTION] [NOOPTIMIZE]
[[TYPE] [FOXPLUS | FOX2X | DIF | MOD
| SDF | SYLK | WK1 | WKS | WR1 | WRK | CSV | | XLS | XL5
| DELIMITED [WITH Delimiter | WITH BLANK | WITH TAB
| WITH CHARACTER Delimiter]]] [AS nCodePage]Parámetros
FileName
Especifica el nombre del nuevo archivo que crea COPY TO. Si no incluye una
extensión de nombre de archivo, se asignará la extensión predeterminada para
el tipo de archivo especificado. Si no especifica un tipo de archivo, COPY
TO creará una nueva tabla de Visual FoxPro y asignará al nombre del archivo
de tabla la extensión predeterminada .dbf.
DATABASE DatabaseName
Especifica una base de datos a la que se agregará la nueva tabla.
NAME LongTableName
Especifica un nombre largo para la nueva tabla. Los nombres largos pueden
contener un máximo de 128 caracteres y se pueden utilizar en lugar de
nombres cortos de archivo en la base de datos.
FIELDS FieldList
Especifica qué campos se copiarán al nuevo archivo. Si omite FIELDS
FieldList, todos los campos se copiarán al archivo. Si el archivo que está
creando no es una tabla, los campos memo no se copiarán al nuevo archivo,
incluso aunque en la lista de campos haya incluido nombres de campo memo.
FIELDS LIKE Skeleton
Especifica que los campos de la tabla original que concuerdan con la
estructura Skeleton se incluyen en el nuevo archivo creado por COPY TO.
FIELDS EXCEPT Skeleton
Especifica que todos los campos excepto aquéllos que concuerden con la
estructura de campos Skeleton se incluirán en el nuevo archivo creado por
COPY TO.
La estructura de campos Skeleton admite caracteres comodín. Por ejemplo,
para especificar que todos los campos que empiecen por las letras A y P se
incluirán en el nuevo archivo, use lo siguiente:
COPY TO mytable FIELDS LIKE A*,P*Puede combinar la cláusula LIKE con la
cláusula EXCEPT:
COPY TO mytable FIELDS LIKE A*,P* EXCEPT PARTNO*Scope
Especifica un intervalo de registros que desea copiar a un archivo. Sólo
se copiarán los registros comprendidos en ese intervalo. Las cláusulas de
alcance son: ALL, NEXT nRecords, RECORD nRecordNumber y REST. Para obtener
más información acerca de las cláusulas de alcance, vea el tema Cláusulas de
alcance.
FOR lExpression1
Especifica que sólo se copiarán al archivo aquellos registros para los
cuales la condición lógica lExpression1 dé como resultado verdadero (.T.).
Incluya FOR lExpression1 para copiar condicionalmente registros y excluir
los registros no deseados.
RushmoreT optimiza COPY TO con una cláusula FOR lExpression1 si
lExpression1 es una expresión optimizable. Para conseguir el máximo
rendimiento, utilice una expresión optimizable en la cláusula FOR
lExpression1.
Si desea obtener más información acerca de las expresiones optimizables
con Rushmore, vea SET OPTIMIZE y Usar Rushmore para agilizar el acceso a los
datos.
WHILE lExpression2
Especifica una condición por la cual se copiarán los registros siempre y
cuando la expresión lógica lExpression2 dé como resultado verdadero (.T.).
[WITH] CDX | [WITH] PRODUCTION
Crea un archivo de índice estructural para la nueva tabla idéntico al de
la tabla existente. Las etiquetas y expresiones de índice del archivo de
índice estructural original se copian al nuevo archivo de índice
estructural. Las cláusulas CDX y PRODUCTION son idénticas.
No incluya CDX o PRODUCTION si va a copiar a un archivo que no es una
nueva tabla de Visual FoxPro.
NOOPTIMIZE
Desactiva la optimización Rushmore de COPY TO.
Si desea obtener más información, vea SET OPTIMIZE y Usar Rushmore para
agilizar el acceso a los datos.
TYPE
Especifica el tipo de archivo si el archivo que va a crear no es una tabla
de Visual FoxPro. Aunque debe especificar un tipo de archivo, no es
necesario incluir la palabra clave TYPE.
FOXPLUS
Los archivos memo de Visual FoxPro tienen una estructura diferente que los
archivos memo de Microsoft FoxBASE+T. Si la tabla de origen de Visual FoxPro
contiene un campo memo, incluya la cláusula FOXPLUS para crear una tabla que
pueda utilizarse en FoxBASE+. El campo memo de Visual FoxPro no puede
contener datos binarios, ya que FoxBASE+ no admite datos binarios en campos
memo.
FOX2X
Crea una nueva tabla que se puede abrir en versiones anteriores de FoxPro
(versiones 2.0, 2.5 y 2.6).
Para campos de los tipos Numeric, Float, Integer, Double y Currency, los
valores nulos de la tabla de origen se convierten en cero en la nueva tabla.
Para otros tipos de campos, los valores nulos de la tabla de origen se
convierten a espacios en blanco en la nueva tabla. Para obtener más
información acerca de los valores en blanco, vea ISBLANK( ).
En la tabla siguiente se muestran los tipos de campo de Visual FoxPro que
se convierten a distintos tipos de campo en la nueva tabla cuando se incluye
el argumento FOX2X.
Tipo de campo de Visual FoxPro Tipo de campo de FoxPro 2.x
Currency Float
DateTime Date
Double Float
Integer Numeric
DIF
Crea un archivo .dif (Formato de intercambio de datos) de VisiCalc®. Los
campos de la tabla de Visual FoxPro se convierten en vectores (columnas) y
los registros se convierten en filas. Si no incluye ninguna extensión en
FileName se asignará una extensión .dif al nuevo nombre de archivo.
MOD
Crea un archivo de Microsoft Multiplan® versión 4.01. Si no incluye una
extensión, se asignará la extensión .mod al nuevo nombre de archivo de
Microsoft Multiplan.
SDF
Crea un archivo SDF (Formato de datos del sistema). Un archivo SDF es un
archivo de texto ASCII en el que los registros tienen una longitud fija y
terminan con un retorno de carro y un avance de línea. Los campos no están
delimitados. Si no incluye una extensión, se asignará la extensión .txt al
nombre de archivo SDF. Observe que la configuración de SET CENTURY se omite
cuando se crean archivos SDF con COPY TO.
Si los archivos SDF incluyen datos de fecha, deben tener el formato
AAAAMMDD para permitir una reconversión efectiva en tablas de Visual FoxPro.
Si la información de fecha está almacenada con formatos ambiguos, deberá
asegurarse de que las fechas tengan el formato AAAAMMDD antes de ejecutar la
operación COPY TO.
SYLK
Crea un archivo de intercambio SYLK (Vínculo simbólico). Los archivos SYLK
se utilizan con Microsoft MultiPlan. Cada campo de la tabla seleccionada
actualmente se convierte en una columna de la hoja de cálculo y cada
registro se convierte en una fila. Los nombres de archivo SYLK no tienen
ninguna extensión.
WK1
Crea un archivo de hoja de cálculo de Lotus® 1-2-3® versión 2.x. Cada
campo de la tabla seleccionada actualmente se convierte en una columna de la
hoja de cálculo y cada registro se convierte en una fila. Se asigna a la
nueva hoja de cálculo la extensión .wk1.
WKS
Crea un archivo de hoja de cálculo de Lotus 1-2-3 versión 1a. Cada campo
de la tabla seleccionada actualmente se convierte en una columna de la hoja
de cálculo y cada registro se convierte en una fila. Se asigna a la nueva
hoja de cálculo la extensión .wks.
WR1
Crea un archivo de hoja de cálculo de Lotus Symphony® versión 1.1 ó 1.2.
Cada campo de la tabla seleccionada actualmente se convierte en una columna
de la hoja de cálculo y cada registro se convierte en una fila. Se asigna a
la nueva hoja de cálculo la extensión .wr1.
WRK
Crea un archivo de hoja de cálculo de Lotus Symphony versión 1.0. Cada
campo de la tabla seleccionada actualmente se convierte en una columna de la
hoja de cálculo y cada registro se convierte en una fila. Se asigna a la
nueva hoja de cálculo la extensión .wr1.
CSV
Crea un archivo de valores separados por comas. Un archivo CSV tiene los
nombres de campo como primera línea en el archivo y los valores de campo de
la parte restante del archivo se separan con comas.
XLS
Crea un archivo de hoja de cálculo de Microsoft Excel versión 2.0. Cada
campo de la tabla seleccionada actualmente se convierte en una columna de la
hoja de cálculo y cada registro se convierte en una fila. Si no incluye
ninguna extensión de archivo, se asignará a la nueva hoja de cálculo la
extensión .xls.
XL5
Crea un archivo de hoja de cálculo de Microsoft Excel versión 5.0. Cada
campo de la tabla seleccionada actualmente se convierte en una columna de la
hoja de cálculo y cada registro se convierte en una fila. Si no incluye
ninguna extensión de archivo, se asignará a la nueva hoja de cálculo la
extensión .xls.
DELIMITED
Crea un archivo delimitado. Un archivo delimitado es un archivo de texto
ASCII en el cual cada registro termina con un retorno de carro y un avance
de línea. El separador predeterminado de campo es una coma. Puesto que los
datos de tipo Character pueden incluir comas, los campos de caracteres se
delimitan además mediante dobles comillas.
A menos que especifique lo contrario, se asignará una extensión .txt a
todos los archivos DELIMITED recién creados.
DELIMITED WITH Delimiter
Crea un archivo delimitado con los campos de caracteres delimitados por un
carácter que no es una comilla. El carácter que delimita los campos de
caracteres se especifica mediante Delimiter.
DELIMITED WITH BLANK
Crea un archivo delimitado con campos separados por espacios en blanco, no
por comas.
DELIMITED WITH TAB
Crea un archivo delimitado con campos delimitados por tabulaciones, no por
comas.
DELIMITED WITH CHARACTER Delimiter
Crea un archivo delimitado con cada uno de los campos entre caracteres
como el especificado en Delimiter. Si Delimiter es un punto y coma (el
carácter utilizado en Visual FoxPro para indicar continuación de línea de
comandos), escriba el punto y coma entre comillas. También puede especificar
las palabras clave BLANK y TAB para Delimiter.
Observe que la cláusula de WITH Delimiter se puede combinar con la
cláusula WITH CHARACTER. Por ejemplo, el siguiente comando crea un archivo
de texto en el que los campos de tipo Character aparecen entre caracteres de
subrayado, y todos los campos están delimitados entre sí con signos de punto
y coma:
COPY TO mytxt.txt DELIMITED WITH _ WITH CHARACTER ';'AS nCodePage
Especifica la página de códigos para la tabla o el archivo que crea COPY
TO. Visual FoxPro copia el contenido de la tabla seleccionada actualmente y,
a medida que copia los datos, los convierte automáticamente a la página de
códigos especificada para la nueva tabla o el nuevo archivo. Si es posible,
Visual FoxPro marcará la tabla o el archivo recién creados con la página de
códigos que usted especifique.
Si especifica un valor no admitido para nCodePage, Visual FoxPro generará
un mensaje de error. Puede utilizar GETCP( ) con nCodePage para mostrar el
cuadro de diálogo Página de códigos, de forma que pueda especificar una
página de códigos para la tabla o el archivo que crea Visual FoxPro.
Si se omite AS nCodePage, la tabla o el archivo recién creados se
convertirán en la página de códigos actual de Visual FoxPro.
Si nCodePage es 0, no se producirá ninguna conversión de página de códigos
y la tabla o el archivo recién creados no se marcarán con ninguna página de
códigos.
Observaciones
Si se ha establecido un orden de índice, los registros se copiarán según el
orden de índice principal.
Ejemplo
En el ejemplo siguiente se abre la tabla customer y los tres registros
siguientes se copian a un nuevo archivo de datos DELIMITED llamado TEMP.TXT.
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer && Opens Customer table
COPY NEXT 3 TO temp TYPE DELIMITED
WAIT WINDOW 'This is the delimited text file' NOWAIT
MODIFY FILE temp.txt
DELETE FILE temp.txtVea también
APPEND FROM | COPY FILE | GETCP( ) | EXPORT | IMPORT | RENAME TABLE
--
--------
Saludos.
Juan Ramón Hueso.
Cartagena-España.
si te ayuda, es esa una de las formas
>-----Mensaje original-----
>.
>
tabla: datos
columnas codigo,nombre,edad, sueldo
SELECT FROM DATOS CODIGO,NOMBRE,EDAD,SUELDO INTO CURSOR
CSRDATOS
COPY TO DATOSTXT TYPE ASCII
CONSULTATE LA AYUDA DE SELECT Y COPY TO (para mas formatos
incluyendo excell), A MI ME HA FUNCIONADO.
Suerte, y feliz 2004