You are on page 1of 52

ZAP (Comando)

Elimina todos los registros de la tabla actual y deja slo la estructura de la tabla.
ZAP [IN nWorkArea | cTableAlias]

Parmetros IN nWorkArea Especifica el rea de trabajo de la tabla cuyos registros se eliminan. IN cTableAlias Especifica el alias de la tabla en la que se eliminan todos los registros. Si omite nWorkArea y cTableAlias, se eliminan todos los registros de la tabla del rea de trabajo seleccionada actualmente. Observaciones El uso de ZAP equivale a especificar DELETE ALL y a continuacin PACK, pero ZAP es mucho ms rpido. Si SET SAFETY est establecido en ON, Microsoft Visual FoxPro le preguntar si desea eliminar los registros de la tabla actual. Ejecutar ZAP no hace que se produzca el desencadenador Delete. Para obtener ms informacin acerca de cmo crear desencadenadores Precaucin Los registros de la tabla actual eliminados con ZAP no pueden recuperarse.

SET STATUS (Comando)


Muestra o quita la barra de estado basada en caracteres.
SET STATUS ON | OFF

Parmetros ON Si SET STATUS est establecido a ON, se muestra la barra de estado basada en caracteres con el nombre del programa actualmente en ejecucin (si lo hay), el alias de la tabla activa, la posicin del puntero en el registro actual, el nmero de registros de la tabla y el estado de las teclas Insert, Bloq Num y Bloq Mays. El estado de bloqueo del registro o del archivo tambin se muestra en la barra de estado cuando se abre la tabla para uso compartido. La barra de estado se actualiza cada vez que ejecuta un comando que cambia la informacin de estado. OFF (Predeterminado) Ejecute SET STATUS OFF para quitar la barra de estado.

SET DEFAULT (Comando)


Especifica la unidad o el directorio predeterminados.
SET DEFAULT TO [cPath]

Parmetros cPath Especifica uno de los elementos siguientes: Un designador de unidad. Un designador de unidad con un nombre de directorio. Un nombre de un directorio secundario. Cualquiera de los anteriores, utilizando la notacin abreviada de Microsoft MS-DOS ( \ o ..). Observaciones SET DEFAULT cambia el directorio predeterminado al directorio que usted especifique. Microsoft Visual FoxPro busca un archivo en el directorio predeterminado de Visual FoxPro. El directorio predeterminado es aqul desde el cual se inicia Visual FoxPro. No obstante, puede especificar otro directorio predeterminado en el archivo de configuracin de Visual FoxPro o en un programa de inicio. Si Visual FoxPro no encuentra un archivo en el directorio predeterminado, buscar

en la ruta de acceso de Visual FoxPro si se ha especificado una. Utilice SET PATH para especificar la ruta de Visual FoxPro. Si crea un archivo y no especifica dnde desea ubicarlo, el archivo se colocar en el directorio predeterminado de Visual FoxPro. En los servidores que admiten varios subprocesos, SET DEFAULT afecta a todo el proceso. Es decir, si se crean varios subprocesos y se utiliza SET DEFAULT TO "MYDIR" en uno de ellos, el comando afectar a todos los subprocesos y al proceso en que se carguen objetos. Cuando salga de Visual FoxPro, volver a Microsoft Windows. Si sale de Windows, volver a la unidad y al directorio desde los que inici Windows. Sugerencia SYS(5) devuelve la unidad predeterminada. SYS(2003) devuelve el directorio predeterminado sin designador de unidad. SYS(5) + SYS(2003) devuelven la unidad y el directorio predeterminados. Puede cambiar la unidad predeterminada a la unidad A ejecutando cualquiera de los comandos siguientes:
SET DEFAULT TO A SET DEFAULT TO A:

Puede especificar un directorio determinado:


SET DEFAULT TO A:\sales SET DEFAULT TO C:\sales\data

Puede especificar un directorio secundario. Si el directorio raz de la unidad C es el directorio predeterminado de Visual FoxPro, ejecute este comando para cambiar el directorio predeterminado a C:\Sales:
SET DEFAULT TO sales

Puede ejecutar la notacin abreviada de MS-DOS. Si el directorio actual es C:\Sales\Data, ejecute el comando siguiente para hacer que el directorio raz sea el directorio predeterminado:
SET DEFAULT TO \

Tambin puede mover el directorio predeterminado al directorio anterior hacia el directorio raz con este comando:
.SET DEFAULT TO ..

SET EXCLUSIVE (Comando)


Especifica si Visual FoxPro abre los archivos de tabla para uso exclusivo o compartido en una red.
SET EXCLUSIVE ON | OFF

Parmetros ON (El valor predeterminado para la sesin de datos global.) Limita el acceso a una tabla abierta en red al usuario que la abri. Otros usuarios de la red no tienen acceso a la tabla. A diferencia de FLOCK( ), SET EXCLUSIVE ON impide tambin que otros usuarios tengan acceso de slo lectura. Tambin puede abrirse un archivo en una red para uso exclusivo incluyendo la clusula EXCLUSIVE con el comando USE. No es necesario realizar un bloqueo de registro o archivo en una tabla abierta para uso exclusivo. Al abrir una tabla para uso exclusivo se asegura que otros usuarios no puedan cambiar el archivo. Algunos comandos no pueden ejecutarse a menos que se abra una tabla para uso exclusivo. Estos comandos son INSERT, INSERT BLANK, MODIFY STRUCTURE, PACK, REINDEX y ZAP. OFF (El valor predeterminado para una sesin de datos privada.) Permite que cualquier usuario de la red pueda compartir y modificar una tabla abierta en red. Para obtener informacin adicional acerca del bloqueo de registros y archivos, y el uso compartido de tablas en una red, vea Programar para acceso compartido. Observaciones

Al cambiar la configuracin de SET EXCLUSIVE no cambiar el estado de las tablas abiertas previamente. Por ejemplo, si una tabla se abre con SET EXCLUSIVE ON y SET EXCLUSIVE se cambia posteriormente a OFF, la tabla mantendr su estado de uso exclusivo. SET EXCLUSIVE tiene como alcance la sesin actual de datos.

SET DELETED (Comando)


Especifica si Visual FoxPro procesar o no los registros marcados para su eliminacin, y si estarn disponibles o no para utilizarse en otros comandos.
SET DELETED ON | OFF

Parmetros ON Especifica que los comandos que realizan operaciones en registros (incluidos los registros de las tablas relacionadas) utilizando un alcance pasen por alto los registros marcados para su eliminacin. OFF (Predeterminado) Especifica que puedan tener acceso a los registros marcados para eliminacin los comandos que actan sobre registros (incluidos los registros de las tablas relacionadas), utilizando un alcance. Observaciones Las consultas que utilizan DELETED( ) para comprobar el estado de los registros pueden optimizarse utilizando la tecnologa Rushmore si la tabla est indizada en DELETED( ). Para obtener ms informacin acerca de la optimizacin de consultas, vea Puede marcar registros para su eliminacin ejecutando DELETE - SQL o DELETE, o eligiendo Eliminar registros... en el men Tabla desde una ventana Examinar o Modificar. Puede recuperar registros ejecutando RECALL o eligiendo Desmarcar registros... en el men Tabla de una ventana Examinar o Modificar. Nota SET DELETED se pasa por alto si el alcance predeterminado del comando es el registro actual o si incluye un alcance de un nico registro. INDEX y REINDEX siempre pasan por alto SET DELETED e indizan todos los registros de la tabla. SET DELETED tiene como alcance la sesin actual de datos.

SET DATE (Comando)


Especifica el formato para mostrar las expresiones Date y DateTime.
SET DATE [TO] AMERICAN | ANSI | BRITISH | FRENCH | GERMAN | ITALIAN | JAPAN | TAIWAN | USA | MDY | DMY | YMD| SHORT | LONG

Observaciones A continuacin se muestran las configuraciones y los formatos de fecha resultantes: Valor Formato AMERICAN mm/dd/aa ANSI aa.mm.dd BRITISH/FRENCH dd/mm/aa GERMAN dd.mm.aa ITALIAN dd-mm-aa JAPAN aa/mm/dd TAIWAN aa/mm/dd USA mm-dd-aa MDY mm/dd/aa DMY dd/mm/aa

AMD SHORT

aa/mm/dd El formato de fecha corto determinado en la configuracin de fecha corta del Panel de Control de Windows. LONG El formato de fecha larga determinado en la configuracin de fecha larga del Panel de Control de Windows. Nota Cuando se establece SET DATE en SHORT o LONG, las fechas anteriores a {^1601-01-01} no sern vlidas y generarn un error. La configuracin predeterminada es AMERICAN. El valor SET DATE tambin determina cmo aparecer la fecha en las expresiones DateTime. Si se establece DATE en SHORT o en LONG, se omitirn los valores de configuracin establecidos para SET CENTURY, SET MARK, SET HOURS y SET SECONDS. SET DATE tiene como alcance la sesin actual de datos.

SET CENTURY (Comando)


Determina si Microsoft Visual FoxPro mostrar o no el siglo en las expresiones Date y cmo interpreta Visual FoxPro las fechas que slo especifican los aos con 2 dgitos.
SET CENTURY ON | OFF | TO [nCentury [ROLLOVER nYear]]

Parmetros ON Especifica un formato de ao con cuatro dgitos que ocupa 10 caracteres (incluidos los delimitadores de fecha). Nota Para proporcionar compatibilidad con el milenio, se recomienda que establezca siempre SET CENTURY en ON. OFF (Predeterminado) Especifica un formato de ao de dos dgitos que ocupa ocho caracteres y supone el siglo veinte para los clculos de fechas. TO nCentury Un nmero de 1 a 99 que especifica el siglo actual. Cuando una fecha tiene un ao de dos dgitos, nCentury determina en qu siglo se encuentra el ao. El valor ROLLOVER determina si el ao est en nCentury o en el siglo que sigue a nCentury. ROLLOVER nYear Un nmero de 0 a 99 que especifica el ao a partir del cual es el siglo actual y por debajo del cual es el prximo siglo. El valor predeterminado para nYear es los dos ltimos dgitos del ao actual ms 50 aos (si el ao actual es 1998, nYear es 48, los dos ltimos dgitos de 2048 (1998 + 50). Tenga en cuenta que el valor de ROLLOVER slo determina el siglo para una fecha escrita sin la parte del siglo (un formato de fecha ambiguo que no se recomienda). Por ejemplo, si el ao actual es 1998 y nYear es el valor predeterminado (48), cualquier fecha escrita sin la parte del siglo y un ao 48 o superior se considerar en el siglo actual (el siglo XX). Cualquier fecha escrita sin la parte del siglo pero con un ao anterior al 48 se considera como perteneciente al prximo siglo (el siglo XXI). Observaciones Utilice SET CENTURY para especificar cmo se mostrarn las variables y las funciones de fecha. Ejecute SET CENTURY TO sin argumentos adicionales para restaurar el siglo predeterminado al siglo actual y aplicar ROLLOVER al valor predeterminado del ao actual ms 50 aos. En Visual FoxPro 5.0, al ejecutar SET CENTURY TO sin ningn argumento adicional se establece el siglo en 19 y ROLLOVER en cero. SET CENTURY tiene como alcance la sesin de datos actual. Las nuevas sesiones de datos se inician en los valores predeterminados y se pasa por alto el valor de SET CENTURY para la sesin de datos actual. SET CENTURY TO ROLLOVER est disponible en Visual FoxPro 5.0 y las versiones posteriores, y permite controlar el ao de las fechas cuando el valor es SET CENTURY OFF. Tambin permite

utilizar un valor de ROLLOVER, puesto que muchas aplicaciones contienen fechas que abarcan varios siglos. Nota SET CENTURY OFF siempre utiliza fechas del siglo XX. Sin embargo, la sintaxis de SET CENTURY TO tiene prioridad sobre este valor. Por tanto, en Visual FoxPro 5.0 y en las versiones posteriores, el valor SET CENTURY ON/OFF slo controla el nmero de dgitos mostrados. El valor de SET CENTURY TO tiene como alcance la sesin de datos actual. En Visual FoxPro 5.0, si se ejecuta SET CENTURY TO sin parmetros adicionales, se establece como siglo el siglo actual 1 y se pasa a cero si el ao de dos dgitos de la fecha del sistema es menor que 50. Se establece como siglo el siglo actual si la fecha del sistema de dos dgitos es mayor que 50. Por ejemplo, si el ao actual fuera 1998, nYear sera 48, los dos ltimos dgitos de 2048 (1998 + 50).

SELECT - SQL (Comando)


Recupera datos de una o ms tablas.
SELECT [ALL | DISTINCT] [TOP nExpr [PERCENT]] [Alias.] Select_Item [[AS] Column_Name] [, [Alias.] Select_Item [[AS] Column_Name] ...] FROM [FORCE][DatabaseName!]Table [[AS] Local_Alias] [[INNER | LEFT [OUTER] | RIGHT [OUTER] | FULL [OUTER] JOIN DatabaseName!] Table [[AS] Local_Alias] [ON JoinCondition ] [[INTO Destination] | [TO FILE FileName [ADDITIVE] | TO PRINTER [PROMPT] | TO SCREEN]] [PREFERENCE PreferenceName] [NOCONSOLE] [PLAIN] [NOWAIT] [WHERE JoinCondition [AND JoinCondition ...] [AND | OR FilterCondition [AND | OR FilterCondition ...]]] [GROUP BY GroupColumn [, GroupColumn ...]] [HAVING FilterCondition] [UNION [ALL] SELECTCommand] [ORDER BY Order_Item [ASC | DESC] [, Order_Item [ASC | DESC] ...]]

Parmetros SELECT Especifica los campos, constantes y expresiones que se mostrarn en el resultado de la consulta. ALL De forma predeterminada, se muestran todas las filas del resultado de la consulta. DISTINCT Excluye duplicados de cualquier fila del resultado de la consulta. Nota Puede utilizar DISTINCT nicamente una vez por cada clusula SELECT. TOP nExpr [PERCENT] Especifica que el resultado de la consulta contenga un nmero determinado de filas o un porcentaje de filas en el resultado de la consulta. Es necesario incluir una clusula ORDER BY si incluye la clusula TOP. La clusula ORDER BY especifica las columnas en las que la clusula TOP determinar el nmero de filas que se va a incluir en el resultado de la consulta. Puede especificar desde 1 a 32.767 filas. Las filas de valores idnticos para las columnas especificadas en la clusula ORDER BY se incluyen en el resultado de la consulta. Por lo tanto, si especifica 10 para nExpr, el resultado de la consulta podr obtener ms de 10 filas, si hay ms de 10 filas con valores idnticos para las columnas especificadas en la clusula ORDER BY. Si se incluye la palabra clave PERCENT, se redondear al nmero entero ms alto el nmero de columnas devuelto en el resultado. Los valores permitidos para nExpr cuando se incluye la palabra clave PERCENT son de 0,01 a 99,99. Alias. Califica nombres de elementos coincidentes. Cada elemento que especifique con Select_Item genera una columna de los resultados de la consulta. Si dos o ms elementos tienen el mismo nombre, incluya

el alias de la tabla y un punto antes del nombre del elemento para impedir la duplicacin de las columnas. Select_Item especifica un elemento que se incluir en el resultado de la consulta. Un elemento puede ser uno de los siguientes: El nombre de un campo de una tabla de la clusula FROM. Una constante, especificando que el mismo valor constante debe aparecer en cada fila del resultado de la consulta. Una expresin que puede ser el nombre de una funcin definida por el usuario (FDU).

AS Column_Name Especifica el ttulo de una columna en el resultado de la consulta. Esta opcin resulta muy til cuando Select_Item es una expresin o contiene una funcin de campo y desea dar un nombre significativo a la columna. Column_Name puede ser una expresin, pero no puede contener caracteres (por ejemplo, espacios) que no estn permitidos para nombres de campos de tablas. FROM Indica las tablas que contienen los datos que ha obtenido la consulta. Si no hay ninguna tabla abierta, Visual FoxPro muestra el cuadro de dilogo Abrir, donde puede especificar la ubicacin del archivo. Una vez abierta, la tabla permanece abierta cuando finaliza la consulta. FORCE especifica que las tablas se combinen en el orden de aparicin en la clusula FROM. Si se omite FORCE, Visual FoxPro intentar optimizar la consulta. Sin embargo, es posible que la consulta se ejecute ms rpido si se incluye la palabra clave FORCE para desactivar la optimizacin de consultas de Visual FoxPro. DatabaseName! Especifica el nombre de una base de datos inactiva que contiene la tabla. Es necesario incluir el nombre de la base de datos que contiene la tabla en caso de que no sea la base de datos activa. Incluya el delimitador signo de exclamacin (!) despus del nombre de la base de datos y antes del nombre de la tabla. [AS] Local_Alias Especifica un nombre temporal para la tabla indicada en Table. Si especifica un alias local, debe utilizar el alias local en lugar del nombre de la tabla en toda la instruccin SELECT. INNER JOIN especifica que el resultado de la consulta contenga slo filas en una tabla con la que coincidan una o varias filas de otra tabla. LEFT [OUTER] JOIN especifica que el resultado de la consulta contenga todas las filas de la tabla a la izquierda de la palabra clave JOIN y slo las filas que coincidan procedentes de la tabla a la derecha de la palabra clave JOIN. La palabra clave OUTER es opcional; se puede incluir para resaltar que se ha creado una combinacin externa. RIGHT [OUTER] JOIN especifica que el resultado de la consulta contenga todas las filas de la tabla a la derecha de la palabra clave JOIN y slo las filas que coincidan de la tabla a la izquierda de la palabra clave JOIN. La palabra clave OUTER es opcional; se puede incluir para resaltar que se ha creado una combinacin externa. FULL [OUTER] JOIN especifica que el resultado de la consulta contenga todas las filas, coincidan o no, de ambas tablas. La palabra clave OUTER es opcional; se puede incluir para resaltar que se ha creado una combinacin externa. ON Join Condition especifica las condiciones segn las cuales se combinan las tablas. INTO Destination Determina donde se almacenan los resultados de la consulta. Si incluye una clusula INTO y una clusula TO en la misma consulta, la clusula TO se pasar por alto. Si no incluye la clusula INTO, los resultados de la consulta se mostrarn en la ventana Examinar. Los resultados de la consulta pueden dirigirse tambin a la impresora o a un archivo con la clusula TO. Destination puede ser uno de los siguientes:

ARRAY ArrayName,

que almacena los resultados de la consulta en una matriz de variable de memoria. Si la consulta selecciona 0 registros, la matriz no se crear. CURSOR CursorName [NOFILTER | READWRITE], que almacena los resultados de una consulta en un cursor. Si especifica el nombre de una tabla abierta, Visual FoxPro generar un mensaje de error. Despus de ejecutar SELECT, el cursor temporal permanecer abierto y estar activo y ser de slo lectura a menos que se especifique la opcin READWRITE. Cuando cierre este cursor temporal, se borrar. Los cursores pueden existir como un archivo temporal en la unidad SORTWORK. Incluya NOFILTER para crear un cursor que se pueda usar en consultas posteriores. En versiones anteriores de Visual FoxPro, era necesario incluir una expresin o una constante adicional como un filtro para crear un cursor utilizable en consultas posteriores. Por ejemplo, la adicin de un valor lgico verdadero como una expresin de filtro creaba una consulta que poda utilizarse en consultas posteriores:
SELECT *, .T. FROM customers INTO CURSOR myquery

Si se incluye NOFILTER, es posible que disminuya el rendimiento de la consulta, puesto que se crea una tabla temporal en el disco. Cuando se cierre el cursor se eliminar del disco la tabla temporal. La clusula READWRITE especifica que el cursor es temporal y se puede modificar. DBF | TABLE TableName[DATABASE DatabaseName [NAME LongTableName]] almacena los resultados de una consulta en una tabla. Si especifica una tabla que ya est abierta y SET SAFETY est en OFF, Visual FoxPro sobrescribir la tabla sin previo aviso. Si no ha especificado ninguna extensin, Visual FoxPro asignar la extensin .DBF a la tabla. La tabla permanecer abierta y activa despus de ejecutar SELECT. Incluya DATABASE DatabaseName para especificar una base de datos a la que se agregar la tabla. Incluya NAME LongTableName para especificar un nombre largo para la tabla. Los nombres largos pueden contener un mximo de 128 caracteres y se pueden utilizar en lugar de nombres de archivo cortos en la base de datos. TO FILE FileName Si incluye una clusula TO pero no una clusula INTO, puede dirigir el resultado de la consulta a un archivo de texto ASCII llamado FileName, a la impresora o a la ventana principal de Visual FoxPro. ADDITIVE anexa los resultados de la consulta al contenido existente del archivo de texto especificado en TO FILE FileName. TO PRINTER [PROMPT] dirige los resultados de la consulta a una impresora. Utilice la clusula PROMPT opcional para mostrar un cuadro de dilogo antes de que empiece la impresin. En este cuadro de dilogo puede modificar la configuracin de la impresora. Las opciones de configuracin de la impresora que puede ajustar dependen del controlador de impresora que tenga instalado actualmente. Coloque PROMPT justo despus de TO PRINTER. TO SCREEN dirige los resultados de la consulta a la ventana principal de Visual FoxPro o a una ventana activa definida por el usuario. PREFERENCE PreferenceName Si el resultado de una consulta se enva a una ventana Examinar, guarda los atributos y opciones de la ventana Examinar para utilizarlos despus. PREFERENCE guarda los atributos, o preferencias, por tiempo indefinido en el archivo de recursos FOXUSER. Las preferencias se pueden recuperar en cualquier momento. Ejecutando SELECT con PREFERENCE PreferenceName por primera vez, se crea la preferencia. Ejecutando posteriormente SELECT con el mismo nombre de preferencia, se restaura la ventana Examinar con el mismo estado de preferencia. Cuando se cierre la ventana Examinar, se actualiza la preferencia. Si sale de una ventana Examinar presionando CTRL+Q+W, no se guardarn los cambios de la ventana Examinar en el archivo de recursos. NOCONSOLE Impide que el resultado de la consulta se enve a un archivo, a la impresora o a la ventana principal de Visual FoxPro.

PLAIN Impide que aparezcan los encabezados de las columnas al mostrar los resultados de la consulta. PLAIN puede utilizarse tanto si est presente una clusula TO como si no. Si se incluye una clusula TO, se pasar por alto PLAIN. NOWAIT Contina la ejecucin del programa despus de abrir la ventana Examinar y de dirigir a ella los resultados de la consulta. El programa no esperar a que la ventana Examinar se cierre, sino que continuar con la ejecucin de la lnea de programa inmediatamente siguiente a la instruccin SELECT. Cuando se incluye TO SCREEN para dirigir los resultados hacia la ventana principal de Visual FoxPro o una ventana definida por el usuario, los resultados se detienen cuando la ventana principal de Visual FoxPro o la ventana definida por el usuario se llena con resultados de la consulta. Presione una tecla para ver el siguiente conjunto de resultados de la consulta. Si se incluye NOWAIT, los resultados de la consulta se desplazarn fuera de la ventana principal de Visual FoxPro o de la ventana definida por el usuario sin esperar a que se presione una tecla. NOWAIT se pasa por alto si se incluye con la clusula INTO. WHERE Especifica que Visual FoxPro slo debe incluir en los resultados de la consulta los registros que satisfagan los criterios especificados. JoinCondition Especifica los campos que vinculan las tablas en la clusula FROM. Si incluye ms de una tabla en una consulta, deber especificar una condicin de combinacin para cada tabla despus de la primera. Las condiciones de combinacin mltiples deben conectarse mediante el operador AND. Cada condicin de combinacin tiene la forma siguiente: FieldName1 Comparison FieldName2 FieldName1 es el nombre de un campo de una tabla, FieldName2 es el nombre de un campo de otra tabla y Comparison es uno de los operadores siguientes: Operador Comparacin = Igual == Exactamente igual LIKE SQL LIKE <>, !=, # Distinto de > Mayor que >= Mayor o igual que < Menor que <= Menor o igual que Cuando utiliza el operador = con cadenas, acta de forma distinta dependiendo del ajuste de SET ANSI. Cuando SET ANSI est desactivado, Visual FoxPro trata las comparaciones de cadenas en la forma habitual en Xbase. Cuando SET ANSI est activado, Visual FoxPro sigue las normas ANSI para las comparaciones de cadenas. Vea SET ANSI y SET EXACT para obtener informacin adicional acerca de cmo realiza Visual FoxPro las comparaciones de cadenas. La clusula WHERE admite el operador ESCAPE para la JoinCondition, lo que le permite realizar consultas significativas sobre datos que contengan caracteres comodn _ y % de SELECT - SQL. La clusula ESCAPE le permite especificar que se traten los caracteres comodn de SELECT - SQL como si fueran caracteres literales. En la clusula ESCAPE se especifica un carcter, que si se coloca inmediatamente antes del carcter comodn, indica que se tratar al carcter comodn como a un carcter literal.

FilterCondition Especifica los criterios que deben satisfacer los registros para ser incluidos en los resultados de la consulta. Una consulta puede incluir tantas condiciones de filtro como desee, conectadas con el operador AND y OR. Tambin puede utilizar el operador NOT para invertir el valor de una expresin lgica o utilizar EMPTY( ) para comprobar si hay campos vacos. FilterCondition puede adoptar cualquier de las formas de los siguientes ejemplos: Ejemplo 1 En el ejemplo 1 se muestra FilterCondition como FieldName1 Comparison FieldName2
customer.cust_id = orders.cust_id

Ejemplo 2 En el ejemplo 2 se muestra FilterCondition como FieldName Comparison Expression


payments.amount >= 1000

Ejemplo 3 En el ejemplo 3 se muestra FilterCondition como FieldName Comparison ALL (Subquery) Cuando la condicin de filtro incluye ALL, el campo debe cumplir la condicin de comparacin para todos los valores generados por la subconsulta antes de que se incluya el registro en el resultado de la consulta.
company < ALL ; (SELECT company FROM customer WHERE country = "UK")

Ejemplo 4 En el ejemplo 4 se muestra FilterCondition como FieldName Comparison ANY | SOME (Subquery) Cuando la condicin de filtro incluye ANY o SOME, el campo debe cumplir la condicin de comparacin en al menos uno de los valores generados por la subconsulta.
company < ANY ; (SELECT company FROM customer WHERE country = "UK")

En el ejemplo 5 se muestra FilterCondition como FieldName [NOT] BETWEEN Start_Range AND End_Range Este ejemplo comprueba si los valores del campo estn dentro de un intervalo de valores especificado.
customer.postalcode BETWEEN 90000 AND 99999

Ejemplo 6 En el ejemplo 6 se muestra FilterCondition como [NOT] EXISTS (Subquery) Este ejemplo comprueba si al menos una lnea cumple los criterios de la subconsulta. Cuando la condicin de filtro incluye EXISTS, la condicin de filtro se evala como verdadero (.T.) a no ser que la subconsulta sea un conjunto vaco.
EXISTS ; (SELECT * FROM orders WHERE customer.postalcode = orders.postalcode)

Ejemplo 7 En el ejemplo 7 se muestra FilterCondition como FieldName [NOT] IN Value_Set Cuando una condicin de filtro incluye IN, el campo debe contener uno de los valores antes de que el registro se incluya en los resultados de la consulta.
customer.postalcode NOT IN ("98052","98072","98034")

Ejemplo 8 En el ejemplo 8 se muestra FilterCondition como FieldName [NOT] IN (Subquery) Aqu, el campo debe contener uno de los valores devueltos por la subconsulta antes de que su registro se incluya en los resultados de la consulta.
customer.cust_id IN ;

(SELECT orders.cust_id FROM orders WHERE orders.city="Seattle")

Ejemplo 9 En el ejemplo 9 se muestra FilterCondition como FieldName [NOT] LIKE cExpression


customer.country NOT LIKE "UK"

Esta condicin de filtro busca cada uno de los campos que coinciden con cExpression. Puede utilizar el signo de porcentaje (%) y subrayado ( _ ) como parte de cExpression. El signo de porcentaje representa a cualquier secuencia de caracteres desconocidos en la cadena. El subrayado representa un solo carcter desconocido en la cadena. GROUP BY GroupColumn [, GroupColumn ...] Agrupa las filas de la consulta basndose en los valores de una o ms columnas. GroupColumn puede ser el nombre de un campo normal de una tabla, o un campo que incluya una funcin de campo SQL o una expresin numrica que indique la posicin de la columna en la tabla de resultados (la columna ms a la izquierda tiene el nmero 1). HAVING FilterCondition Especifica una condicin de filtro que los grupos deben satisfacer para quedar incluidos en el resultado de la consulta. HAVING debe utilizarse con GROUP BY. Puede incluir tantas condiciones de filtro como desee, conectadas con los operadores AND u OR. Tambin puede utilizar NOT para invertir el valor de una expresin lgica. FilterCondition no puede contener una subconsulta. Una clusula HAVING sin una clusula GROUP BY acta como una clusula WHERE. Puede utilizar alias locales y funciones de campo en la clusula HAVING. Utilice una clusula WHERE para acelerar el rendimiento si la clusula HAVING no contiene funciones de campo. No olvide que la clusula HAVING debera de aparecer antes de una clusula INTO porque de lo contrario se producir un error de sintaxis. [UNION [ALL] SELECTCommand] Combina el resultado final de un SELECT con el resultado final de otro SELECT. De forma predeterminada, UNION comprueba el resultado combinado y elimina las filas duplicadas. Puede utilizar parntesis para combinar varias clusulas UNION. ALL impide que UNION elimine filas duplicadas de los resultados combinados. Las clusulas UNION siguen las reglas siguientes: No puede utilizar UNION para combinar subconsultas. Los resultados de ambos SELECT deben tener el mismo nmero de columnas. Cada columna de resultados de la consulta de un SELECT debe tener el mismo tipo de datos y ancho que su columna correspondiente en el otro SELECT. nicamente el SELECT final puede tener una clusula ORDER BY, que debe referirse a las columnas de resultados por su

nmero. Si se incluye otra clusula ORDER BY, afectar al resultado completo. Tambin puede utilizar la clusula UNION para simular una combinacin externa. Al combinar dos tablas en una consulta, slo se incluirn en los resultados los registros que tengan valores coincidentes en los campos combinados. Si un registro de la tabla primaria no tiene un registro correspondiente en la tabla secundaria, no se incluir en los resultados. Una combinacin externa permite incluir todos los registros de la tabla primaria en los resultados, junto con los registros coincidentes de la tabla secundaria. Para crear una combinacin externa en Visual FoxPro, debe utilizar un comando SELECT anidado, como en el siguiente ejemplo:
SELECT customer.company, orders.order_id, orders.emp_id ; FROM customer, orders ; WHERE customer.cust_id = orders.cust_id ; UNION ; SELECT customer.company, 0, 0 ; FROM customer ; WHERE customer.cust_id NOT IN ; (SELECT orders.cust_id FROM orders)

Nota Asegrese de incluir el espacio que precede a cada punto y coma. Si no lo hace as; se producir un error. La seccin del comando anterior a la clusula UNION selecciona registros de las dos tablas que tengan valores coincidentes. No se incluirn las compaas de clientes que no tengan facturas asociadas. La seccin del comando situada despus de la clusula UNION selecciona registros de la tabla de clientes que no tengan registros coincidentes en la tabla de pedidos. En cuanto a la segunda seccin del comando, tenga en cuenta lo siguiente: Se procesar primero la instruccin SELECT escrita entre parntesis. Esta instruccin realiza una seleccin de todos los nmeros de cliente de la tabla de pedidos. La clusula WHERE busca todos los nmeros de cliente de la tabla de clientes que no estn en la tabla de pedidos. Como la primera seccin del comando proporcionaba todas las compaas que tuvieran un nmero de cliente en la tabla de pedidos, ahora se incluirn en el resultado de la consulta todas las compaas de la tabla de clientes. Como las estructuras de las tablas incluidas en una clusula UNION deben ser idnticas, hay dos marcadores en la segunda instruccin SELECT para representar los parmetros orders.order_id y

orders.emp_id de la primera instruccin SELECT. Nota Los marcadores deben tener el mismo tipo que los campos que representan. Si el campo es un tipo de datos, el marcador debe ser { / / }. Si el campo es un tipo Character, el marcador debe ser la cadena vaca (""). En determinadas circunstancias puede producirse una transformacin de datos automtica, como en los dos ejemplos siguientes:
CREATE CREATE SELECT SELECT CURSOR table1 (field1 c(1)) CURSOR table2 (field1 c(2)) field1 FROM table1 UNION NVL(field1,' ') FROM table2 table1 (field1 table2 (field1 i) FROM table1 UNION FROM table2

CREATE CURSOR n(20,5)) CREATE CURSOR SELECT field1 SELECT field1

ORDER BY Order_Item Ordena el resultado de la consulta basndose en los datos de una o varias columnas. Cada Order_Item debe corresponder a una columna de resultados de la consulta y puede ser uno de los siguientes: Un campo de una tabla FROM que tambin es un elemento de seleccin en la clusula principal SELECT (no en una subconsulta). Una expresin numrica que indica la ubicacin de la columna en la tabla de resultados. (La columna de la izquierda es la nmero 1.) ASC especifica un orden ascendente para los resultados de la consulta, de acuerdo con el elemento o los elementos de orden, y es el valor predeterminado para ORDER BY. DESC especifica un orden descendente para los resultados de la consulta. Los resultados de la consulta aparecern desordenados si no especifica un orden con ORDER BY. Observaciones SELECT es un comando SQL incorporado en Visual FoxPro como cualquier otro comando de Visual FoxPro. Cuando utiliza SELECT para componer una consulta, Visual FoxPro interpreta la consulta y recupera los datos especificados de las tablas. Puede crear una consulta SELECT: En la ventana Comandos En un programa de Visual FoxPro (como cualquier otro comando de Visual FoxPro) En el Diseador de consultas Cuando ejecuta SET TALK ON y ejecuta SELECT, Visual FoxPro muestra la duracin de la consulta y el nmero de registros del resultado. _TALLY contiene el nmero de registros del resultado de la consulta. SELECT no respeta la condicin de filtro actual especificada con SET FILTER. Nota Una subconsulta, a la que se hace referencia en los argumentos siguientes, es un comando SELECT dentro de otro SELECT y debe incluirse entre parntesis. Puede tener hasta dos subconsultas

al mismo nivel (no anidadas) en la clusula WHERE (consulte esta seccin de los argumentos). Las subconsultas pueden contener condiciones de combinacin mltiples. Cuando se obtiene el resultado de una consulta, las columnas se denominan segn las siguientes reglas: Si un elemento seleccionado es un campo con un nombre nico, el nombre de la columna de resultados es el nombre del campo. Si hay ms de un elemento seleccionado con el mismo nombre, se anexarn un signo de subrayado y una letra al nombre de la columna. Por ejemplo, si una tabla llamada Customer tiene un campo llamado STREET, y una tabla llamada Employees tambin tiene un campo llamado STREET, las columnas de resultado se llamarn Extension_A y Extension_B (STREET_A y STREET_B). En el caso de un elemento seleccionado con un nombre de 10 caracteres, se truncar el nombre para agregar el smbolo de subrayado y la letra. Por ejemplo, DEPARTMENT se convertira en DEPARTME_A. Si un elemento seleccionado es una expresin, su columna de resultado se llamar EXP_A. Cualquier otra expresin recibir el nombre de EXP_B, EXP_C, y as sucesivamente. Si un elemento seleccionado contiene una funcin de campo como, por ejemplo, COUNT( ), la columna de resultado se llamar CNT_A. Si otro elemento seleccionado contiene SUM( ), su columna de resultado se llamar SUM_B. Funciones definidas por el usuario con SELECT Aunque la utilizacin de funciones definidas por el usuario en la clusula SELECT ofrece unas ventajas evidentes, tambin debera tener en cuenta las siguientes limitaciones: Es posible que la velocidad de las operaciones con SELECT se vea limitada por la velocidad a la que se ejecutan las funciones definidas por el usuario. Las manipulaciones de un gran volumen que impliquen funciones definidas por el usuario se pueden realizar mejor utilizando funciones API y funciones definidas por el usuario escritas en C o en lenguaje ensamblador. No se puede suponer nada acerca de la entrada/salida (E/S) de Visual FoxPro ni del entorno de la tabla en funciones definidas por el usuario invocadas a partir de SELECT. Generalmente no se puede saber qu rea de trabajo se ha seleccionado, el nombre de la tabla actual, ni los nombres de los campos que se estn procesando. El valor de estas variables depende del lugar especfico, en el proceso de optimizacin, en el que se invoque la funcin definida por el usuario. En funciones definidas por el usuario invocadas desde SELECT, no es seguro cambiar la E/S de Visual FoxPro ni el entorno de la tabla. En general, los resultados son impredecibles. La nica forma segura de pasar valores a funciones definidas por el usuario invocadas desde SELECT es por medio de la lista de argumentos pasada a la funcin al invocarla. Si prueba y descubre una manipulacin tericamente prohibida que funciona correctamente en una versin determinada de FoxPro, eso no significa que tambin funcione en versiones posteriores. Fuera de estas limitaciones, las funciones definidas por el usuario son aceptables en la clusula SELECT. Sin embargo, recuerde que la utilizacin de SELECT puede reducir el rendimiento. Las siguientes funciones de campo estn disponibles para ser utilizadas con un elemento seleccionado que sea un campo o una expresin que incluya a un campo: AVG(Select_Item), que promedia una columna de datos numricos. COUNT(Select_Item), que cuenta el nmero de elementos seleccionados en una columna. COUNT(*) cuenta el nmero de filas en el resultado de la consulta. MIN(Select_Item), que determina el menor valor de Select_Item en una columna. MAX(Select_Item), que determina el mayor valor de Select_Item en una columna. SUM(Select_Item), que proporciona el total de la suma de una columna de datos numricos. No se pueden anidar las funciones de campo. Combinaciones Visual FoxPro admite sintaxis de combinacin de 1992 SQL ANSI, lo que le permite crear consultas que vinculen las filas en dos o ms tablas mediante la comparacin de los valores de campos especificados. Por ejemplo, una combinacin interna selecciona filas procedentes de dos tablas slo cuando los valores de los campos combinados son iguales. Visual FoxPro admite combinaciones anidadas. Como SQL est basado en la teora matemtica de conjuntos, cada tabla se puede representar como un crculo. La clusula ON que especifica las condiciones de la combinacin determina el punto de interseccin, que representa el conjunto de filas que coinciden. En el caso de una combinacin interna, la interseccin tendr lugar en el interior o en una parte interna de los dos crculos. Una combinacin externa incluye tanto las filas coincidentes que se han encontrado en la seccin de interseccin interna

de las tablas, como las filas de la parte externa del crculo, a la izquierda o a la derecha de la interseccin. Nota Tenga presente la siguiente informacin a la hora de crear condiciones de combinacin: Si incluye dos tablas en una consulta y no especifica una condicin de combinacin, cada registro de la primera tabla se combinar con cada registro de la segunda tabla mientras se cumplan las condiciones del filtro. Una consulta de este tipo puede producir unos resultados muy largos. Sea prudente al utilizar, en condiciones de combinacin, funciones como DELETED( ), EOF( ), FOUND( ), RECCOUNT( ) y RECNO( ), que aceptan un rea de trabajo o un alias opcional. La inclusin de un alias o de un rea de trabajo en estas funciones puede producir resultados inesperados. SELECT no utiliza sus reas de trabajo; realiza lo mismo que USE ... AGAIN. Las consultas de una sola tabla que utilizan estas funciones sin un rea de trabajo o un alias opcional, devolvern resultados correctos. De todas formas, las consultas de varias tablas que utilicen dichas funciones (incluso sin un rea de trabajo o un alias opcional) pueden devolver resultados inesperados. Tenga cuidado al combinar tablas que contengan campos vacos, ya que Visual FoxPro establece coincidencias entre los campos vacos. Por ejemplo, si combina CUSTOMER.ZIP e INVOICE.ZIP, y CUSTOMER contiene 100 cdigos postales vacos e INVOICE contiene 400 cdigos postales vacos, el resultado de la consulta contendr 40.000 registros ms, como resultado de los campos vacos. Use la funcin EMPTY( ) para eliminar los registros vacos del resultado de la consulta. El nmero de combinaciones que puede utilizar est limitado. Por cada instruccin Select se admiten nueve combinaciones como mximo. Si se incluye la funcin EVALUATE( ) en la clusula WHERE de una consulta SQL, podran devolverse datos incorrectos. Para obtener informacin adicional acerca de las combinaciones, vea Definir mltiples condiciones de combinacin en Crear vistas. Ejemplos Los siguientes ejemplos ilustran la utilizacin de las funciones definidas por el usuario con SELECT SQL: Ejemplo 1 En el ejemplo 1 se muestran los nombres de todas las compaas en customer (un campo de una tabla). Copiar
CLOSE ALL CLOSE DATABASES OPEN DATABASE (HOME(2) + 'data\testdata') SELECT customer.company ; FROM customer

Ejemplo 2 El ejemplo 2 muestra el contenido de tres campos de dos tablas y combina las dos tablas basndose en el campo cust_id. Utiliza alias locales para ambas tablas. Copiar
CLOSE ALL CLOSE DATABASES OPEN DATABASE (HOME(2) + 'data\testdata') SELECT x.company, y.order_date, y.shipped_on ; FROM customer x, orders y ; WHERE x.cust_id = y.cust_id

Ejemplo 3 El ejemplo 3 muestra nicamente registros con datos nicos en los campos especificados. Copiar
CLOSE ALL CLOSE DATABASES OPEN DATABASE (HOME(2) + 'data\testdata') SELECT DISTINCT x.company, y.order_date, y.shipped_on ; FROM customer x, orders y ; WHERE x.cust_id = y.cust_id

Ejemplo 4 El ejemplo 4 muestra los campos country, postalcode y company en orden ascendente. Copiar

CLOSE ALL CLOSE DATABASES OPEN DATABASE (HOME(2) + 'data\testdata') SELECT country, postalcode, company ; FROM customer ; ORDER BY country, postalcode, company

Ejemplo 5 El ejemplo 5 almacena el contenido de los campos de dos tablas en una tercera tabla. Copiar
CLOSE ALL CLOSE DATABASES OPEN DATABASE (HOME(2) + 'data\testdata') SELECT x.company, y.order_date, y.shipped_on ; FROM customer x, orders y ; WHERE x.cust_id = y.cust_id ; INTO TABLE custship.dbf BROWSE

Ejemplo 6 El ejemplo 6 muestra nicamente los registros con una fecha de pedido anterior al 16/02/1994. Copiar
CLOSE ALL CLOSE DATABASES OPEN DATABASE (HOME(2) + 'data\testdata') SELECT x.company, y.order_date, y.shipped_on ; FROM customer x, orders y ; WHERE x.cust_id = y.cust_id ; AND y.order_date < {^1994-02-16}

Ejemplo 7 El ejemplo 7 muestra los nombres de todas las compaas de customer con un cdigo postal que coincida con el cdigo postal de la tabla orders. Copiar
CLOSE ALL CLOSE DATABASES OPEN DATABASE (HOME(2) + 'data\testdata') SELECT company FROM customer x WHERE ; EXISTS (SELECT * FROM orders y WHERE x.postalcode = y.postalcode)

Ejemplo 8 El ejemplo 8 muestra todos los registros de customer que tengan un nombre de compaa que comience por una C mayscula y tenga cualquier longitud. Copiar
CLOSE ALL CLOSE DATABASES OPEN DATABASE (HOME(2) + 'data\testdata') SELECT * FROM customer x WHERE x.company LIKE "C%"

Ejemplo 9 El ejemplo 9 muestra todos los registros de customer que tengan un nombre de pas que comience por U mayscula seguido de un carcter desconocido. Copiar
CLOSE ALL CLOSE DATABASES OPEN DATABASE (HOME(2) + 'data\testdata') SELECT * FROM customer x WHERE x.country LIKE "U_"

Ejemplo 10 El ejemplo 10 muestra los nombres de todas las ciudades de customer en maysculas y llama CityList a la columna de resultados. Copiar
CLOSE ALL CLOSE DATABASES OPEN DATABASE (HOME(2) + 'data\testdata') SELECT UPPER(city) AS CityList FROM customer

Ejemplo 11

El ejemplo 11 muestra cmo se puede realizar una consulta de datos que contengan signos de porcentaje (%). Se colocar una barra inversa (\) antes del signo de porcentaje para indicar que debe ser tratado como un literal, y la barra inversa se especifica como el carcter de escape en la clusula ESCAPE. Dado que las tablas de ejemplo incluidas con Visual FoxPro no contienen el carcter de signo de porcentaje, esta consulta no devolver ningn resultado. Copiar
CLOSE ALL CLOSE DATABASES OPEN DATABASE (HOME(2) + 'data\testdata') SELECT * FROM customer; WHERE company LIKE "%\%%" ESCAPE "\"

Ejemplo 12 En el ejemplo 12 se muestra cmo se puede realizar una consulta de datos que contenga signos de subrayado (_). Se coloca una barra inversa (\) antes del signo de subrayado para indicar que debe ser tratado como un literal, y se especifica la barra inversa como el carcter de escape en la clusula ESCAPE. Dado que las tablas de ejemplo incluidas con Visual FoxPro no contienen el carcter de subrayado, esta consulta no devolver ningn resultado. Copiar
CLOSE ALL CLOSE DATABASES OPEN DATABASE (HOME(2) + 'data\testdata') SELECT * FROM customer; WHERE company LIKE "%\_%" ESCAPE "\"

Ejemplo 13 En el ejemplo 13, el carcter Escape se utiliza como un literal. El guin es tanto el carcter escape como un literal. La consulta devuelve todas las filas en las que el nombre de la organizacin contiene un signo de porcentaje seguido de un guin. Dado que las tablas de ejemplo incluidas con Visual FoxPro no contienen el carcter de signo de porcentaje, esta consulta no devolver ningn resultado. Copiar
CLOSE ALL CLOSE DATABASES OPEN DATABASE (HOME(2) + 'data\testdata') SELECT * FROM customer; WHERE company LIKE "%-%--%" Escape "-"

RECALL (Comando)
Visual Studio .NET 2003 Personas que lo han encontrado til: 1 de 2 - Valorar este tema Quita la marca de los registros marcados para eliminacin en la tabla seleccionada. Copiar
RECALL [Scope] [FOR lExpression1] [WHILE lExpression2] [NOOPTIMIZE] [IN nWorkArea | cTableAlias]

Parmetros Scope Especifica un intervalo de registros para recuperar. Solamente se recuperan los registros incluidos en el intervalo especificado. Las clusulas de alcance son: ALL, NEXT nRecords, RECORD nRecordNumber y REST. Para obtener ms informacin acerca de las clusulas de alcance, vea los temas en pantalla Clusulas de alcance e Introduccin al lenguaje. El alcance predeterminado de RECALL es el registro actual (NEXT 1). FOR lExpression1

Especifica que slo se recuperarn los registros para los que el valor de lExpression1 sea verdadero (.T.). Esta opcin permite filtrar los registros no deseados. Si lExpression1 es una expresin optimizable, Rushmore optimizar RECALL FOR. Para obtener el mximo rendimiento, utilice una expresin optimizable en la clusula FOR. Para obtener ms informacin, vea SET OPTIMIZE y Utilizar Rushmore para agilizar el acceso a datos. WHILE lExpression2 Especifica una condicin por la cual se recuperan los registros siempre y cuando la expresin lExpression2 d como resultado verdadero (.T.). NOOPTIMIZE Impide la optimizacin Rushmore de RECALL. Para obtener ms informacin, vea SET OPTIMIZE y Utilizar Rushmore para agilizar el acceso a datos. IN nWorkArea | cTableAlias Especifica el rea de trabajo o el alias de tabla afectado por el comando RECALL. Utilice esta clusula para especificar un rea de trabajo o una tabla fuera del rea de trabajo actual. Observaciones RECALL puede utilizarse para recuperar registros, siempre y cuando no se haya ejecutado PACK o ZAP. Precaucin Una vez empaquetado el archivo, todos los registros marcados para eliminacin se pierden para siempre. Puede marcar registros para eliminarlos con los comandos DELETE o DELETE SQL, o si elige Eliminar registros en el men Tabla cuando haya una ventana Examinar o de edicin activa. Puede recuperar registros si ejecuta RECALL o elige Desmarcar registros en el men Registro cuando hay una ventana Examinar o Editar activa. Si omite la clusula IN, el comando RECALL actuar en el rea de trabajo actual. Ejemplo El ejemplo siguiente abre la tabla customer de la base de datos testdata. DELETE SQL se utiliza para marcar todos los registros donde el campo country contenga USA para su eliminacin. Se muestran todos los registros marcados para ser eliminados. Se usa RECALL ALL para quitar las marcas de todos los registros marcados para eliminar. Copiar
CLOSE DATABASES OPEN DATABASE (HOME(2) + 'data\testdata') USE customer && Opens Customer table DELETE FROM customer WHERE country = 'USA' && Mark for deletion CLEAR LIST FIELDS company, country FOR DELETED( ) && List marked records RECALL ALL && Unmark all records marked for deletion

QUIT (Comando)
Visual Studio .NET 2003 Personas que lo han encontrado til: 1 de 1 - Valorar este tema Termina la sesin actual de Visual FoxPro y devuelve el control al sistema operativo. Copiar
QUIT

Observaciones

Para finalizar una sesin de Visual FoxPro, debe utilizar siempre el comando QUIT. Si apaga el equipo sin ejecutar QUIT, se pueden daar los archivos abiertos y perder datos. Adems, puede dejar en el disco archivos temporales de trabajo que normalmente se eliminaran.

PACK (Comando)
Visual Studio .NET 2003 Personas que lo han encontrado til: 4 de 7 - Valorar este tema Borra definitivamente todos los registros marcados para eliminar de la tabla actual y reduce el tamao de un archivo memo asociado a la tabla. Copiar
PACK [MEMO] [DBF] [Tablename ] [IN nWorkarea | cTableAlias]

Parmetros MEMO Elimina el espacio no utilizado del archivo memo, pero no elimina los registros marcados para eliminar de la tabla. La informacin de los campos memo se almacena en un archivo memo asociado. Un archivo memo tiene el mismo nombre que la tabla y la extensin .fpt. DBF Elimina de la tabla los registros marcados para eliminacin, pero no afecta al archivo memo. Tablename Especifica la tabla que se va a empaquetar. Visual FoxPro abre la tabla especificada, la empaqueta y la cierra. IN nreaTrabajo | cAliasTabla Especifica el rea de trabajo o el alias de tabla afectados por el comando PACK. Utilice esta clusula para especificar un rea de trabajo o una tabla fuera del rea de trabajo actual. Observaciones Cuando se ejecuta PACK, Microsoft Visual FoxPro copia todos los registros que no estn marcados para borrar a una tabla temporal. Cuando se termine de ejecutar PACK, Visual FoxPro eliminar la tabla original del disco y cambiar el nombre de la tabla temporal por el nombre de la tabla original. Al presionar ESC se detiene PACK, la tabla temporal se borra y la tabla original permanece inalterada. La tabla original se recuperar tambin si se agota el espacio del disco durante la ejecucin de PACK. Cuando se ejecuta PACK sin las clusulas MEMO y DBF, se empaquetan tanto la tabla como el archivo memo. PACK necesita utilizar la tabla de forma exclusiva. Para obtener ms informacin acerca de cmo abrir una tabla en red de forma exclusiva, vea SET EXCLUSIVE. Si la tabla activa tiene uno o varios ndices abiertos, PACK regenera los archivos de ndice. Precaucin Tenga cuidado de marcar solamente los registros que ya no va a necesitar. No hay ninguna forma de recuperar los registros eliminados despus de utilizar PACK. Si se omite la clusula IN, PACK actuar en el rea de trabajo actual.

DELETE (Comando)
Visual Studio .NET 2003 Personas que lo han encontrado til: 3 de 7 - Valorar este tema Marca los registros que se van a eliminar. Copiar
DELETE [Scope] [FOR lExpression1] [WHILE lExpression2] [IN nWorkArea | cTableAlias] [NOOPTIMIZE]

Parmetros Scope

Especifica un intervalo de registros que desea marcar para su eliminacin. Las clusulas de alcance son: ALL, NEXT nRecords, RECORD nRecordNumber y REST. Para obtener ms informacin acerca de las clusulas de alcance, vea el tema Clusulas de alcance. Para obtener ms informacin acerca de las clusulas de alcance, vea el tema Introduccin al lenguaje. El alcance predeterminado para el comando DELETE es el registro actual (NEXT 1). FOR lExpression1 Especifica una condicin por la cual solamente se marcan para su eliminacin los registros que satisfacen la condicin lgica lExpression1. Rushmore optimizar una consulta creada con DELETE ... FOR si lExpression1 es una expresin optimizable y la tabla est indizada por DELETED( ). Para obtener el mximo rendimiento, utilice una expresin optimizable en la clusula FOR. Si desea obtener ms informacin acerca de las expresiones optimizables con Rushmore, vea SET OPTIMIZE y Usar Rushmore para agilizar el acceso a los datos en Optimizar aplicaciones. WHILE lExpression2 Especifica una condicin por la cual los registros se marcan para su eliminacin siempre y cuando lExpression2 d como resultado verdadero (.T.). IN nWorkArea Especifica el rea de trabajo de la tabla en la cual se marcan los registros para su eliminacin. IN cTableAlias Especifica el alias de la tabla en la cual se marcan los registros para su eliminacin. Si omite nWorkArea y cTableAlias, los registros se marcarn para su eliminacin en la tabla del rea de trabajo seleccionada actualmente. NOOPTIMIZE Desactiva la optimizacin Rushmore de DELETE. Observaciones Los registros marcados para su eliminacin no se eliminarn fsicamente de la tabla hasta que se ejecute PACK. Los registros marcados para su eliminacin pueden recuperarse (o quitar las marcas) con RECALL. Ejemplo El ejemplo siguiente abre la tabla customer de la base de datos testdata. Se utiliza DELETE para marcar para eliminacin todos los registros en los que el campo country contenga USA. Se muestran todos los registros marcados para ser eliminados. Se utiliza RECALL ALL para quitar las marcas de todos los registros marcados para eliminar. Copiar
CLOSE DATABASES OPEN DATABASE (HOME(2) + 'Data\testdata') USE customer && Opens Customer table DELETE FOR country = 'USA' CLEAR && Mark for deletion

LIST FIELDS company, country FOR DELETED( ) && List marked records RECALL ALL && Unmark all records marked for deletion

CREATE (Comando)
Visual Studio .NET 2003 Personas que lo han encontrado til: 1 de 4 - Valorar este tema Crea una nueva tabla de Visual FoxPro. Copiar
CREATE [FileName | ?]

Parmetros FileName Especifica el nombre de la tabla que desea crear. ? Presenta el cuadro de dilogo Crear, que le pide el nombre para la tabla que se va a crear. Observaciones En Visual FoxPro, si hay una base de datos abierta cuando usted crea una tabla, dicha tabla se agregar automticamente a la base de datos. En el sistema operativo de Windows, no puede crear una tabla con el nombre de un dispositivo de MSDOS, como CON, NUL, PRN y COM1. Debe evitar la utilizacin de guiones en el nombre de una tabla porque los nombres de tabla con guiones no aparecen en la ventana Sesin de datos y pueden crear confusin con el puntero de alias (->). Una tabla se crea al definir el nombre, tipo y tamao de cada campo. Una vez creada la estructura de la tabla, puede agregar registros a la tabla. Para obtener informacin acerca de las tablas, vea Crear tablas.

COUNT (Comando)
Visual Studio .NET 2003 Personas que lo han encontrado til: 4 de 7 - Valorar este tema Cuenta los registros de una tabla. Copiar
COUNT [Scope] [FOR lExpression1] [WHILE lExpression2] [NOOPTIMIZE] [TO VarName]

Parmetros Scope Especifica el intervalo de registros que se va a incluir en la cuenta. Las clusulas de alcance son: ALL, NEXT nRecords, RECORD nRecordNumber y REST. Para obtener ms informacin acerca de las clusulas de alcance, vea el tema Clusulas de alcance. Los comandos que incluyen Scope slo actan sobre la tabla del rea de trabajo activa. El alcance predeterminado de COUNT es ALL (todos los registros). FOR lExpression1 Especifica que solamente se cuentan los registros que satisfacen la condicin lgica lExpression1. Incluir FOR le permite contar registros condicionalmente y desechar los registros no deseados. Rushmore optimizar una consulta COUNT FOR si lExpression1 es una expresin optimizable. Para obtener el mximo rendimiento, utilice una expresin optimizable en la clusula FOR.

Si desea obtener ms informacin acerca de las expresiones optimizables, vea SET OPTIMIZE y Usar Rushmore para agilizar el acceso a los datos. WHILE lExpression2 Especifica una condicin por la cual los registros se cuentan siempre y cuando la expresin lgica lExpression2 d como resultado verdadero (.T.). TO VarName Especifica la variable o la matriz en que se almacena la cuenta de registros. Si la variable especificada no existe, Visual FoxPro la crear. NOOPTIMIZE Desactiva la optimizacin Rushmore de COUNT. Si desea obtener ms informacin, vea SET OPTIMIZE y Usar Rushmore para agilizar el acceso a los datos. Observaciones COUNT cuenta los registros que estn en el alcance de registros para los que se cumplen las condiciones FOR o WHILE. Si SET TALK est establecido en ON, se mostrar la cuenta de registros. Si SET DELETE est establecido en OFF, los registros marcados para su eliminacin se incluirn en la cuenta. Para ver una explicacin de cmo los valores nulos influyen en COUNT, vea Introduccin al lenguaje. Ejemplo El ejemplo siguiente cuenta y muestra el nmero de clientes de Pars. Copiar
CLOSE DATABASES OPEN DATABASE (HOME(2) + 'Data\testdata') USE customer && Opens Customer table CLEAR COUNT FOR UPPER(city) = 'PARIS' DISPLAY FIELDS company, contact FOR UPPER(city) = 'PARIS'

COPY TO (Comando)
Visual Studio .NET 2003 Personas que lo han encontrado til: 1 de 1 - Valorar este tema Crea un nuevo archivo a partir del contenido de la tabla seleccionada actualmente. Copiar
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]

Parmetros FileName Especifica el nombre del nuevo archivo que crea COPY TO. Si no incluye una extensin de nombre de archivo, se asignar la extensin 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 extensin 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 mximo 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 copiarn al nuevo archivo. Si omite FIELDS FieldList, todos los campos se copiarn al archivo. Si el archivo que est creando no es una tabla, los campos memo no se copiarn 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 aqullos que concuerden con la estructura de campos Skeleton se incluirn en el nuevo archivo creado por COPY TO. La estructura de campos Skeleton admite caracteres comodn. Por ejemplo, para especificar que todos los campos que empiecen por las letras A y P se incluirn en el nuevo archivo, use lo siguiente: Copiar
COPY TO mytable FIELDS LIKE A*,P*

Puede combinar la clusula LIKE con la clusula EXCEPT: Copiar


COPY TO mytable FIELDS LIKE A*,P* EXCEPT PARTNO*

Scope Especifica un intervalo de registros que desea copiar a un archivo. Slo se copiarn los registros comprendidos en ese intervalo. Las clusulas de alcance son: ALL, NEXT nRecords, RECORD nRecordNumber y REST. Para obtener ms informacin acerca de las clusulas de alcance, vea el tema Clusulas de alcance. FOR lExpression1 Especifica que slo se copiarn al archivo aquellos registros para los cuales la condicin lgica lExpression1 d como resultado verdadero (.T.). Incluya FOR lExpression1 para copiar condicionalmente registros y excluir los registros no deseados. Rushmore optimiza COPY TO con una clusula FOR lExpression1 si lExpression1 es una expresin optimizable. Para conseguir el mximo rendimiento, utilice una expresin optimizable en la clusula FOR lExpression1.

Si desea obtener ms informacin acerca de las expresiones optimizables con Rushmore, vea SET OPTIMIZE y Usar Rushmore para agilizar el acceso a los datos. WHILE lExpression2 Especifica una condicin por la cual se copiarn los registros siempre y cuando la expresin lgica lExpression2 d como resultado verdadero (.T.). [WITH] CDX | [WITH] PRODUCTION Crea un archivo de ndice estructural para la nueva tabla idntico 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 clusulas CDX y PRODUCTION son idnticas. No incluya CDX o PRODUCTION si va a copiar a un archivo que no es una nueva tabla de Visual FoxPro. NOOPTIMIZE Desactiva la optimizacin Rushmore de COPY TO. Si desea obtener ms informacin, 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+. Si la tabla de origen de Visual FoxPro contiene un campo memo, incluya la clusula 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 ms informacin 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 Double Integer DIF

Date Float Numeric 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 extensin en FileName se asignar una extensin .dif al nuevo nombre de archivo.

MOD Crea un archivo de Microsoft Multiplan versin 4.01. Si no incluye una extensin, se asignar la extensin .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 lnea. Los campos no estn delimitados. Si no incluye una extensin, se asignar la extensin .txt al nombre de archivo SDF. Observe que la configuracin 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 reconversin efectiva en tablas de Visual FoxPro. Si la informacin de fecha est almacenada con formatos ambiguos, deber asegurarse de que las fechas tengan el formato AAAAMMDD antes de ejecutar la operacin COPY TO. SYLK Crea un archivo de intercambio SYLK (Vnculo simblico). Los archivos SYLK se utilizan con Microsoft MultiPlan. Cada campo de la tabla seleccionada actualmente se convierte en una columna de la hoja de clculo y cada registro se convierte en una fila. Los nombres de archivo SYLK no tienen ninguna extensin. WK1 Crea un archivo de hoja de clculo de Lotus 1-23 versin 2.x. Cada campo de la tabla seleccionada actualmente se convierte en una columna de la hoja de clculo y cada registro se convierte en una fila. Se asigna a la nueva hoja de clculo la extensin .wk1. WKS Crea un archivo de hoja de clculo de Lotus 1-2-3 versin 1a. Cada campo de la tabla seleccionada actualmente se convierte en una columna de la hoja de clculo y cada registro se convierte en una fila. Se asigna a la nueva hoja de clculo la extensin .wks.

WR1 Crea un archivo de hoja de clculo de Lotus Symphony versin 1.1 1.2. Cada campo de la tabla seleccionada actualmente se convierte en una columna de la hoja de clculo y cada registro se convierte en una fila. Se asigna a la nueva hoja de clculo la extensin .wr1. WRK Crea un archivo de hoja de clculo de Lotus Symphony versin 1.0. Cada campo de la tabla seleccionada actualmente se convierte en una columna de la hoja de clculo y cada registro se convierte en una fila. Se asigna a la nueva hoja de clculo la extensin .wr1. CSV Crea un archivo de valores separados por comas. Un archivo CSV tiene los nombres de campo como primera lnea 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 clculo de Microsoft Excel versin 2.0. Cada campo de la tabla seleccionada actualmente se convierte en una columna de la hoja de clculo y cada registro se convierte en una fila. Si no incluye ninguna extensin de archivo, se asignar a la nueva hoja de clculo la extensin .xls. XL5 Crea un archivo de hoja de clculo de Microsoft Excel versin 5.0. Cada campo de la tabla seleccionada actualmente se convierte en una columna de la hoja de clculo y cada registro se convierte en una fila. Si no incluye ninguna extensin de archivo, se asignar a la nueva hoja de clculo la extensin .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 lnea. El separador predeterminado de campo es una coma. Puesto que los datos de tipo Character pueden incluir comas, los campos de caracteres se delimitan adems mediante dobles comillas. A menos que especifique lo contrario, se asignar una extensin .txt a todos los archivos DELIMITED recin creados. DELIMITED WITH Delimiter Crea un archivo delimitado con los campos de caracteres delimitados por un carcter que no es una comilla. El carcter 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 carcter utilizado en Visual FoxPro para indicar continuacin de lnea de comandos), escriba el punto y coma entre comillas. Tambin puede especificar las palabras clave BLANK y TAB para Delimiter. Observe que la clusula de WITH Delimiter se puede combinar con la clusula 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 estn delimitados entre s con signos de punto y coma: Copiar
COPY TO mytxt.txt DELIMITED WITH _ WITH CHARACTER ';'

AS nCodePage Especifica la pgina de cdigos 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 automticamente a la pgina de cdigos especificada para la nueva tabla o el nuevo archivo. Si es posible, Visual FoxPro marcar la tabla o el archivo recin creados con la pgina de cdigos 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 dilogo Pgina de cdigos, de forma que pueda especificar una pgina de cdigos para la tabla o el archivo que crea Visual FoxPro. Si se omite AS nCodePage, la tabla o el archivo recin creados se convertirn en la pgina de cdigos actual de Visual FoxPro. Si nCodePage es 0, no se producir ninguna conversin de pgina de cdigos y la tabla o el archivo recin creados no se marcarn con ninguna pgina de cdigos. Observaciones Si se ha establecido un orden de ndice, los registros se copiarn segn 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. Copiar
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.txt

COPY STRUCTURE (Comando)


Visual Studio .NET 2003 Este tema an no ha recibido ninguna valoracin - Valorar este tema Crea una nueva tabla vaca con la misma estructura que la tabla seleccionada actualmente. Copiar
COPY STRUCTURE TO TableName [FIELDS FieldList] [[WITH] CDX | [WITH] PRODUCTION] [DATABASE cDatabaseName [NAME cTableName]]

Parmetros TableName Especifica el nombre de la nueva tabla vaca que se desea crear. En Visual FoxPro, los procedimientos almacenados y las expresiones desencadenadoras de la tabla nueva son idnticos a los de la tabla seleccionada actualmente. FIELDS FieldList Especifica que solamente se copien a la tabla nueva los campos cuyos nombres se especifican en FieldList. Si omite FIELDS FieldList, se copiarn todos los campos a la nueva tabla. [WITH] CDX | [WITH] PRODUCTION Crea un archivo de ndice estructural para la nueva tabla idntico 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 clusulas CDX y PRODUCTION son idnticas. En Visual FoxPro, se convierte un ndice principal para la tabla actualmente seleccionada en un ndice candidato para la nueva tabla vaca. DATABASE cDatabaseName Especifica el nombre de una base de datos existente a la que se agrega la nueva base de datos. Observe que las propiedades de tabla y campo no se copian a la base de datos. NAME cTableName Especifica el nombre de la tabla como aparece en la base de datos. Ejemplo En el ejemplo siguiente, se abre la tabla customer, se copia su estructura a una tabla denominada backup y se abre la tabla backup. Despus, APPEND FROM anexa registros de la tabla customer a la tabla backup y se abre la ventana Examinar para la tabla backup. Copiar
CLOSE DATABASES OPEN DATABASE (HOME(2) + 'Data\testdata') USE customer && Opens Customer table COPY STRUCTURE TO backup USE backup APPEND FROM customer FOR country = 'UK' BROWSE FIELDS contact, country USE DELETE FILE backup.dbf

CLOSE (Comandos)
Visual Studio .NET 2003 Personas que lo han encontrado til: 1 de 2 - Valorar este tema Cierra varios tipos de archivo. Copiar
CLOSE [ALL | ALTERNATE | DATABASES [ALL] | DEBUGGER | FORMAT | INDEXES | PROCEDURE | TABLES [ALL]]

Parmetros ALL Cierra todas las bases de datos, tablas e ndices abiertos en la sesin de datos actual y en todas las sesiones de datos inactivas y selecciona el rea de trabajo 1. CLOSE ALL tambin cierra los archivos abiertos con las funciones de archivo de bajo nivel FCREATE( ) y FOPEN( ). CLOSE ALL no cierra un archivo abierto con SET PRINT. CLOSE ALL tambin cierra lo siguiente: Diseador de formularios Administrador de proyectos Diseador de etiquetas Diseador de informes Diseador de consultas CLOSE ALL no cierra lo siguiente: La ventana Comandos La ventana Depuracin Ayuda La ventana Seguimiento CLOSE ALTERNATE Cierra un archivo alternativo abierto con SET ALTERNATE. CLOSE DATABASES [ALL] Cierra la base de datos actual de la sesin de datos actual, as como sus tablas. Si no hay ninguna base de datos activa, se cierran todas las tablas libres, los ndices y los archivos de formato abiertos en todas las reas de trabajo y se selecciona el rea de trabajo 1. ALL Especifica que, en la sesin de datos actual y en todas las sesiones de datos inactivas, se cierre lo siguiente: Todas las bases de datos abiertas y sus tablas. Todas las tablas libres abiertas. Todos los ndices y archivos de formato de todas las reas de trabajo. Se selecciona el rea de trabajo 1. CLOSE DEBUGGER Cierra el depurador de Visual FoxPro. CLOSE FORMAT Cierra un archivo de formato del rea de trabajo actual abierto con SET FORMAT. CLOSE INDEXES

Cierra todos los archivos de ndice (tanto .idx de entrada simple como .cdx compuestos independientes) abiertos en el rea de trabajo actual. Un ndice compuesto estructural (un archivo .cdx abierto automticamente con la tabla) no se cierra. CLOSE PROCEDURE Cierra el archivo de procedimientos abierto con SET PROCEDURE. CLOSE TABLES [ALL] Cierra todas las tablas de la base de datos seleccionada actualmente. CLOSE TABLES cierra todas las tablas libres de todas las reas de trabajo en caso de que no haya una base de datos abierta. Incluya ALL para cerrar todas las tablas en todas las bases de datos y todas las tablas independientes. Todas las bases de datos permanecen abiertas. CLOSE TABLES no debe ejecutarse cuando hay una transaccin en progreso, porque Visual FoxPro generar un mensaje de error.

CLEAR (Comandos)
Visual Studio .NET 2003 Personas que lo han encontrado til: 3 de 4 - Valorar este tema Libera de la memoria el elemento o los elementos especificados. Copiar
CLEAR [ALL | CLASS ClassName | CLASSLIB ClassLibraryName | DEBUG | DLLS [cAliasNameList]| EVENTS | FIELDS | GETS | MACROS | MEMORY | MENUS | POPUPS | PROGRAM | PROMPT | READ [ALL] | RESOURCES [FileName] | TYPEAHEAD | WINDOWS]

Parmetros ALL Libera de la memoria todas las variables y matrices, as como las definiciones de todas las barras de mens, mens y ventanas definidas por el usuario. CLOSE ALL tambin cierra las tablas, lo que incluye todos los archivos de ndices, memo y de formato asociados, y selecciona el rea de trabajo 1. CLEAR ALL tambin libera de la memoria todas las funciones de bibliotecas compartidas externas registradas con DECLARE - DLL. CLEAR ALL no libera las variables del sistema y no borra el bfer de programas compilados. Utilice CLEAR PROGRAM para borrar el bfer de programas compilados. Si ejecuta CLEAR ALL sobre un evento o un mtodo para un control o un objeto activo, se genera un mensaje de error de Visual FoxPro. Una variable de tipo Object no se puede liberar de la memoria cuando su control u objeto asociado est activo. CLASS ClassName Borra de la memoria una definicin de clase. Cuando se crea una instancia de una clase, Visual FoxPro conserva en memoria la definicin de clase despus de liberar la instancia. Utilice CLEAR

CLASS para borrar de la memoria una definicin de clase despus de liberar su instancia. CLASSLIB ClassLibraryName Borra de la memoria todas las definiciones de clase contenidas en una biblioteca de clases visuales. Si existen instancias de clases en la biblioteca de clases, las definiciones de clase no se borrarn de la memoria y se generar un mensaje de error. Sin embargo, todas las definiciones de clase que no tengan instancias se borrarn de la memoria. DEBUG Borra todos los puntos de interrupcin en el Depurador y restaura las ventanas del Depurador (Pila de llamadas, Seguimiento, Inspeccin, etc.) a sus posiciones predeterminadas. Si se ejecuta Clear Debug mientras est cerrado el Depurador, se abrir el Depurador con sus ventanas en las posiciones predeterminadas. Funciona tanto en modo de marco de depurador como en modo de marco de fox. DLLS cAliasNameList Borra de la memoria las bibliotecas compartidas externas registradas con DECLARE - DLL. cAliasNameList es una lista, separada por comas, de los alias de funcin que se van a quitar de la memoria, como en el siguiente ejemplo: Copiar
CLEAR DLLS "RegCloseKey","RegOpenKey"

Si no utiliz ningn alias en la declaracin, cAliasNameList es igual al nombre de la funcin. Si se especifica cAliasNameList, todas las DLL se quitan de la memoria. Puede utilizar la funcin ADLLS( ) para determinar qu DLL estn cargadas. Vea DECLARE - DLL (Comando) para obtener ms informacin acerca del registro de bibliotecas compartidas externas. EVENTS Detiene el procesamiento de eventos iniciado con READ EVENTS. Cuando se ejecuta CLEAR EVENTS, la ejecucin del programa contina en la lnea de programa inmediatamente posterior a READ EVENTS. FIELDS Libera una lista creada con SET FIELDS y ejecuta SET FIELDS OFF. CLEAR FIELDS se diferencia de SET FIELDS TO en que libera todas las listas de campos en todas las reas de trabajo, no slo la lista de campos del rea de trabajo actual. Adems, SET FIELDS TO no ejecuta implcitamente SET FIELDS OFF. GETS Libera todos los controles @ ... GET pendientes. La ejecucin de CLEAR tambin libera todos los controles @ ... GET pendientes.

Nota GETS se incluye por compatibilidad con versiones anteriores. MACROS Libera de la memoria todas las macros de teclado, incluidas todas las asignaciones de teclas de SET FUNCTION. Las macros se pueden guardar en un archivo de macro o en un campo memo con SAVE MACROS y restaurarse ms tarde con RESTORE MACROS. Tambin puede restaurar las macros predeterminadas con RESTORE MACROS. MEMORY Libera de la memoria todas las variables y matrices pblicas y privadas. Las variables del sistema no se liberan. MENUS Libera de la memoria todas las definiciones de barras de mens. POPUPS Libera de la memoria todas las definiciones de mens creadas con DEFINE POPUP. PROGRAM Borra el bfer del programa compilado. Visual FoxPro mantiene un bfer de los programas ejecutados ms recientemente. En raras ocasiones puede ocurrir que Visual FoxPro no reconozca los cambios efectuados en los archivos de programa en disco. CLEAR PROGRAM obliga a Visual FoxPro a leer los programas en el disco, en lugar de en el bfer de programas. La razn ms comn por la que Visual FoxPro puede no reconocer los cambios en los archivos de programa es el uso de un editor TSR (programa residente) o externo para modificar un archivo de programa. Salvo esta excepcin, no debera ser necesario el uso de CLEAR PROGRAM. PROMPT Libera los elementos de men creados con @ ... PROMPT. READ [ALL] Se incluye por compatibilidad con versiones anteriores. Utilice CLEAR EVENTS en su lugar. RESOURCES [FileName] Especifica el nombre de un mapa de bits, una imagen, una fuente, un cursor o un archivo de icono en cach que se va a borrar de la memoria. Si no se especifica ningn nombre de archivo, se borrarn de la memora todos los mapas de bits, imgenes, fuentes, cursores y archivos de icono. Cuando Visual FoxPro muestra un mapa de bits, un cursor, una imagen, un icono o un recurso de fuentes, se almacenar el recurso en la cach para mejorar el rendimiento. Si se ha utilizado un recurso con el mismo nombre (por ejemplo, un mapa de bits distinto con el mismo nombre que otro que ya est en la cach), Visual FoxPro no volver a cargar el recurso.

El hecho de borrar un archivo de recursos es, por tanto, especialmente til para quitar una imagen grfica de la memoria y para forzar a Visual FoxPro a volver a cargar una imagen del mismo nombre del disco. Por ejemplo, es posible que un informe muestre imgenes grficas procedentes de una base de datos y que todas se llamen TEMP. Sin embargo, dado que todas se llaman igual, Visual FoxPro no volver a cargar cada nuevo grfico a no ser que se haya borrado de la memoria el ya existente mediante el comando CLEAR RESOURCES. TYPEAHEAD Borra el bfer de escritura de teclado. CLEAR TYPEAHEAD es til cuando se desea impedir la entrada en un campo o la respuesta a una peticin antes de que se muestren el campo o la peticin. WINDOWS Libera de la memoria todas las definiciones de ventanas definidas por el usuario y borra las ventanas de la ventana principal de Visual FoxPro o la ventana activa definida por el usuario. Las definiciones de ventanas se pueden guardar con SAVE WINDOW en un archivo o campo memo para su uso posterior. La ejecucin de CLEAR WINDOWS libera cualquier referencia de variable de sistema a formularios. Por ejemplo, los comandos siguientes crean una referencia de variable de sistema para un formulario y, despus, muestran informacin acerca de dicha variable: Copiar
goMyForm = CREATEOBJECT('FORM') DISPLAY MEMORY LIKE goMyForm && Displays GOMYFORM O FORM

La ejecucin de CLEAR WINDOWS libera la referencia de variable de sistema y la variable contiene ahora el valor nulo: Copiar
CLEAR WINDOWS DISPLAY MEMORY LIKE goMyForm GOMYFORM O .NULL. && Displays

Observaciones CLEAR borra la ventana principal de Visual FoxPro o la ventana activa definida por el usuario y libera de la memoria todos los controles @ ... GET pendientes. Se puede incluir CLEAR en archivos de formato.

CANCEL (Comando)
Visual Studio .NET 2003 Este tema an no ha recibido ninguna valoracin - Valorar este tema Finaliza la ejecucin del archivo de programa actual de Visual FoxPro. Copiar
CANCEL

Observaciones El control vuelve a la ventana Comandos cuando se utiliza Visual FoxPro de forma interactiva. Si se est ejecutando una aplicacin distribuida en tiempo de ejecucin, CANCEL termina la aplicacin y el

control vuelve a Windows. Si se est ejecutando un programa en Visual FoxPro en tiempo de diseo, CANCEL terminar el programa y el control volver a la ventana Comandos. La ejecucin de CANCEL libera todas las variables privadas. Ejemplo En el siguiente ejemplo se simula un bucle de ejecucin de programa. En cada bucle se le preguntar si desea continuar. Si presiona el botn Cancelar, CANCEL detendr la ejecucin del programa. Copiar
DO WHILE .T. IF MESSAGEBOX("Do you want to continue?",36) <> 6 CANCEL ENDIF ENDDO

BROWSE (Comando)
Visual Studio .NET 2003 Personas que lo han encontrado til: 12 de 16 - Valorar este tema Abre la ventana Examinar y muestra los registros de la tabla en uso o seleccionada. Copiar
BROWSE [FIELDS FieldList] [FONT cFontName [, nFontSize]] [STYLE cFontStyle] [FOR lExpression1 [REST]] [FORMAT] [FREEZE FieldName] [KEY eExpression1 [, eExpression2]] [LAST | NOINIT] [LOCK nNumberOfFields] [LPARTITION] [NAME ObjectName] [NOAPPEND] [NOCAPTIONS] [NODELETE] [NOEDIT | NOMODIFY] [NOLGRID] [NORGRID] [NOLINK] [NOMENU] [NOOPTIMIZE] [NOREFRESH] [NORMAL] [NOWAIT] [PARTITION nColumnNumber [LEDIT] [REDIT]] [PREFERENCE PreferenceName] [SAVE] [TIMEOUT nSeconds] [TITLE cTitleText] [VALID [:F] lExpression2 [ERROR cMessageText]] [WHEN lExpression3] [WIDTH nFieldWidth] [WINDOW WindowName1] [IN [WINDOW] WindowName2 | IN SCREEN] [COLOR SCHEME nSchemeNumber]

Parmetros FIELDS FieldList Especifica los campos que aparecern en la ventana Examinar. Los campos se muestran en el orden especificado en FieldList. En la lista de campos puede incluir campos de otras tablas relacionadas. Cuando incluya un campo de una tabla relacionada, incluya delante del nombre de campo su alias de tabla y un punto. Si omite FIELDS, se mostrarn todos los campos de la tabla en el orden en que aparecen en la estructura de la tabla. FONT cFontName [, nFontSize] Especifica la fuente y el tamao de fuente de la ventana Examinar. La expresin de caracteres cFontName es el nombre de la fuente y la expresin numrica nFontSize es el tamao de la fuente. Por ejemplo, la clusula siguiente especifica la fuente Courier de 16 puntos para los campos que se muestran en la ventana Examinar: Copiar
FONT 'Courier',16

Si incluye la clusula FONT pero omite el tamao de fuente nFontSize, se usar una fuente de 10 puntos en la ventana Examinar. Si omite la clusula FONT, se usar MS Sans Serif de 8 puntos. Si la fuente especificada no est disponible, se sustituir por una fuente de caractersticas similares.

STYLE cFontStyle Especifica el estilo de fuente de la ventana Examinar. Si omite la clusula STYLE, se usar el estilo de fuente normal Si el estilo de fuente especificado no est disponible, se usar un estilo con caractersticas similares o bien el estilo de fuente normal. Carcter Estilo de fuente B Negrita I Cursiva N Normal O Contorno Q Opaco S Sombra Tachado T Transparente U Subrayado Puede incluir ms de un carcter para especificar una combinacin de estilos de fuente. El ejemplo siguiente abre una ventana Examinar y utiliza una fuente subrayada: Copiar
CLOSE DATABASES OPEN DATABASE (HOME(2) + 'data\testdata') USE customer && Open customer table IF _WINDOWS BROWSE FIELDS contact FONT 'System', 15 STYLE 'NU' ENDIF IF _MAC BROWSE FIELDS contact FONT 'Geneva', 14 STYLE 'NU' ENDIF

FOR lExpression1 Especifica una condicin por la cual slo se mostrarn en la ventana Examinar aquellos registros para los que lExpression1 sea verdadera. Rushmore optimiza una consulta especificada con BROWSE FOR si lExpression1 es una expresin optimizable. Para obtener el mximo rendimiento, utilice una expresin optimizable en la clusula FOR. Si desea obtener ms informacin acerca de las expresiones optimizables con Rushmore, vea SET OPTIMIZE y Utilizar Rushmore para agilizar el acceso a los datos. Incluya FOR si desea mover el puntero de registro hasta el primer registro que cumpla la condicin. Incluya REST si desea dejar el puntero de registro en su posicin actual. REST Impide que el puntero de registro se desplace desde su posicin actual hasta la parte superior de la tabla cuando se abra una ventana Examinar con la clusula FOR. De lo contrario, BROWSE situar el puntero de registro al principio de la tabla de forma predeterminada.

FORMAT Especifica el uso de un archivo de formato para controlar la presentacin y el formato de entrada de datos en una ventana Examinar. Es necesario abrir primero el archivo de formato con SET FORMAT. La informacin siguiente se extrae del archivo de formato y se aplica a la ventana Examinar: La lista de campos que se van a examinar Todas las clusulas VALID Todas las clusulas WHEN Todas las clusulas RANGE Tamaos de campo (especificados en clusulas PICTURE) Todas las expresiones SAY (que se incluyen como campos BROWSE calculados) El ejemplo siguiente utiliza un archivo de formato para validar los datos escritos en una ventana Examinar. Las posiciones especificadas mediante @ ... GET se pasan por alto. La primera lnea crea un campo BROWSE (cust_id) que tiene 5 caracteres de ancho y que permite slo la entrada de letras y dgitos. La segunda lnea crea un campo BROWSE (company) que no puede quedar en blanco y puede contener un mximo de 20 caracteres alfabticos. La tercera lnea crea un campo BROWSE (contact) en el que slo se pueden escribir datos cuando est en blanco. ste es el contenido del archivo de formato Custentr.fmt, que se usa para validar los datos que se escriben en la tabla customer: Copiar
@ 3,0 GET cust_id PICTURE 'NNNNN' @ 3,0 GET company VALID company != SPACE(40) ; PICTURE 'AAAAAAAAAAAAAAAAAAAA' @ 3,0 GET contact WHEN contact = SPACE(40) * This is the program that uses the format file CLOSE DATABASES OPEN DATABASE (HOME(2) + 'data\testdata') USE customer && Open customer table SET FORMAT TO custentr.fmt BROWSE FORMAT

FREEZE FieldName Permite realizar cambios en un nico campo de la ventana Examinar. Debe especificar este campo mediante FieldName. Los dems campos se muestran pero no se pueden modificar. Copiar
CLOSE DATABASES OPEN DATABASE (HOME(2) + 'data\testdata') USE customer && Open customer table BROWSE FIELDS phone :H = 'Phone Number:' , ; company :H = 'Company:' ; FREEZE phone

KEY eExpression1 [, eExpression2] Limita el alcance de los registros que se presentarn en la ventana Examinar. Con KEY puede especificar un valor de clave de ndice (eExpression1) o un intervalo de valores de clave (eExpression1, eExpression2) para los registros que se mostrarn en la ventana Examinar. La tabla que se va a examinar debe estar indizada y el valor o los valores de clave de ndice incluidos en la clusula KEY deben ser del mismo tipo de datos que la expresin de ndice del archivo de ndice o de la etiqueta principal. Por ejemplo, la tabla customer incluye un campo de caracteres que contiene cdigos postales. Si la tabla se indiza mediante el campo de cdigo postal, en la clusula KEY podr especificar un intervalo de cdigos postales. En el ejemplo siguiente, slo se presentarn en la ventana Examinar aquellos registros cuyos cdigos postales estn dentro del intervalo de 10.000 a 30.000: Copiar
CLOSE DATABASES OPEN DATABASE (HOME(2) + 'data\testdata') USE customer && Open customer table SET ORDER TO postalcode BROWSE KEY '10000', '30000'

LAST | NOINIT Guarda cualquier cambio de configuracin realizado en la apariencia de una ventana Examinar. Los cambios se guardan en el archivo FOXUSER y pueden incluir cambios a la lista de archivos, al tamao de cada campo, y a la ubicacin y el tamao de la ventana Examinar. Si ejecuta BROWSE con la clusula LAST o NOINIT, la ventana Examinar se abrir con la misma configuracin que tena la ltima vez que se guard en el archivo FOXUSER si SET RESOURCE est establecido en ON. Esto restaurar la configuracin anterior de la ventana Examinar creada con el ltimo comando BROWSE. Si el ltimo comando BROWSE ejecutado en la ventana Comandos inclua una lista larga de clusulas, ejecute BROWSE con la opcin LAST o NOINIT para no tener que volver a escribir el comando. Para obtener ms informacin acerca del archivo FOXUSER, vea SET RESOURCE. Si la ltima ventana Examinar se abri con un comando BROWSE que inclua una clusula PREFERENCE, BROWSE LAST no restaurar la preferencia. Los cambios que se hagan en la configuracin de la ventana Examinar durante la sesin actual no se guardarn si sale de BROWSE presionando CTRL+Q.

Las clusulas LAST y NOINIT son idnticas; NOINIT ofrece compatibilidad con dBASE. LOCK nNumberOfFields Especifica el nmero de campos que puede ver en la particin izquierda de la ventana Examinar sin necesidad de desplazarse o de usar tabulaciones. El tamao de la particin izquierda se ajusta automticamente para mostrar el nmero de campos especificado mediante nNumberOfFields. LPARTITION Especifica que el cursor est situado en el primer campo de la particin izquierda de la ventana Examinar. De forma predeterminada, el cursor se sita en el primer campo de la particin derecha al abrirse la ventana. NAME ObjectName Crea una referencia de objeto para la ventana Examinar, lo que permite manipular dicha ventana mediante las propiedades orientadas a objetos disponibles para el control Grid. Si desea obtener informacin adicional acerca de la programacin orientada a objetos en Visual FoxPro, vea Programacin orientada a objetos. Para obtener informacin adicional acerca de las propiedades del control Grid que puede especificar para una ventana Examinar creada mediante la clusula NAME, vea el tema Grid (Control). NOAPPEND Impide que el usuario agregue registros a la tabla al presionar CTRL+Y o al elegir la opcin Anexar registro del men Tabla. Nota La inclusin de NOAPPEND no impide que se anexen registros desde una rutina (creada con VALID, WHEN u ON KEY LABEL) mientras se est en la ventana Examinar. NOCAPTIONS Especifica que se utilice siempre el nombre de campo de la tabla o vista para los encabezados de columna, aunque la base de datos contenga un ttulo descriptivo para el campo de la tabla. Esta clusula slo se aplica a las tablas o vistas de una base de datos. NODELETE Impide marcar registros para su eliminacin desde una ventana Examinar. De forma predeterminada, un registro se puede marcar para su eliminacin al presionar CTRL+T, al elegir la opcin Alternar eliminacin del men Tabla o al hacer clic en la columna situada ms a la izquierda del registro que se va a eliminar. NOEDIT | NOMODIFY Impide a un usuario modificar la tabla. NOEDIT y NOMODIFY son idnticas. Si incluye cualquiera de las dos clusulas, podr examinar o buscar en la tabla, pero no modificarla. Sin embargo, s es posible anexar y eliminar registros.

NOLGRID Quita las lneas de cuadrcula del campo en la particin izquierda de la ventana Examinar. NORGRID Quita las lneas de cuadrcula del campo en la particin derecha de la ventana Examinar. NOLINK Desvincula las particiones de una ventana Examinar. De forma predeterminada, las particiones izquierda y derecha de la ventana Examinar estn vinculadas para que cuando usted se desplace por una particin tambin se desplace la otra. NOMENU Quita de la barra de mens del sistema el ttulo del men Tabla, lo que impide el acceso al men Examinar. NOOPTIMIZE Desactiva la optimizacin Rushmore de BROWSE. Si desea obtener ms informacin, vea SET OPTIMIZE y Utilizar Rushmore para agilizar el acceso a los datos. NOREFRESH Impide actualizar la ventana Examinar. Las ventanas Examinar se actualizan segn la frecuencia determinada mediante SET REFRESH. NOREFRESH es til con los archivos de slo lectura y mejora el rendimiento. NORMAL Abre la ventana Examinar con su configuracin normal predeterminada, como colores, tamao, posicin, ttulo y opciones de controles (GROW, FLOAT, ZOOM, etc.). Si omite NORMAL y la ventana actual de resultado es una ventana definida por el usuario con su propia configuracin, la ventana Examinar utilizar tambin la configuracin definida por el usuario. NOWAIT Contina la ejecucin del programa inmediatamente despus de que se abra la ventana Examinar. El programa no espera a que se cierre la ventana Examinar, sino que sigue ejecutando la lnea de programa que sigue inmediatamente a la lnea que contiene BROWSE NOWAIT. Si omite NOWAIT cuando ejecuta BROWSE en un programa, se abrir una ventana Examinar y la ejecucin del programa se interrumpir hasta que se cierre dicha ventana. NOWAIT slo est disponible desde dentro de un programa. Incluir NOWAIT no tiene efecto cuando BROWSE se ejecuta en la ventana Comandos. PARTITION nColumnNumber Divide una ventana Examinar en las particiones izquierda y derecha; nColumnNumber especifica el nmero de columnas de la barra de divisin. Por ejemplo, si nColumnNumber es 20, la barra de

divisin se situar en la columna 20 de la ventana Examinar. LEDIT Especifica que la particin izquierda de la ventana Examinar aparecer en modo de edicin. REDIT Especifica que la particin derecha de la ventana Examinar aparecer en modo de edicin. El ejemplo siguiente abre una ventana Examinar con la barra de divisin situada en la columna 20 y la particin derecha abierta en modo de edicin. Incluya ambas palabras clave si desea abrir ambas particiones en modo de edicin. Copiar
CLOSE DATABASES OPEN DATABASE (HOME(2) + 'data\testdata') USE customer && Open customer table BROWSE PARTITION 20 REDIT

PREFERENCE PreferenceName Guarda los atributos y las opciones de una ventana Examinar para su uso posterior. A diferencia de LAST, que restaura la ventana Examinar tal como apareca en la sesin anterior, PREFERENCE guarda indefinidamente en el archivo de recursos FOXUSER los atributos de una ventana Examinar. Las preferencias se pueden recuperar en cualquier momento. Al ejecutar BROWSE con el nombre de preferencia especificado por primera vez se crea una entrada en el archivo FOXUSER que almacena la configuracin de la ventana Examinar. Si ms tarde ejecuta BROWSE con el mismo nombre de preferencia, se restaurar la ventana Examinar con el estado de dicha preferencia. Cuando se cierra la ventana Examinar, las preferencias se actualizan. Los nombres de preferencia pueden tener hasta 10 caracteres de longitud, deben empezar con una letra o un signo de subrayado, y pueden contener cualquier combinacin de letras, nmeros y signos de subrayado. Una vez que tenga las preferencias configuradas de la manera deseada, podr impedir que cambien. Cierre la ventana Examinar, ejecute SET RESOURCE OFF, abra el archivo FOXUSER como tabla y cambie a slo lectura el registro que contiene la preferencia; para ello, cambie el valor del campo lgico READONLY a verdadero (.T.). Para obtener ms informacin acerca del archivo de recursos FOXUSER, vea SET RESOURCE. Si sale de la ventana Examinar presionando CTRL+Q, los cambios de la ventana Examinar no se guardarn en el archivo de recursos. SAVE Mantiene activas y visibles (abiertas) la ventana Examinar y cualquiera de sus ventanas de edicin de texto para campos memo. Puede volver a la

ventana Examinar despus de recorrer las dems ventanas abiertas con el teclado o con el mouse. SAVE slo est disponible desde dentro de un programa. SAVE no tiene ningn efecto cuando se incluye con BROWSE en la ventana Comandos porque BROWSE SAVE es siempre la opcin predeterminada en el modo interactivo. TIMEOUT nSeconds Especifica el tiempo que una ventana Examinar espera recibir una entrada. La expresin numrica nSeconds especifica cuntos segundos pueden transcurrir sin que se produzca ninguna entrada antes de que la ventana Examinar se cierre automticamente. TIMEOUT slo est disponible desde dentro de un programa; no tiene efecto cuando BROWSE se ejecuta en la ventana Comandos. En el ejemplo siguiente, la ventana Examinar se cierra si no se recibe ninguna entrada en 10 segundos. Copiar
DEFINE WINDOW wBrowse FROM 1,1 TO 24,40 ; CLOSE ; GROW ; COLOR SCHEME 10 CLOSE DATABASES OPEN DATABASE (HOME(2) + 'data\testdata') USE customer && Open customer table BROWSE WINDOW wBrowse ; FIELDS phone :H = 'Phone Number:' , ; company :H = 'Company:' ; TIMEOUT 10 RELEASE WINDOW wBrowse

TITLE cTitleText Reemplaza el nombre o el alias predeterminado de tabla que aparece en la barra de ttulo de la ventana Examinar con el ttulo especificado mediante cTitleText. De lo contrario, el nombre o el alias de la tabla que se est examinando aparecer en la barra de ttulo. Si ejecuta BROWSE WINDOW para situar la ventana Examinar en una ventana definida por el usuario, el ttulo de la ventana Examinar reemplazar el de la ventana definida por el usuario. Copiar
CLOSE DATABASES OPEN DATABASE (HOME(2) + 'data\testdata') USE customer && Open customer table BROWSE; TITLE 'My Browse Window' ; FIELDS phone :H = 'Phone Number' , ; company :H = 'Company:'

VALID lExpression2 Realiza una validacin a nivel de registros en una ventana Examinar. La clusula VALID slo se ejecutar si hace algn cambio en el registro e intenta desplazar el cursor a otro registro. La clusula VALID no se ejecutar si slo se hacen cambios en campos memo.

Si VALID devuelve un valor verdadero (.T.), el usuario podr desplazar el cursor a otro registro. Si VALID devuelve un valor falso (.F.), el cursor permanecer en el campo actual y Visual FoxPro mostrar un mensaje de error. Si VALID devuelve 0, el cursor permanecer en el campo actual y no se mostrar ningn mensaje de error. No debe confundirse la clusula VALID con la opcin de verificacin (:V), que activa la validacin a nivel de campo. :F Fuerza la ejecucin de la clusula VALID antes de que el usuario desplace el cursor hasta el siguiente registro. En este caso, VALID se ejecutar aunque no se hagan cambios en el registro. ERROR cMessageText Especifica un mensaje de error que aparecer en lugar del mensaje de error predeterminado del sistema. Visual FoxPro mostrar cMessageText cuando VALID devuelva falso (.F.). WHEN lExpression3 Evala una condicin cuando el usuario desplaza el cursor a otro registro. Si lExpression3 da como resultado verdadero (.T.), el usuario podr modificar el registro al que se ha desplazado. Si lExpression3 da como resultado falso (.F.) o 0, el registro al que se desplace el usuario se convertir en un registro de slo lectura y no podr modificarse. La clusula WHEN no se ejecuta cuando est activada otra ventana. WIDTH nFieldWidth Limita a nFieldWidth el nmero de caracteres mostrados para todos los campos en una ventana Examinar. Se podr desplazar horizontalmente por el contenido de un campo mediante las teclas Flecha izquierda y Flecha derecha, o la barra de desplazamiento horizontal. La inclusin de la clusula WIDTH no cambia el tamao de los campos de la tabla; slo altera la forma en que se muestran los campos en la ventana Examinar. Si se ha especificado un ancho para un campo individual con la clusula FIELDS, ste suplantar al ancho especificado con la clusula WIDTH para ese campo. WINDOW WindowName1 Especifica una ventana definida por el usuario cuyas caractersticas asumir la ventana Examinar. Por ejemplo, si la ventana se ha definido con la clusula FLOAT, la ventana Examinar podr desplazarse. La ventana especificada no tiene que estar activa o visible necesariamente, pero debe estar definida. IN [WINDOW] WindowName2 Especifica la ventana primaria dentro de la cual se abrir la ventana Examinar. La ventana Examinar

no asume las caractersticas de la ventana primaria. Una ventana Examinar activada dentro de una ventana primaria no podr desplazarse fuera de ella. Si la ventana primaria se mueve, la ventana Examinar se mover con ella. Para tener acceso a la ventana Examinar, la ventana primaria debe definirse primero con DEFINE WINDOW y debe estar activa y visible. IN SCREEN Coloca explcitamente una ventana Examinar en la ventana principal de Visual FoxPro cuando est activa una ventana definida por el usuario. COLOR SCHEME nSchemeNumber Especifica el nmero de un esquema de colores empleado para los colores de la ventana Examinar. La ventana Examinar asume el esquema de colores establecido mediante Color del Panel de control de Windows. Observaciones Una ventana Examinar permite ver y modificar registros de una tabla y anexar registros adicionales. Visual FoxPro permite tener varias ventanas Examinar abiertas al mismo tiempo. Si presiona ESC para salir de la ventana Examinar, se descartarn los cambios realizados en el ltimo campo que haya modificado. Sin embargo, si pasa a otro registro despus de modificar un campo, se guardarn los cambios realizados al campo. La lista de campos puede especificar cualquier combinacin de campos o campos calculados. La sintaxis de la lista de campos es la siguiente: Copiar
FieldName1 [:R] [:nColumnWidth] [:V = lExpression1 [:F] [:E = cMessageText]] [:P = cFormatCodes] [:B = eLowerBound, eUpperBound [:F]] [:H = cHeadingText] [:W = lExpression2] [, FieldName2 [:R]...]

Campos calculados La lista de campos puede contener instrucciones para crear campos calculados. Un campo calculado contiene datos de slo lectura creados con una expresin. Esta expresin puede tomar cualquier forma, pero debe ser una expresin vlida de Visual FoxPro. El formato de la instruccin que se utiliza para crear un campo calculado es la siguiente: CalculatedFieldName = eExpression En este ejemplo se crea un campo calculado llamado location: Copiar
CLOSE DATABASES OPEN DATABASE (HOME(2) + 'data\testdata') USE customer && Open customer table BROWSE FIELDS location = ALLTRIM(city) + ', ' + country city y country son nombres de campos de la tabla seleccionada actualmente.

La lista de campos de la clusula FIELDS incluye opciones que permiten el tratamiento especial de los campos que se muestran en la ventana Examinar: :R Especifica que el campo es de slo lectura. Los datos que contiene pueden verse pero no modificarse. En el ejemplo siguiente se abre una ventana Examinar con los campos cust_id y company. El campo cust_id es de slo lectura y no puede cambiarse. Copiar
CLOSE DATABASES

OPEN DATABASE (HOME(2) + 'data\testdata') USE customer && Open customer table BROWSE FIELDS cust_id:R, company

:nColumnWidth Especifica el tamao de presentacin de un campo en las columnas. El valor de:nColumnWidth no afecta al tamao del campo en la tabla; slo altera la forma en que se muestra el campo en la ventana Examinar. :V = lExpression1 [:F] [:E = cMessageText] Permite realizar la validacin de datos a nivel de campo dentro de la ventana Examinar. Si lExpression1 da como resultado verdadero (.T.) cuando se desplaza el cursor desde un campo, la entrada de datos en el campo se considerar correcta y el cursor se desplazar al campo siguiente. Si lExpression1 da como resultado falso (.F.), la entrada de datos se considerar incorrecta, el cursor permanecer en el campo y se mostrar un mensaje. Si lExpression1 da como resultado 0, la entrada de datos se considerar incorrecta y el cursor permanecer en el campo, pero no se mostrar ningn mensaje de error. La opcin de verificacin no se ejecuta para los campos memo. De forma predeterminada, lExpression1 slo se evala cuando se modifica el campo. Para forzar la comprobacin, incluya la opcin :F. Puede mostrar su propio mensaje de error si incluye la opcin :E que se describe ms adelante. :F Determina si la expresin especificada en la opcin de verificacin se evaluar cuando mueva el cursor fuera de un campo o cuando se active otra ventana. Si no se incluye :F, lExpression1 slo se evaluar si se hace algn cambio en el campo. Si se incluye :F, lExpression1 se evaluar aunque el campo no se haya modificado. :E = cMessageText Si la expresin de validacin:V = lExpression1 da como resultado verdadero (.T), el cursor abandonar el campo normalmente. Si la expresin da como resultado falso (.F.), el cursor permanecer en el campo y Visual FoxPro mostrar un mensaje de error. Si se incluye la opcin de error (:E), se mostrar cMessageText en lugar del mensaje de error del sistema. cMessageText slo se muestra si SET NOTIFY es ON. Si SET BELL est establecido en ON, sonar un aviso acstico. Si :V = lExpression1 da como resultado 0, no se mostrar ningn mensaje y el cursor permanecer en el campo que se est validando. Esto permite mostrar sus propios mensajes de error en rutinas de validacin.

El ejemplo siguiente abre la tabla products y muestra los campos product_id y prod_name. El campo product_id es un campo numrico que aceptar hasta cinco nmeros. Para este ejemplo consideraremos como no vlido un product_id mayor que 100. :V especifica el criterio de validacin. :F fuerza que se ejecute la validacin tanto si se cambian los datos como si no. :E reemplaza el mensaje de error del sistema de Visual FoxPro por un mensaje de error definido por el usuario. En Visual FoxPro, el mensaje de error se muestra en la barra de estado, en la parte inferior de la ventana principal de Visual FoxPro. Presione ESC para cerrar la ventana Examinar. Copiar
CLOSE DATABASES OPEN DATABASE (HOME(2) + 'data\testdata') USE products && Open products table IF _WINDOWS OR _MAC SET STATUS BAR ON ENDIF USE products BROWSE FIELDS in_stock :V = in_stock < 100 ; :F ; :E = 'The stock amount must be less than 100'

:P = cFormatCodes Si incluye una clusula FIELDS, tambin podr especificar una opcin de imagen (:P) para cada campo de la lista. La opcin de imagen permite crear una lista de cdigos que controle la presentacin y entrada de datos para cada campo de la ventana Examinar. cFormatCodes es la lista de cdigos. El ejemplo siguiente utiliza la opcin de imagen para permitir nicamente datos numricos con un determinado formato en el campo unit_price: Copiar
CLOSE DATABASES OPEN DATABASE (HOME(2) + 'data\testdata') USE products && Open products table BROWSE FIELDS unit_price :P = '99,999.99'

Vea Format (Propiedad) e InputMask (Propiedad) para obtener ms informacin acerca de los cdigos de opcin de imagen. :B = eLowerBound, eUpperBound [:F] Especifica un conjunto de lmites entre los cuales deben estar comprendidos los datos de un campo. Las expresiones de lmite eLowerBound y eUpperBound deben coincidir con el tipo de datos del campo. No pueden ser funciones definidas por el usuario. Si los datos escritos no quedan dentro de eLowerBound y eUpperBound, aparecer un mensaje de error del sistema que indica el intervalo entre el que deben estar comprendidos los datos. De forma predeterminada, se comprueba que los datos escritos quedan dentro de los lmites slo si

se hacen cambios en el contenido del campo. Para forzar la comprobacin, incluya la opcin de forzar validacin (:F). El ejemplo siguiente garantiza que el valor del campo in_stock estn entre 1 y 100. Presione ESC para cerrar la ventana Examinar. Copiar
CLOSE DATABASES OPEN DATABASE (HOME(2) + 'data\testdata') USE products && Open products table BROWSE FIELDS in_stock :B = 1, 100 :F

:H = cHeadingText Reemplaza los nombres predeterminados de campo por sus propios encabezados, que usted especifica mediante cHeadingText. De forma predeterminada, los nombres de campo se utilizan como encabezados de columna en la ventana Examinar. El ejemplo siguiente proporciona encabezados definidos por el usuario para los campos mostrados. Copiar
CLOSE DATABASES OPEN DATABASE (HOME(2) + 'data\testdata') USE products && Open products table BROWSE FIELDS prod_name :H = 'Product Name:', ; unit_price :H = 'Price per Unit:'

:W = lExpression2 Determina si se puede desplazar el cursor a un campo. Si lExpression2 da como resultado falso (.F.), se prohibir que el cursor se desplace al campo. Si lExpression2 se evala como verdadero (.T.), el cursor puede moverse al campo. En lExpression2 es posible utilizar funciones definidas por el usuario. Si se prohbe desplazar el cursor a todos los campos, el registro actual se marcar como de slo lectura. Esto ocurre slo cuando todos los campos contienen una clusula WHEN que da como resultado falso. Soporte de SET SKIP SET SKIP permite establecer una relacin uno a varios entre dos tablas. Por cada registro de la tabla primaria puede haber mltiples registros relacionados en la tabla secundaria. Si crea una relacin uno a varios, podr utilizar BROWSE para ver registros tanto de la tabla primaria como de la tabla secundaria. El registro primario se muestra una vez, junto con el primer registro coincidente de la tabla secundaria. Los dems registros coincidentes se mostrarn en las filas que siguen al registro primario y al primer registro coincidente secundario. El carcter de relleno para la informacin primaria repetida depende de la fuente actual de la ventana Examinar. Si se sita el puntero de registro en un registro primario, podr desplazarlo entre los registros primarios de la ventana Examinar si presiona CTRL+FLECHA ABAJO para ir al siguiente registro primario o CTRL+FLECHA ARRIBA para ir al registro primario anterior. Si desea obtener ms informacin acerca de la creacin de relaciones uno a varios, vea SET SKIP. La lista de campos de la clusula FIELDS contiene los registros de la tabla primaria y de la secundaria. Los nombres de los campos estn precedidos por el alias de su tabla (orders o customer) y un punto. Copiar
CLEAR CLOSE DATABASES OPEN DATABASE (HOME(2) + 'data\testdata') USE customer ORDER cust_id IN 0 && Parent table

USE orders ORDER cust_id IN 0 && Child table SELECT customer && Back to parent work area SET RELATION TO cust_id INTO orders && Establish relationship SET SKIP TO orders && One-to-many relationship WAIT WINDOW 'Scroll to see shipping dates for each customer' NOWAIT BROWSE FIELDS customer.cust_id :H='Customer Number', ; customer.city :H='Customer City', orders.shipped_on

Funciones tiles Algunas funciones de Visual FoxPro devuelven informacin til acerca de la ventana Examinar. Funcin Descripcin VARREAD( ) Devuelve el nombre del campo donde est situado el cursor para la ventana Examinar activa. RECNO( ) Devuelve el nmero del registro seleccionado en la ventana Examinar activa.

APPEND FROM (Comando)


Visual Studio .NET 2003 Personas que lo han encontrado til: 3 de 8 - Valorar este tema Agrega registros, desde otro archivo, al final de la tabla seleccionada actualmente. Copiar
APPEND FROM FileName | ? [FIELDS FieldList] [FOR lExpression] [[TYPE] [DELIMITED [WITH Delimiter | WITH BLANK | WITH TAB | WITH CHARACTER Delimiter] | DIF | FW2 | MOD | PDOX | RPD | SDF | SYLK | WK1 | WK3 | WKS | WR1 | WRK | CSV | XLS | XL5 [SHEET cSheetName] | XL8 [SHEET cSheetName]]] [AS nCodePage]

Parmetros FileName Especifica el nombre del archivo desde el que desea agregar registros. Si no incluye ninguna extensin de archivo, se asumir una tabla de Visual FoxPro y la extensin predeterminada .dbf. Si desea agregar desde una tabla de Visual FoxPro, se agregarn los registros de la tabla que estn marcados para su eliminacin, independientemente de la configuracin de SET DELETED. ? Muestra el cuadro de dilogo Abrir, en el que puede elegir una tabla desde la que agregar registros. FIELDS FieldList Especifica a qu campos se van a agregar datos. FOR lExpression Agrega un nuevo registro por cada registro de la tabla actualmente seleccionada para la que lExpression d como resultado verdadero (.T.). Los registros se agregan hasta alcanzar el final de la tabla seleccionada. Si omite FOR, todo el archivo de origen se agrega a la tabla seleccionada actualmente. TYPE Especifica el tipo del archivo de origen desde el que se van a agregar datos. Aunque debe especificar un tipo de archivo si el archivo desde el que va a agregar no es una tabla de Visual FoxPro, no necesita incluir la palabra clave TYPE. Puede agregar desde varios tipos de archivos diferentes, incluidos archivos de texto ASCII delimitados, en

los que puede especificar un delimitador de campos. Si el archivo de origen desde el que va a agregar datos no tiene la extensin predeterminada habitual para ese tipo de archivo, el nombre del archivo de origen deber incluir la extensin del archivo. Por ejemplo, las hojas de clculo de Microsoft Excel normalmente tienen una extensin .xls. Si la hoja de clculo de Microsoft Excel desde la que va a agregar datos tiene una extensin distinta de la esperada, .xls, asegrese de especificar la extensin. Nota Cuando agregue datos desde una hoja de clculo, los datos de esa hoja deben estar almacenados en un orden principal de fila, no de columna. Esto permite que los datos agregados de la hoja de clculo coincidan con la estructura de la tabla. DELIMITED Especifica que el archivo de origen desde el que se agregan los datos a la tabla actual de Visual FoxPro es un archivo delimitado. Un archivo delimitado es un archivo de texto ASCII en el que cada registro termina con un retorno de carro y un avance de lnea. De forma predeterminada, se supone que el contenido de los campos est separado entre s mediante comas (no incluya espacios adicionales antes o despus de las comas) y que los valores de los campos de caracteres estn delimitados adems por dobles comillas. Por ejemplo: Copiar
"Smith",9999999,"TELEPHONE"

Para todos los archivos delimitados, se supone que la extensin de archivo es .txt. Puede importar fechas de archivos delimitados si las fechas tienen el formato de fecha adecuado. El formato de fecha predeterminado es mm/dd/aa. Es opcional incluir la parte de siglo de una fecha. Visual FoxPro importar una fecha, como 12/25/95, que no incluye el siglo y supondr que la fecha corresponde al siglo XX. Los delimitadores de fecha pueden ser cualquier carcter no numrico, excepto el delimitador que separa los campos en el archivo delimitado. Es posible importar fechas en otros formatos si su formato coincide con un formato de fecha disponible en SET DATE. Para importar fechas que no tienen el formato predeterminado, ejecute SET DATE con el formato de fecha apropiado antes de utilizar APPEND FROM. Para comprobar si un formato de fecha se puede importar correctamente, utilcelo con CTOD( ). Si la fecha es aceptable para CTOD( ), la fecha se importar correctamente. DELIMITED WITH Delimiter

Indica que los campos de caracteres estn delimitados entre s por un carcter distinto de la comilla. DELIMITED WITH BLANK Especifica archivos que contienen campos separados por espacios en blanco en vez de comas. DELIMITED WITH TAB Especifica archivos que contienen campos separados por tabulaciones en vez de comas. DELIMITED WITH CHARACTER Delimiter Especifica archivos que contienen campos separados por el carcter especificado en Delimiter. Si Delimiter es un punto y coma (el carcter utilizado en Visual FoxPro para indicar continuacin de lnea de comandos), escriba el punto y coma entre comillas. Tambin puede especificar las palabras clave BLANK y TAB para Delimiter. La clusula WITH Delimiter se puede combinar con la clusula WITH CHARACTER. Por ejemplo, el siguiente comando agrega registros de un archivo de texto con campos de caracteres delimitados con caracteres subrayados y todos los campos delimitados unos de otros por asteriscos: Copiar
APPEND FROM mytxt.txt DELIMITED WITH _ ; WITH CHARACTER *

DIF Incluya DIF para importar datos de un archivo .dif (formato de intercambio de datos) de VisiCalc. Los vectores (columnas) se convierten en campos en la tabla seleccionada actualmente y las filas se transforman en registros. Se presupone que los nombres de archivos DIF tienen una extensin .dif. FW2 Incluya FW2 para importar datos de un archivo creado por Framework II. Se asume que los nombres de archivo FW2 tienen una extensin .fw2. MOD Incluya MOD para importar datos de un archivo Microsoft Multiplan versin 4.01. Microsoft Multiplan versin 4.01 crea archivos MOD, que se supone deben tener una extensin .mod. PDOX Incluya PDOX para importar datos de un archivo de base de datos Paradox versin 3.5 4.0. Se supone que los nombres de archivo Paradox deben tener una extensin .db. RPD Incluya RPD para importar datos de un archivo creado por RapidFile versin 1.2. Se supone que los nombres de archivo RapidFile deben tener una extensin .rpd. SDF

Incluya SDF para importar datos de un archivo de 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 lnea. Los campos no estn delimitados. Se supone que la extensin del archivo SDF debe ser .txt. La conversin efectiva de datos de fecha de archivos SDF en tablas de Visual FoxPro requiere que los datos se almacenen con formato AAAAMMDD. Si la informacin de fecha est almacenada con formatos ambiguos, es recomendable asignar la columna de fecha a una columna de caracteres con el ancho adecuado, de modo que pueda inspeccionar el valor y, a continuacin, aplicar la rutina de conversin correcta para crear datos de fecha con el formato correcto. SYLK Incluya SYLK para importar datos desde un formato de intercambio SYLK (Vnculo simblico). Los archivos SYLK se utilizan con Microsoft MultiPlan. Las columnas del archivo SYLK se transforman en campos en la tabla de Visual FoxPro y las filas se transforman en registros. Los nombres de archivo SYLK no tienen ninguna extensin. WK1 Incluya WK1 para importar datos de una hoja de clculo Lotus 1-2-3 versin 2.x. Cada columna de la hoja de clculo se transforma en un campo de la tabla y cada fila de la hoja de clculo se transforma en un registro de la tabla. Se asigna una extensin .WK1 al nombre de archivo de la hoja de clculo creada en Lotus 1-2-3 versin 2.x. WK3 Incluya WK3 para importar datos de una hoja de clculo Lotus 1-2-3. Cada columna de la hoja de clculo se transforma en un campo de la tabla y cada fila de la hoja de clculo se transforma en un registro de la tabla. Se asigna una extensin .wk3 al nombre de archivo de hoja de clculo creada en Lotus 1-2-3 versin 3.x. WKS Incluya WKS para importar datos de una hoja de clculo Lotus 1-2-3 revisin 1-A. Cada columna de la hoja de clculo se transforma en un campo de la tabla y cada fila de la hoja de clculo se transforma en un registro de la tabla. Se asigna una extensin .wks al nombre de archivo de la hoja de clculo creada en Lotus 1-2-3 revisin 1-A. WR1 Incluya WR1 para importar datos de una hoja de clculo Lotus Symphony versin 1.1 1.2. Las columnas de la hoja de clculo se convierten en campos de la tabla y las filas se transforman en

registros de la tabla. Se asigna la extensin .wr1 al nombre de archivo de hoja de clculo creada en Symphony versiones 1.1 1.2. WRK Incluya WRK para importar datos de una hoja de clculo Lotus Symphony versin 1.0. Las columnas de la hoja de clculo se convierten en campos de la tabla y las filas se transforman en registros de la tabla. Se asigna una extensin .wrk al nombre de archivo de hoja de clculo creado en Symphony versin 1.0. CSV Incluya CSV para importar datos de un archivo de valores separados por comas. Un archivo CSV contiene los nombres de campos en la primera lnea del archivo; los nombres de campos se pasarn por alto cuando se importe el archivo. XLS Incluya XLS para importar datos de una hoja de clculo Microsoft Excel. Las columnas de la hoja de clculo se transforman en campos de la tabla y las filas se convierten en registros de la tabla. Los nombres de archivos de hoja de clculo creados en Microsoft Excel reciben la extensin .xls. XL5 Incluya XL5 si desea importar datos de Microsoft Excel versin 5.0. Las columnas de la hoja de clculo se convierten en campos de la tabla y las filas de la hoja de clculo se convierten en registros de la tabla. Los archivos de hoja de clculo creados en Microsoft Excel tienen una extensin .xls. Si omite la clusula SHEET, se importan los datos de la Hoja1. Para importar datos de una hoja especfica, incluya la palabra clave SHEET y especifique el nombre de la hoja mediante cSheetName. XL8 Incluya XL8 para importar datos de Microsoft Excel 97. Las columnas de la hoja de clculo se convierten en campos de la tabla; las filas de la hoja de clculo se convierten en registros de la tabla. Los archivos de hoja de clculo creados en Microsoft Excel tienen una extensin .xls. Si omite la clusula SHEET, se importan los datos de la Hoja1. Para importar datos de una hoja especfica, incluya la palabra clave SHEET y especifique el nombre de la hoja mediante cSheetName. AS nCodePage Especifica la pgina de cdigos de la tabla o el archivo de origen. Visual FoxPro copia el contenido de la tabla o el archivo de origen y, a medida que copia los datos, los convierte automticamente a la pgina de cdigos de la tabla actual.

Si especifica un valor no admitido para nCodePage, Visual FoxPro generar un mensaje de error. Puede utilizar GETCP( ) para que nCodePage muestre el cuadro de dilogo Pgina de cdigos, lo que permite especificar una pgina de cdigos para la tabla o el archivo anexado. Si omite AS nCodePage y Visual FoxPro no puede determinar la pgina de cdigos de la tabla o archivo de origen, Visual FoxPro copiar el contenido de la tabla o archivo de origen. Cuando copie los datos, los convertir automticamente a la pgina de cdigos actual de Visual FoxPro. Si SET CPDIALOG tiene el valor ON, la tabla del rea de trabajo seleccionada actualmente se marcar con una pgina de cdigos. Si va a anexar datos de una tabla que no est marcada con una pgina de cdigos, aparecer el cuadro de dilogo Pgina de cdigos, de forma que pueda elegir la pgina de cdigos de la tabla desde la que est anexando datos. La pgina de cdigos actual de Visual FoxPro puede determinarse mediante CPCURRENT( ). Si omite AS nCodePage y Visual FoxPro puede determinar la pgina de cdigos de la tabla o archivo que se est anexando, Visual FoxPro copiar el contenido de la tabla o archivo anexados. Cuando copie los datos, los convertir automticamente a la pgina de cdigos de la tabla actualmente seleccionada. Si nCodePage es 0, Visual FoxPro asume que la pgina de cdigos de la tabla o archivo que se est anexando es la misma que la de la tabla actualmente seleccionada. No se produce ninguna conversin a la pgina actual de cdigos de Visual FoxPro. Observaciones Si el archivo desde el que va a anexar datos es una tabla de Visual FoxPro o una tabla creada en una versin anterior de FoxPro, se supone que tiene una extensin .dbf. Si la tabla de Visual FoxPro o la tabla creada en una versin anterior de FoxPro no tiene una extensin .dbf, deber especificar su extensin. Si el archivo no es una tabla de Visual FoxPro ni una tabla creada en una versin anterior de FoxPro, deber especificar el tipo de archivo desde el que va a anexar datos. Antes de poder anexar datos de una tabla creada en dBASE IV o dBASE V que contenga un campo memo, debe abrir primero la tabla en Visual FoxPro mediante USE. Cuando se le pregunte si desea convertir el archivo, responda afirmativamente. Si anexa datos de una tabla de Visual FoxPro o de una tabla creada en una versin anterior de FoxPro, la tabla desde la que anexa datos puede estar abierta en otra rea de trabajo. Los registros marcados para eliminacin en la tabla cuyos datos est anexando se desmarcan una vez anexados los registros. Utilice la funcin DBF( ) para anexar desde un cursor temporal de slo lectura creado por un comando SELECT - SQL. Incluya el nombre del cursor en la funcin DBF( ) como en el ejemplo siguiente: Copiar
APPEND FROM DBF('<Cursor Name>')

Ejemplo El ejemplo siguiente abre la tabla customer, copia su estructura a una tabla llamada backup y, a continuacin, abre backup. Despus, Visual FoxPro anexa todos los registros relativos a Finlandia de la tabla customer. Estos registros se copian a un nuevo archivo delimitado, TEMP.TXT. Copiar

CLOSE DATABASES OPEN DATABASE (HOME(2) + 'Data\testdata') USE customer && Open customer table COPY STRUCTURE TO backup USE backup APPEND FROM customer FOR country = 'Finland' COPY TO temp TYPE DELIMITED MODIFY FILE temp.txt USE DELETE FILE backup.dbf DELETE FILE temp.txt

You might also like