You are on page 1of 48

Mdulo 1

BASES DE DATOS
EN VISUAL FOX PRO

Programa:
Alumno:

Mdulo No. 1 Base de Datos


Preparado por:
Kenedy Campo
Reservados todos los derechos
Prohibida su reproduccin total o parcial
Diseo e Impresin:
Comunicamos Ideas Tel 653 6517

Ideas@telesat.com.co

CONTENIDO

INTRODUCCIN A LAS BASES DE DATOS

1. POR QU LAS BASES DE


DATOS?
2. DEFINICIN DE BASES DE
DATOS
3. VENTAJAS DE LAS BASES DE
DATOS
4. NIVELES DE ABSTRACCIN EN
UNA BASE DE DATOS
MODELO ENTIDAD RELACIN
CAMPO 2
Registro tabla (Archivo)
Tipos de datos y campo
Creacion de nombres en Visual FoxPro
QUIT (Comando)
?!?? (Comando)
CLEAR (Comandos)
DATE() (Funcin)
SET CENTURY (Comando)
SET DATE (Comando)
TIME() (Funcin)
DATETIME() (Funcin)
TYPE() (Funcin)
SET DEFAULT (Comando)
CREATE (Comando)
USE (Comando)

APPEND (Comando)
BOF() (Funcin)
EOF() (Funcin)
GO GOTO (Comando)
SKIP (Comando)
RECNO() (Funcin)
RECCOUNT() (Funcin)
LOCATE (Comando)
CONTINUE (Comando)
$ (Operador)
DO WHILE ... ENDDO (Comando)
FOUND() (Funcin)
STORE (Comando)
VAL() (Funcin)
STR() (Funcin)
ALLTRIM() (Funcin)
LTRIM() (Funcin)
RTRIM() (Funcin)
LEFT() (Funcin)
RIGTH() (Funcin)
SUBSTR()(Funcin)

INTRODUCCIN A LAS BASES DE DATOS


1. POR QU LAS BASES DE DATOS?
En los sistemas de informacin clsicos, una aplicacin accede a uno o mas archivos.
Esto se debe a que estos sistemas estn orientados hacia el proceso, debido a que en ellos,
se pone el nfasis en los tratamientos que reciben los datos, los cuales se almacenan en unos
archivos que son usados para una nica aplicacin.
Estas se analizan e implantan con entera independencia unas de otras, y los datos no se suelen
transferir entre ellas, sino que se duplican siempre que los correspondientes trabajos los necesitan.
Este planteamiento produce, adems de una ocupacin intil de memorias secundarias, un aumento en los tiempos de proceso, al repetirse los mismos controles y operaciones en los distintos
archivos, pero ms grave todava son las incoherencias que a menudo, se presentan en estos
sistemas, debido a que la actualizacin de los datos que se encuentran en mas de un archivo
no se suele realizarse de forma simultnea.
De este anlisis, se deduce claramente la necesidad de una gestin mas racional del conjunto
de datos, surgiendo as un nuevo enfoque que se apoya sobre una base de datos, en la cual
los datos son recogidos y almacenados una sola vez, organizndose y mantenindose en un
conjunto estructurado, que no est diseado para una aplicacin concreta.

2. DEFINICIN DE BASES DE DATOS


Muchas son las definiciones que de una base de datos pueden encontrarse en la abundante
bibliografa existente sobre el tema, pero coinciden en que consideran que, una base de datos
es un conjunto, coleccin o de depsito de datos almacenados en un soporte informtico. Los
datos deben estar interrelacionados y estructurados de acuerdo con un modelo capaz de recoger
el contenido semntico restricciones existentes en el mundo real.

3. VENTAJAS DE LAS BASES DE DATOS




Reduccin o eliminacin de redundancias


Posibilidad de eliminar inconsistencias
Los datos pueden compartirse

Estos no slo quiere decir que diferentes aplicaciones existentes pueden compartir los datos
de la base, sino tambin que es factible desarrollar nuevas aplicaciones que operen con los
mismos datos almacenados.

Pueden aplicarse restricciones de seguridad. El sistema permite el estableci

miento de controles de acceso, de modo que una determinada aplicacin (o
usuario que acceda directamente a la base desde
un terminal) tenga autorizacin
para ver slo cierta parte de los datos y
para efectuar slo ciertas operaciones
con ellos

Conservacin de la integridad. El control centralizado de la base, permite ejecutar

procedimientos de validacin que habrn de ejecutarse cada vez que se
intente una
operacin de actualizacin, lo que asegura que los datos
almacenados son correctos,
garantizando as la integridad de los mis-

mos.

Independencia de los datos. Las aplicaciones son inmunes a cambios en la estructura
de
almacenamiento y en la estrategia de acceso, es decir, existe una independencia,
tanto fsico
como lgica, entre datos y tratamientos. Esta es una caracterstica que

4. NIVELES DE ABSTRACCIN EN UNA BASE DE DATOS

En las bases de datos existen tres niveles generales: interno o fsico, conceptual o lgico global,
externo o lgico.
El nivel externo es el ms cercano a los usuarios, es decir, el que atae a la manera como cada
usuario ve los datos. En la arquitectura ANSI/Spara se llama vista externa. Por tanto, una visita
externa es el contenido de la base de datos tal como lo ve un usuario, especfico (es decir, para
ese usuario la vista externa es la base de datos). Por ejemplo, un usuario del departamento de
personal puede ver la base de datos como un conjunto de ocurrencias de registros de departamento ms un conjunto de ocurrencias de registros de empleados.
El nivel conceptual o lgico global es una representacin lgica del contenido total de informacin de la base de datos, en forma abstracta en comparacin con la forma en la cual los datos
se almacenan fsicamente.
Si el nivel externo se relaciona con las visitas de los usuarios individuales, el nivel conceptual
puede considerarse como el que define una vista de la comunidad de usuarios.
El nivel interno es una representacin de nivel muy bajo de la base de datos en su totalidad; se
compone de mltiples ocurrencias, de mltiples tipos de registros internos. Registro interno es
el trmino que ANSI/o PARC utiliza para la construccin llamada registro almacenado; la vista
interna, por tanto, an se mantiene a un paso del nivel fsico, ya que no atae a registros fsicos
ni a ninguna restriccin especfica de dispositivos tales como capacidades de cilindros o pistas.

5. SISTEMAS DE GESTIN DE BASES DE DATOS

Vista
Usuario

Nivel externo
lgico
NIvel Conceptual
Lgico Global

Nivel Interno
Fisco

Un sistema de gestin de bases de datos, es un conjunto coordinado de programas, procedimientos, lenguajes, etc., que suministra, tanto a los usuarios informticos, como a las analistas,
programadores, o al administrador, los medios necesarios para describir, recuperar y manipular
los datos integrados en la base, asegurando su confidencia y seguridad.
Las principales funciones de un SGBD son:


Funcin de descripcin: la funcin de descripcin debe permitir al administrador de la
base de datos, especificar los elementos de datos que la integran, su estructura y las relaciones
que existen entre, ellos las reglas de integridad semntica y los controles a efectuar antes de
autorizar el acceso a la base, etc., as como tambin las caractersticas de tipo fsico y las vistas
lgicas de los usuarios.
Esta funcin, llevada a cabo por el lenguaje de descripcin o definicin de datos (LDD), propio
de cada SGBD, debe suministrar los medios para definir las tres estructuras de datos fsicas,
lgica, conceptual-, especificando las caractersticas de los datos, a cada uno de estos niveles:
A nivel fsico, se ha de delimitar el espacio volmenes, cilindros y pistas- reservado para la base,
la longitud de los campos o elementos de datos, su modo de representacin binario, decimal,
pto. fijo o flotante, etc. adems, se debe poder sealar caminos de acceso, definir punteros, etc.
A nivel de estructuras lgica y conceptual, ha de suministrar los instrumentos para la definicin de
las entidades y su identificacin, atributos de las mismas, relaciones entre ellas, autorizaciones
de acceso, restricciones de integridad, etc.

Funcin de manipulacin: la funcin de manipulacin permite a los usuarios de la base,
aadir, buscar, suprimir o modificar los datos de la misma siempre de acuerdo con las especificaciones y las normas de seguridad dictadas por el administrador. La funcin de manipulacin
se llevar a cabo por medio de un lenguaje de manipulacin de datos (LMD), que facilita los instrumentos necesarios para la realizacin de estas tareas. Puede ser un lenguaje autocontenido,
orientado a los usuarios no informticos, que puede usarse, en general, en modo conversacional
o puede ser un lenguaje que precisa apoyarse en otro lenguaje, llamado husped.

Funcin de utilizacin: la funcin de utilizacin rene todas las interfases que necesitan
los diferentes usuarios para comunicarse con la base. Los requerimientos respecto a la forma
de utilizar la base de datos son muy diferentes, segn los tipos de procesos y segn los usuarios,
siendo preciso que, la funcin de utilizacin responda a todas ellas. En especial, esta funcin
debe integrar un conjunto de instrumentos que faciliten las tareas del administrador.

6. ADMINISTRADOR DE LA BASE DE DATOS

Una de las razones principales para contar con sistemas de manejo de bases de datos es tener
un control centralizado tanto de los datos como de los programas que tienen acceso a ellos. La
persona que tiene este control centralizado sobre el sistema es el administrador de la base de
datos. Las funciones del administrador son entre otras:

Definicin del esquema (base lgica global)

TALLER

Qu es una base de datos?

Definicin de la estructura del almacenamiento y del mtodo de acceso


Modificacin del esquema y de la organizacin fsica
Concesin de autorizacin para el acceso a los datos
Especificacin de restricciones de integridad

Qu es un modelo de datos?
Qu es un sistema de gestin de base de datos?
Cules son las ventajas de las bases de datos?
Cules son los niveles de abstraccin de los datos?

MODELO ENTIDAD RELACIN


Para efectuar el anlisis de un sistema de informacin es necesario realizar un anlisis funcional
y un anlisis estructural.
El anlisis funcional corresponde a la identificacin, definicin, representacin y especificacin
de procesos. En este captulo nos ocuparemos del anlisis estructural o anlisis de datos, que
consiste inicialmente en un esquema conceptual formado por los objetos y sus propiedades relevantes identificadas por el analista en su percepcin y abstraccin de esa realidad.
El esquema conceptual que se forma en la mente del analista es expresado mediante algunos
formalismos dando origen a un modelo conceptual.
Una vez definido el modelo conceptual, este se puede transformar en una descripcin de datos,
atributos, registros, archivos, tablas, etc., incluyendo las posibles interrelaciones entre estos elementos y su significado. Dicha descripcin la llamaremos modelo lgico de datos y a la operacin
de transformar el modelo lgico la llamaremos diseo lgico de datos.
Una vez definido el modelo lgico, hay que traducirlo a estructuras almacenables en soporte
fsicos controlados por el computador, normalmente discos magnticos. Al conjunto de estas
estructuras lo llamaremos modelo fsico de datos y al proceso de transformacin del modelo
lgico al modelo fsico, lo llamaremos diseo fsico de datos.
La siguiente figura representa los tres niveles de los datos y sus correspondientes modelos:

RELAIDAD

Anlisis
Diseo
lgico de
datos

MODELO
CONCEPTUAL

Diseo fsico
de datos
B.D.

MODELO
LGICO
MODELO
FSICO

Vista o
abstraccin

Transformacin

Transformacin

Existen mltiples modelos conceptuales, de los cuales el mas ampliamente utilizado es el modelo
entidad relacin de chen, que es el que estudiaremos.
El modelo entidad-relacin al igual que cualquier otro modelo conceptual de daos es independiente
del sistema de gestin de bases de datos elegido.
Los elementos bsicos del modelo son:

Entidades:

Una entidad es una cosa que puede ser distinguida e identificada. De cara al modelo conceptual
podemos decir que las entidades son los objetos acerca de los cuales tenemos informacin.
Las entidades pueden ser:

Reales, es decir, objetos tangibles o cosas, tales como mquinas, gente, edificios,
etc.

Conceptuales, es decir, objetos intangibles, como por ejemplo, orden de compra, costo
de un
centro, etc.

Actividades o eventos, es decir, actividades de inters para la empresa, acerca de los
cuales
se deben mantener datos por ejemplo, pagos, compras, ventas, etc.
Es importante sealar que una entidad esta representada en el modelo por los datos asociados
a sus propiedades, ella no es en si misma los datos. Por ejemplo, Mara Pepa existe como una
persona, pero su nombre, fecha de nacimiento, sexo, etc., son propiedades o cualidades que
pueden ser representadas como datos acerca de ella, otra cosa importante es que teniendo en
cuenta las propiedades comunes, las entidades son agrupadas formando tipos de entidades.
As por ejemplo, la entidad Mara Pepa pertenece a la entidad tipo PERSONA, y se dice que

Relaciones:

Una relacin es una asociacin entre entidades, por ejemplo, padre-de es una relacin entre
dos entidades PERSONA.
Las relaciones se agrupan formando tipos de relaciones, es decir, asociaciones entre los tipos
de entidades de las entidades involucradas en las relaciones.
Podemos clasificar las relaciones tipo, segn el grado o nmero de tipos de entidades distintas
a las que asocia:

Relacin binaria o de grado 2: entre dos tipos de entidades diferentes.


Relacin reflexiva o de grado 1: la definido entre un tipo de entidad y ella misma.

Cardinalidad de una relacin:

Es el nmero de ocurrencias de cada tipo de entidad que intervienen o pueden intervenir en


el tipo de relacin.
Se puede fijar, al hablar de la cardinalidad de una entidad respecto a una relacin, de una
cardinalidad mnima y de una cardinalidad mxima. La mnima puede ser 0 o 1 e indicar si
existe la posibilidad de determinadas entidades no participen en el relacin, y dichas participaciones se conocen con el nombre de opcional y obligatoria respectivamente.
Atributos: un atributo es una propiedad descriptivo o valor asociado con una entidad, que sirve
para cualificar, identificar, clasificar o expresar el estado de la entidad. Un tipo de atributo
es la coleccin de todos los valores de una propiedad definida asociada con las entidades
de un tipo de entidad dado.

Ejemplo:

Tipo de entidad
Persona

Tipo de atributo
Nombre

Atributo
Mara Pepa

Diagrama entidad relacin:

Ees un grfico conceptual del modelo entidad relacin. Hay 2 razones para dibujarlo:

Representa un resumen de los resultados del anlisis, el cual puede servir como b a s e
para
la discusin.

Es la base para el diseo de la base de datos
No existe una nica representacin grfica de los diagramas entidad-relacin (DER), veremos
dos:

Diagramas de Echen:
PERSONA

Los tipos de relaciones se representan por un rombo con sus respectivas lneas de conexin

a los tipos de entidades. Ejemplo:
TRABAJA

Las cardinalidades se representan junto a las lneas de conexin y cerca de


las entidades tipo respectivas, de la siguiente manera:

Cardinalidad mnima: cardinalidad mxima


Ejemplo:

EMPLEADO

TRABAJA

PROYECTO


Los tipos de atributo por lo general no se suelen representar en el diagramapara no
recargarlo y cuando se representa slo se utilizan los atributos de la
clave primaria.
VENDEDOR

VENDE A

1:1

No. Vendedor

CLIENTE
No. Cliente

Diagramas de Bachman:

a.

Los tipos de entidades se representan por um rectngulo

b.

Los tipos de relaciones se representan por un rombo

c. Las cardinalidades mximas se representan por las lneas de conexin de los rombos
con los respectivos tipos de entidades. La convencin es la siguiente:

Representa una relacin R, de cardinalidad mxima uno a uno


teniendo en cuenta los dos sentidos.

Representa una relacin R, de cardinalidad uno a muchos en


donde muchos significa mas de uno.

Representa una relacin R, de cardinalidad muchos a mu-

En Bachaman las caractersticas mnimas no aparecen reflejadas grficamente.


d. Los tipos de atributos se representan como valos conectados al rectngulo de su
respectivo tipo de entidad. Ejemplo:

a2

a1

Equivalencia de entidades:

a.
Entidades compuestas o asociativas: se denomina de este modo a aquellas que resultan
al
asociar a una relacin entre entidades unos determinados atributos. Entonces,
la relacin
inicial debe ser considerada a su vez como una entidad. Ejemplo:
EMPLEADO

TRABAJA

Fecha inicio participacin

PROYECTO

Horas
dictadas

Horas dedicadas no es un atributo de empleado ni de proyecto, puesto que su significado


depende tanto del empleado como del proyecto involucrado.
b.
Atributo entidad: no slo las relaciones se pueden convertir en entidades. Un atributo
tambin se pude convertir en una entidad cuando tiene significado
completo en si mismo,
con relaciones y atributos propios. Ejemplo:

TIPO DE CARRO

Constructor

modelo

CARRO

N pasajeros

N placa

Pripi-

TALLER
1.

Explique en qu consiste el anlisis de datos

2.

Explique en qu consiste el diseo lgico y fsico de datos

3.

Explique los elementos del modelo entidad relacin de Chen

4.

Transforme los ejemplos representados en diagramas de Chen a diagramas de


Bachman

5.

D un ejemplo entidad compuesta y un ejemplo de un atributo-entidad

EJEMPLOS Y EJERCICIOS DEL MER


Ejemplo: se trata de disear un modelo conceptual para una compaa area usando el formalismo entidad relacin. Las entidades con sus atributos son las siguientes:

PASAJERO (Nombre, direccin, telfono)


VUELO (Origen, Destino, No. Vuelo, Hora Partida, Hora - Llegada)
PARTIDA (Fecha).
TIPO AVION (Constructor, Modelo)
AERONAVE (No. Serie)
EMPLEADO (No. Empleado, Nombre, Categora, Salario)
PILOTO (No. Licencia; No. Horas Vuelo).
Las relaciones y sus cardinalidades mximas son las siguientes:
1.

Los pilotos pertenecen a los empleados de la compaa (1:1)

2.

Los pasajeros reservan cupo para las partidad (m:n).

3.

Las partidad son ocurrencias de los vuelos en una fecha determinada (n:1).

4.

Empleados de la compaa son asignados a una partida (m:n).

5.

Los pilotos pueden manejar varios tipos de aviones (m:n)

6.

Una aeronave pertenece a un tipo de avin (n:=)

7.

Una aeronave puede realizar varias partidas (1:n)

Orgen

Fecha

Nombe -P

Destino

VUELO

Ocurrencia

PARTIDA

Reserva

PASAJERO

Direccin

Hora
llegada

Hora
partida

ali
z

Asionado

Re

Telfono

Salario
Categoria

Constructor

A E R O N AV E

EMPLEADO

Nombre

Es un

Pertenece

N Horas

Constructor

Modelo

T I P O - AV I N

Maneja

PILOTO

N Lic

El diagrama de Bachman
correspondiente es:

En la prctica se suele
simplificar la representacin omitiendo los
nombres de las relaciones y de los atributos, de la siguiente
manera:

PA S A J E R O

PA R T I D A

EMPLEADO

A E R O N AV E
PILOTO

VUELO

T I P O - AV I N

Le queda como ejercicio al lector establecer las cardinalidades mnimas.

EJERCICIO 1
Se trata de elaborar el modelo entidad relacin que refleje el funcionamiento de una universidad
en su parte acadmica, organizada de la forma siguiente:
1.
La universidad est constituida por facultades.
2.
Una facultad est dividida en departamentos.
3.
Un departamento est integrado por ctedras.
4.
Una ctedra imparte, en general, varias asignaturas.
5.
Un alumno est matriculado en una o varias asignaturas, pero no puede cursar estudios simultneamente en
dos facultades diferentes.
6.
En cada ctedra hay un catedrtico y varios profesores titulares y encargados de cursos. Los
profesores
titulares, as como el catedrtico, slo pueden impartir docen cia dentro de la
ctedra. Mientras que los encarga
dos de cursos pueden hacerlo en distintas ctedras de un
mismo departamento.
7.
Departamentos de la misma o de distintas facultades pueden unirse para construir institutos

interfacultativos de investigacin y post grado.
8.
Cada departamento tiene varios alumnos de post grado, que reciben la docencia a travs de los
institutos de
investigacin.

Se pide:
1.
2.

Identificar las entidades.


Identificar las relaciones y sus cardinalidades.

EJERCICIO 2
Una empresa dedicada a la fabricacin y venta de productos desea disear una base de datos
que le permita controlar un sistema de compras y almacenes. Las materias primas que necesita
la empresa se solicitan a los proveedores. Cada proveedor suministra diversas materias primas
y de cada materia prima hay varios proveedores. Cada pedido es para un nico proveedor y para
una sola materia prima y en l se indica en que almacn deseo que se efecte la entrega ya que
las materias primas estn distribuidas en diversos almacenes.
En cada almacn hay por lo menos un 80% de las materias primas y una materia prima est en
al menos el 80% de los almacenes.
En los almacenes citados, tambin se encuentran los productos terminados. En cada almacen
un 50% de los productos y un producto se almacena en al menos un 50% de los almacenes.
Los productos se componen de varias materias primas y obviamente una materia prima puede
intervenir en la fabricacin de ms de un producto.
Una vez el pedido es servido, se procede al pago de los proveedores previa presentacin de la
factura de estos. Una factura por cada pedido. Cada pedido puede originar varias pagos, pero
cada uno de ellos corresponde a una nica factura. Los pagos se agrupan por bancos teniendo
en cuenta que algunos pagos se efectuarn en efectivo (no por banco) se pide lo mismo del

Campo
Campo
Recibe
sese
almacena
unun
dato,
y alyque
generalmente
se lesedaleun
Recibe el
el nombre
nombrede
decampo
campoelelespacio
espaciofsico
fsicodonde
donde
almacena
dato,
al que
generalmente
da un
nombre
tener
unos
datos
ya ya
almacenados
o introducir
unosunos
nuevos.
nombre para
paraidentifi
identificarlo.
carlo.En
Enun
uncampo
campopodemos
podemos
tener
unos
datos
almacenados
o introducir
nuevos.
Ejemplo:
Ejemplo:
Cada una
hoja
dede
vida
corresponde
a un
campo.
una de
delas
lascasillas
casillasque
quesesellenan
llenanenenuna
una
hoja
vida
corresponde
a un
campo.
Crear Campos
Campos
Al crear
carcar
unun
nombre
dede
campo,
un un
tipotipo
de datos
y unyancho
de campo.
crear los
loscampos
camposde
deuna
unatabla
tabladebe
debeespecifi
especifi
nombre
campo,
de datos
un ancho
de campo.
Tambin
enen
el el
campo
especifi
cando
si elsicampo
permite
valores
NULL,
Tambin puede
puedecontrolar
controlarqu
qudatos
datossesepermiten
permiten
campo
especifi
cando
el campo
permite
valores
NULL,
si tiene
reglas
dede
validacin.
Al confi
gurar
las propiedades
de de
tiene un
un valor
valor predeterminado
predeterminadoo osisidebe
debecumplir
cumplir
reglas
validacin.
Al confi
gurar
las propiedades
presentacin,
que
se se
crea
cuando
el campo
se agrega
a una formulario,
el el
presentacin,puede
puedeespecifi
especificar
careleltipo
tipodedecontrol
control
que
crea
cuando
el campo
se agrega
un formulario,
formato
deldel
contenido
deldel
campo.
formato del
delcontenido
contenidode
delos
loscampos
camposo oelelttulo
ttulo
contenido
campo.
Nota: Los
pueden
contener
hasta
255255
campos.
Si uno
o ms
campos
Los registros
registrosde
deuna
unatabla
tabladedeVisual
VisualFoxPro
FoxPro
pueden
contener
hasta
campos.
Si uno
o ms
campos
contienen
dede
campos
que
la tabla
puede
contener
se reduce
en uno,
de 255
contienen valores
valoresNULL,
NULL,elelnmero
nmeromximo
mximo
campos
que
la tabla
puede
contener
se reduce
en uno,
de 255
a 254.
254.
Registro
Registro
Fsicamente
es es
unun
conjunto
de de
datos
relacionados
queque
sirven
parapara
Fsicamente es
es un
unconjunto
conjuntode
decampos;
campos;lgicamente
lgicamente
conjunto
datos
relacionados
sirven
identifi
identificar
car un
unente,
ente,persona
personaoocosa.
cosa.
Trabajar
Trabajar con
conregistros
registros
Cuando
dede
una
tabla,
puede
almacenar
datos
en ella
agregndole
registros.
Cuandohaya
hayadiseado
diseadoyycreado
creadolalaestructura
estructura
una
tabla,
puede
almacenar
datos
en ella
agregndole
registros.
Despus
existentes.
Cada
unauna
de de
estas
tareas
puede
realizarse
a travs
Despus podr
podrmodifi
modificar
caryyeliminar
eliminarlos
losregistros
registros
existentes.
Cada
estas
tareas
puede
realizarse
a travs
de la interfaz
interfazgrafi
grafica
caoomediante
mediantecomandos.
comandos.
Ejemplo:
Ejemplo:
Una vez
dede
vida
tenemos
unun
registro,
indica
estoesto
queque
la hoja
de vida
como
vez llenadas
llenadastodas
todaslas
lascasillas
casillasdedelalahoja
hoja
vida
tenemos
registro,
indica
la hoja
de vida
como
tal es un
enen
particular.
un registro
registroque
queidentifi
identificacaa auna
unapersona
persona
particular.
Tabla (Archivo)
(Archivo)
Conjunto
misma
persona
o cosa,
las las
tablas
tambin
las conocemos
Conjunto de
de registros
registrosque
quehacen
hacenreferencia
referenciaa auna
una
misma
persona
o cosa,
tablas
tambin
las conocemos
como archivos.
archivos.
Crear tablas
tablas
Las tablas
dede
filas
y columnas,
de de
manera
similar
a una
hojahoja
de clculo.
CadaCada
tablasalmacenan
almacenanlos
losdatos
datosen
enun
unformato
formato
filas
y columnas,
manera
similar
a una
de clculo.
fila representa
columna
representa
loslos
campos
de los
registros.
Puede
crearcrear
una una
representaun
unregistro,
registro,mientras
mientrasque
quecada
cada
columna
representa
campos
de los
registros.
Puede
tabla en
que
nono
est
asociada
a ninguna
base
de datos.
Si coloca
la tabla
en en
en una
unabase
basede
dedatos
datosoouna
unatabla
tablalibre
libre
que
est
asociada
a ninguna
base
de datos.
Si coloca
la tabla
una base
largos
dede
campo
y de
tabla
para
las las
tablas
de la
de datos.
Tambin
basede
dedatos,
datos,puede
puedecrear
crearnombres
nombres
largos
campo
y de
tabla
para
tablas
debase
la base
de datos.
Tambin
puede
diccionario
dede
datos
para
tablas
de base
de datos,
valores
de campo
puede aprovecharse
aprovecharsede
delas
lascapacidades
capacidadesdel
del
diccionario
datos
para
tablas
de base
de datos,
valores
de campo
predeterminados
y ay nivel
dede
registro,
asas
como
tambin
de los
predeterminadosyyreglas
reglasaanivel
niveldedecampo
campo
a nivel
registro,
como
tambin
de desencadenadores.
los desencadenadores.
Disear
Disear tablas
tablasde
debase
basede
dedatos
datosootablas
tablaslibres
libres
Las tablas
existir
enen
dosdos
estados:
como
tabla
de base
de datos
(una(una
tablas de
deVisual
VisualFoxPro,
FoxPro,ooarchivos
archivos.dbf,
.dbf,pueden
pueden
existir
estados:
como
tabla
de base
de datos
tabla asociada
tabla
libre
nono
asociada
a ninguna
basebase
de datos.
Las tablas
asociada aauna
unabase
basede
dedatos)
datos)o ocomo
comouna
una
tabla
libre
asociada
a ninguna
de datos.
Las tablas
asociadas
ventajas
sobre
las las
tablas
libres.
Cuando
unauna
tablatabla
forma
asociadas aa una
unabase
basede
dedatos
datoscuentan
cuentancon
conciertas
ciertas
ventajas
sobre
tablas
libres.
Cuando
forma
parte de
de una
unabase
basede
dedatos,
datos,esesposible
posiblecrear:
crear:

Nombres largos para la tabla y para cada uno de sus campos.

Ttulos y observaciones para cada campo de la tabla.

Valores predeterminados, mscaras de entrada y formato para los campos de la tabla.

Clase de control predeterminada para campos de tablas.

Reglas a nivel de campo y reglas a nivel de registro.

ndices de clave primaria y relaciones de tablas para compatibilidad con reglas de integridad
referencial.

Un desencadenante para cada evento INSERT, UPDATE o DELETE.

Recuerde los siguientes puntos cuando disee una tabla:

El tipo de datos de un campo debe coincidir con el tipo de informacin que va a almacenar en l.

Haga el campo lo suficientemente ancho para dar cabida a la informacin que mostrar.

Establezca un nmero apropiado de posiciones decimales para los campos de tipo Numrico o
Float.

Active "NULL" si desea que el campo acepte .NULL. como valor.

Ejemplo:
Las hojas de vida de mis estudiantes forman una tabla (Archivo).
Tipos de datos y campos
Todos los datos de Visual FoxPro tienen un tipo, como una descripcin de los valores permitidos, y el intervalo
y tamao de los valores. Una vez especificado el tipo de datos que est usando, Visual FoxPro puede almacenar
y manipular los datos de forma eficaz.
Cuando se crea una tabla, se puede especificar el tipo de datos que se almacena en cada campo de la tabla. Es
posible especificar ms tipos de datos para campos en una tabla que para variables y matrices, las cuales slo
pueden almacenar un subconjunto de los tipos de datos disponibles en Visual FoxPro; sin embargo, el valor que
se almacene en una variable o elemento de matriz determina el tipo de dato almacenado.
Sugerencia: Se puede usar la funcin TYPE() para determinar el tipo de dato almacenado en una variable,
elemento de matriz o campo.
La siguiente tabla muestra los tipos de datos en Visual FoxPro.
Tipos de datos de Visual FoxPro

Tipo de datos

Descripcin

Tamao

1 byte por carcter Cualquier carcter


hasta 254
8 bytes
- $922337203685477.5807 to
$922337203685477.5807

Carcter

Cualquier texto

Monetario
(Currency)

Importes monetarios

Fecha

Dato cronolgico que


8 bytes
consiste de mes, da y ao

DateTime

Dato cronolgico que


8 bytes
consiste de mes, da, ao,
horas, minutos y segundos

Lgico

Valor booleano verdadero


o falso
Nmeros enteros o
decimales

Numrico

Intervalo

Al usar formatos de fecha estrictos, {^0001-01-01}, 1


de enero, 1 d.C. a {^9999-12-31}, 31 de diciembre,
9999 d.C.
Al usar formatos de fecha estrictos, {^0001-01-01}, 1
de enero, 1 d.C. a {^9999-12-31}, 31 de diciembre,
9999 d.C., ms 00:00:00 a.m. a 11:59:59 p.m.

1 byte

Verdadero (.T.) o Falso (.F.)

8 bytes en la
memoria;
1 a 20 bytes en
una tabla

- 0,9999999999E+19 a 0,9999999999E+20

Adems, Visual FoxPro proporciona tipos de datos que se aplican nicamente a campos de tablas.
Tipos de campos de Visual FoxPro
Tipo de datos

Descripcin

Tamao

Character (Binary) Cualquier dato carcter que 1 byte por carcter


no se desea traducir entre hasta 254
pginas de cdigo.
Doble
Nmero de signo flotante 8 bytes
de precisin doble
Igual que Numrico
8 bytes en la
Flotante
memoria;
1 a 20 bytes en
una tabla
General
Referencia a un objeto OLE 4 bytes en una
tabla
Entero
Valor numrico sin
4 bytes
decimales
Integer (Autoinc)

Memo

Memo (Binario)

Lo mismo que Integer


4 bytes
pero tambin incluye un
valor para incremento
automtico. Slo lectura.
Cualquier texto de longitud 4 bytes en una
indeterminada o referencia tabla
a un bloque de datos
Lo mismo que Memo
excepto que los datos no
cambian entre pginas de
cdigo

4 bytes en una
tabla

Intervalo
Algunos caracteres

+/-4,94065645841247E-324 a +/8,9884656743115E307
- 0,9999999999E+19 a 0,9999999999E+20

Limitado por la memoria disponible


-2147483647 a 2147483647
Valor controlado por los valores de autoincremento
Next y Step (Siguiente y paso).
Limitado por la memoria disponible

Limitado por la memoria disponible

Cada tipo de datos tiene sus propias caractersticas, incluido el tamao de almacenamiento.
Creacin de nombres en Visual FoxPro
Los contenedores de datos (campos) y algunos parmetros de comandos y funciones necesitan tener un
nombre. Cuando cree un nombre en Visual FoxPro, aplique las siguientes reglas:

Use slo letras, nmeros y subrayados.

Empiece el nombre con una letra o un subrayado.

Utilice de 1 a 128 caracteres, excepto para nombres de campo de tablas libres y etiquetas de ndice,
que pueden tener un mximo de 10 caracteres.

Evite las palabras reservadas por Visual FoxPro.

Los nombres de archivo se rigen por las convenciones del sistema operativo.
QUIT (Comando)
Termina la sesin actual de Visual FoxPro y devuelve el control al sistema operativo.
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.
Vea tambin
CANCEL | RESUME | RUN | SUSPEND
? | ?? (Comando)
Evala expresiones y muestra los resultados.
? | ?? Expression1 [PICTURE cFormatCodes] | [FUNCTION cFormatCodes] | [VnWidth] [AT nColumn] [FONT cFontName [,
nFontSize] [STYLE cFontStyle | Expression2]] [, Expression3] ...
AT nColumn
Especifica el nmero de la columna en que aparece el resultado. Esta opcin permite alinear el
resultado en columnas para crear una tabla. La expresin numrica nColumn puede ser una funcin
definida por el usuario que devuelva un valor numrico.
FONT cFontName [, nFontSize]
Especifica una fuente para el resultado de ? | ?? cFontName especifica el nombre de la fuente y
nFontSize especifica el tamao en puntos. Por ejemplo, el comando siguiente muestra la fecha del
sistema con la fuente Courier de 16 puntos:
? DATE() FONT Courier,16
Si incluye la clusula FONT pero omite el tamao en puntos nFontSize, se usar una fuente de 10
puntos.

Si omite la clusula FONT y el resultado de ? | ?? se sita en la ventana principal de Visual FoxPro, se


utilizar
el resultado
de la ventana
FoxPro.principal
Si omitede
la clusula
FONT se
Si omitepara
la clusula
FONTlayfuente
el resultado
de ? | ??principal
se sitade
enVisual
la ventana
Visual FoxPro,
yutilizar
el resultado
? | ?? se sita
en unadeventana
definida
por elde
usuario,
se utilizar
para el
la
para de
el resultado
la fuente
la ventana
principal
Visual FoxPro.
Si omite
la resultado
clusula FONT
y el resultado
de ? | ??
senida
sitapor
eneluna
ventana definida por el usuario, se utilizar para el resultado la
fuente
de la ventana
defi
usuario.
fuente de la ventana definida por el usuario.
Si la fuente especificada no est disponible, se sustituir por una fuente de caractersticas
Si la fuente especificada no est disponible, se sustituir por una fuente de caractersticas
similares.
similares.
STYLE cFontStyle
STYLE cFontStyle
Especifica un estilo de fuente para el resultado de ? | ?? . Si omite la clusula STYLE, se utiliza el estilo
Especifi
ca Normal.
un estiloSideelfuente
el resultado
? | ??
omite
la clusula
STYLE, se por
utiliza
el de
estilo
de
fuente
estilo para
de fuente
especifide
cado
no. Si
est
disponible,
se sustituye
otro
de
fuente
Normal.
Si
el
estilo
de
fuente
especifi
cado
no
est
disponible,
se
sustituye
por
otro
de
caractersticas similares.
caractersticas similares.
Nota: Debe incluir la clusula FONT cuando especifique un estilo de fuente mediante la clusula
Nota: Debe incluir la clusula FONT cuando especifique un estilo de fuente mediante la clusula
STYLE.
STYLE.
stos son los estilos de fuente que puede especificar con cFontStyle:
stos son los estilos de fuente que puede especificar con cFontStyle:
Character Estilo de la fuente
Estilo de la fuente
BCharacterNegrita
Negrita
IB
Cursiva
Cursiva
NI
Normal
Normal
ON
Contorno
Contorno
QO
Opaco
Opaco
SQ
Sombra
Sombra
-S
Tachado
Tachado
TTransparente
Transparente
UT
Subrayado
U
Subrayado
Puede incluir ms de un carcter para especificar una combinacin de estilos de fuente. Por ejemplo,
Puede incluir ms de un carcter para especificar una combinacin de estilos de fuente. Por ejemplo,
el comando siguiente muestra la fecha del sistema en Courier negrita y cursiva:
el comando siguiente muestra la fecha del sistema en Courier negrita y cursiva:
? DATE() FONT COURIER STYLE BI
? DATE() FONT COURIER STYLE BI
Observaciones
Observaciones
principal
dede
Visual
FoxPro,
a una
ventana
activa
?? yy ??
?? evalan
evalan expresiones
expresionesyyenvan
envanlos
losresultados
resultadosa alalaventana
ventana
principal
Visual
FoxPro,
a una
ventana
activa
defi
nida
por
el
usuario
o
a
la
impresora.
definida por el usuario o a la impresora.
Si SET
sese
dirigirn
a laa impresora
y aylaaventana
Si
SET PRINTER
PRINTER est
estdefi
definido
nidocomo
comoON,
ON,los
losresultados
resultadosdedelalaexpresin
expresin
dirigirn
la impresora
la ventana
principal
de
Visual
FoxPro
o
a
una
ventana
activa
defi
nida
por
el
usuario.
Si
SET
PRINTER
est
defi
nido
como
ONON
principal de Visual FoxPro o a una ventana activa definida por el usuario. Si SET PRINTER est definido
como
nicamente
a laa impresora.
yy SET
SET CONSOLE
CONSOLEest
estdefi
definido
nidocomo
comoOFF,
OFF,los
losresultados
resultadossesedirigirn
dirigirn
nicamente
la impresora.
Ejemplo
Ejemplo
?? 15*(10+10)
15*(10+10)
?? Welcome
Welcome To
To picture
picture @!
@!
??
?? Visual
Visual FoxPro
FoxPro
?? date()
date() font
font courier,16
courier,16
?? date()
date() font
font courier
courier style
stylebi
bi
?? date(1998,02,16)
date(1998,02,16)
?? nombre
nombre == Juan
Juan Fernando
Fernando
?? nombre
nombre at
at 25
25
?? precio
precio == 123456.30
123456.30
?? precio
precio ** 16
16 // 100
100
Vea tambin
tambin
??? (Comando)
(Comando) ||@
@......SAY
SAY(Comando)
(Comando)| SET
| SETMEMOWIDTH
MEMOWIDTH(Comando)
(Comando)
| SET
PRINTER
(Comando)
| SET
SPACE
(Comando)
| SET
PRINTER
(Comando)
| SET
SPACE
(Comando)
Format (Propiedad)
(Propiedad)| |InputMask
InputMask(Propiedad)
(Propiedad)
| Format

CLEAR (Comandos)
Libera de la memoria el elemento o los elementos especificados.
CLEAR [ALL | CLASS ClassName | CLASSLIB ClassLibraryName | DEBUG | DLLS [cAliasNameList]| EVENTS | FIELDS
| GETS | MACROS | MEMORY | MENUS | POPUPS | PROGRAM | PROMPT | READ [ALL] | RESOURCES [FileName] |
TYPEAHEAD | WINDOWS]
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.
Ejemplo
clear

&& Limpiar Pantalla

Vea tambin
@ ... CLEAR | CLOSE | DECLARE - DLL | READ | READ EVENTS | RELEASE | RELEASE CLASSLIB | RELEASE
WINDOWS
DATE() (Funcin)
Devuelve la fecha actual del sistema, que est controlada por el sistema operativo, o crea un valor Date
compatible con el milenio.
DATE([nYear, nMonth, nDay])
Valores devueltos
Date / Fecha
Parmetros
nYear
Especifica el ao devuelto en el valor Date compatible con el milenio. nYear puede tener un valor
entre 1 y 9999.
nMonth
Especifica el mes devuelto en el valor Date compatible con el milenio. nMonth puede tener un valor
entre 1 y 12.
nDay
Especifica el da devuelto en el valor Date compatible con el milenio. nDay puede ser un valor entre
1 y 31.
Observaciones
DATE() devuelve la actual fecha del sistema si se ejecuta sin argumentos opcionales. Incluya los argumentos
opcionales para devolver un valor de fecha compatible con el ao 2000 en el formato establecido en la ficha
Regional del cuadro de dilogo cuadro de dilogo Opciones. Los parmetros ausentes se sustituyen con el valor
actual del sistema.
Ningn comando o funcin de Microsoft Visual FoxPro puede cambiar directamente la fecha del sistema.
Ejemplo

El ejemplo siguiente muestra la fecha actual del sistema con y sin el siglo, y despus, muestra una fecha
preparada para el milenio.
clear
set century off
? date()
set century on
? date()
? date(1998,02,16)
? date() + 30
? actual = date(1998,02,16)
? date() - actual
Vea tambin
CTOD() | DATETIME() | DTOC() | SET CENTURY | SET DATE | SET MARK TO | SYS() - Introduccin a las funciones
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 ao 2000, 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.
Ejemplo
set century on

&& Ao a 4 Digitos

Vea tambin
DATE() | SET DATASESSION | SET STRICTDATE | SET SYSFORMATS | YEAR()
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
AMERICAN
ANSI
BRITISH/FRENCH

mm/dd/aa
aa.mm.dd
dd/mm/aa

Formato

GERMAN
ITALIAN
JAPAN
TAIWAN
USA
MDY
DMY
AMD
SHORT

dd.mm.aa
dd-mm-aa
aa/mm/dd
aa/mm/dd
mm-dd-aa
mm/dd/aa
dd/mm/aa
aa/mm/dd
El formato de fecha corto determinado en la configuracin
de fecha corta del Panel de Control de Windows.
El formato de fecha larga determinado en la configuracin
de fecha larga del Panel de Control de Windows.

LONG

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.
Ejemplo
set century on
set date to dmy

&& Formato dd/mm/aaaa

Vea tambin
DATE() | DATETIME() | SET CENTURY | SET DATASESSION | SET MARK TO | SET SYSFORMATS
TIME() (Funcin)
Devuelve la hora actual del sistema en formato de 24 horas, en una cadena de 8 caracteres (HH:MM:SS).
TIME([nExpression])
Valores devueltos
Character / Caracter
Parmetros
nExpression
La hora devuelta incluir las centsimas de segundo si se incluye nExpression. La expresin numrica
nExpression puede ser cualquier valor. No obstante, la resolucin mxima real es de aproximadamente
1/18 de segundo. Utilice SECONDS() para obtener mayor resolucin.
Ejemplo
? time() && Imprimir la hora actual
Vea tambin
CTOT() | DATE() | DATETIME() | DTOT() | HOUR() | SEC() | SECONDS() | SET SECONDS | SYS(2) - Segundos desde
medianoche
DATETIME() (Funcin)

Devuelve la fecha y la hora actuales como un valor DateTime o crea un valor DateTime compatible con el
milenio.
DATETIME([nYear, nMonth, nDay [, nHours [, nMinutes [, nSeconds]]]])
Valores devueltos
DateTime / Fecha Hora
Parmetros
nYear
Especifica el ao devuelto en un valor DateTime compatible con el milenio. nYear puede tener un
valor entre 1 y 9999.
nMonth
Especifica el mes devuelto en un valor DateTime compatible con el milenio. nMonth puede tener un
valor entre 1 y 12.
nDay
Especifica el da devuelto en un valor DateTime compatible con el milenio. nDay puede tener un valor
entre 1 y 31.
nHours
Especifica las horas devueltas en un valor DateTime compatible con el milenio. nHours puede tener
un valor entre 0 (medianoche) y 23 (11 p.m.). Toma el valor predeterminado 0 si se omite.
nMinutes
Especifica los minutos devueltos en un valor DateTime compatible con el milenio. nMinutes puede
tener un valor entre 0 y 59. Toma el valor predeterminado 0 si se omite.
nSeconds
Especifica los segundos devueltos en un valor DateTime compatible con el milenio. nSeconds puede
tomar un valor entre 0 y 59. Toma el valor predeterminado 0 si se omite.
Observaciones
DATETIME() devuelve la fecha actual del sistema si se ejecuta sin ningn argumento opcional. Los parmetros
opcionales de fecha ausentes se sustituyen por los valores actuales del sistema. Un parmetro de hora ausente
se sustituye por 12:00:00.
Incluya los argumentos opcionales para devolver un valor DateTime compatible con el ao 2000 en el formato
especificado en la ficha Regional del cuadro de dilogo cuadro de dilogo Opciones.
Ejemplo
En El ejemplo se usa DATETIME() para crear un valor DateTime compatible con el milenio.
clear
set century on
set date to american
? datetime(1998,02,16,12,34,56) && displays 02/16/1998 12:34:56 pm

Vea tambin
CTOT() | DATE() | DTOT() | HOUR() | SEC() | SECONDS() | SET SECONDS | SET SYSFORMATS | TIME() | TTOC() |
TTOD()
TYPE() (Funcin)
Evala una expresin de carcteres y devuelve el tipo de datos de su contenido.
TYPE(cExpression)
Valores devueltos
Carcter
Parmetros
cExpression
Especifica la expresin que se va a evaluar, que puede ser una variable, un campo, un campo de
memoria o cualquier otra expresin. La expresin se debe transferir como una cadena de carcteres;
escriba entre comillas los nombres de las variables de memoria, los campos, etc. Si no escribe la
expresin entre comillas, la funcin TYPE() evaluar el contenido de la cadena. Si no se puede evaluar
el contenido como una expresin vlida de FoxPro, TYPE() devuelve U (expresin no definida).
Observaciones
La tabla siguiente presenta los caracteres que devuelve TYPE() y sus tipos de datos correspondientes:
Tipo de datos
Carcter
Numrico (Tambin Float, Double e Integer)
Currency
Fecha
DateTime
Lgico
Memo
Objeto
General
Screen (creado con SAVE SCREEN)
Tipo de expresin no definido

Carcter devuelto
C
N
Y
D
T
L
M
O
G
S
U

Si pasa un orden como un parmetro a TYPE(), entonces el tipo de datos retomados corresponde al primer
elemento en el orden. Si desea comprobar el tipo de datos por un elemento especfico del orden, entonces
debe especificar ese elemento en el parametro. Por ejemplo:
? TYPE(myarray[3])
Puede utilizar adems la funcin TYPE() para comprobar si una variable de memoria es un orden. Por ejemplo:
? TYPE(myarray[1])#U
Ejemplo
ntest = 1.01
ctest = string
clear
? type((12 * 3) + 4)
? type(date())
? type(.f. or .t.)
? type(answer=42)
? type($19.99)
? type(ntest)

&&
&&
&&
&&
&&
&&

n
d
l
u
y
n

? type(ctest)
Vea tambin
? type(ctest)
EVALUATE() | SAVE SCREEN | VARTYPE()
Vea tambin

&& c
&& c

SET DEFAULT
(Comando)
EVALUATE()
| SAVE
SCREEN | VARTYPE()
Especifi
ca la unidad
o el directorio predeterminados.
SET
DEFAULT
(Comando)
SET DEFAULT TO [cPath]
Especifica la unidad o el directorio predeterminados.
Parmetros
SET DEFAULT TO [cPath]
cPath
Parmetros
cPath

Especifica uno de los elementos siguientes:

ca Un
de unidad.
Especifi
unodesignador
de los elementos
siguientes:

Un
Undesignador
designadorde
deunidad.
unidad con un nombre de directorio.

Un designador de unidad con un nombre de directorio.


Un nombre de un directorio secundario.

Un nombre de un directorio secundario.


Cualquiera de los anteriores, utilizando la notacin abreviada de Microsoft MS-DOS ( \ o ..).

Cualquiera de los anteriores, utilizando la notacin abreviada de Microsoft MS-DOS ( \ o ..).

Observaciones

Observaciones
SET DEFAULT cambia el directorio predeterminado al directorio que usted especifique.
SET DEFAULT cambia el directorio predeterminado al directorio que usted especifique.
Cuando salga de Visual FoxPro, volver a Microsoft Windows. Si sale de Windows, volver a la unidad y al
directorio
desde
queFoxPro,
inici Windows.
Cuando
salga
de los
Visual
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)la+unidad
SYS(2003)
devuelven laSYS(2003)
unidad y eldevuelve
directorio
predeterminados.
Sugerencia:
SYS(5)
devuelve
predeterminada.
el directorio
predeterminado sin
designador de unidad. SYS(5) + SYS(2003) devuelven la unidad y el directorio predeterminados.
Ejemplo
Ejemplo
Set default to z:
Set default to z:
Vea tambin
Vea tambin
CD | CHDIR | MD | MKDIR | RD | RMDIR | SET PATH | SYS(5) - Unidad predeterminada | SYS(2003) - Directorio actual
CD | CHDIR | MD | MKDIR | RD | RMDIR | SET PATH | SYS(5) - Unidad predeterminada | SYS(2003) - Directorio actual
CREATE (Comando)
CREATE (Comando)
Crea una nueva tabla de Visual FoxPro.
Crea una nueva tabla de Visual FoxPro.
CREATE [FileName | ?]
CREATE [FileName | ?]
Parmetros
Parmetros
FileName
FileName
Especifica
caelelnombre
nombrede
delalatabla
tablaque
quedesea
deseacrear.
crear.
Especifi
??

Presentaelelcuadro
cuadrode
dedilogo
dilogoCrear,
Crear,que
quelelepide
pideelel
nombre
para
tabla
que
a crear.
Presenta
nombre
para
la la
tabla
que
se se
va va
a crear.
Observaciones
Observaciones
En Visual
una
tabla,
dicha
tabla
se se
agregar
Visual FoxPro,
FoxPro, sisi hay
hay una
unabase
basede
dedatos
datosabierta
abiertacuando
cuandousted
ustedcrea
crea
una
tabla,
dicha
tabla
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 MS-DOS,
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.
Ejemplo
set default to z:
create alumnos

Vea tambin
ADD TABLE (Comando) | ALTER TABLE - SQL (Comando) | CREATE DATABASE (Comando) | CREATE TABLE - SQL
(Comando) | MODIFY STRUCTURE (Comando)

USE (Comando)
USE (Comando)
Abre una tabla y sus archivos de ndice asociados, o una vista SQL.
Abre[[DatabaseName!]Table
una tabla y sus archivos
de ndice |asociados,
o una| cTableAlias]
vista SQL. [ONLINE] [ADMIN] [AGAIN] [NOREQUERY
USE
| SQLViewName
?] [IN nWorkArea
[nDataSessionNumber]]
[NODATA]
[INDEX
IndexFileList
|
?
[ORDER
[nIndexNumber
| IDXFileName
| [TAG][NOREQUERY
TagName
USE [[DatabaseName!]Table | SQLViewName | ?] [IN nWorkArea | cTableAlias]
[ONLINE]
[ADMIN] [AGAIN]
[OF
CDXFileName] [ASCENDING
| DESCENDING]]]]
[ALIAS
[EXCLUSIVE]
[SHARED] [NOUPDATE]
[nDataSessionNumber]]
[NODATA]
[INDEX IndexFileList
| ? cTableAlias]
[ORDER [nIndexNumber
| IDXFileName
| [TAG] TagName
[CONNSTRING
cConnectionString
[OF CDXFileName]
[ASCENDING| (m.nStatementHandle)
| DESCENDING]]]] ] [ALIAS cTableAlias] [EXCLUSIVE] [SHARED] [NOUPDATE]
[CONNSTRING
cConnectionString
|
(m.nStatementHandle) ]
Parmetros
Parmetros
[DatabaseName!]TableName

[DatabaseName!]TableName
Especifica el nombre de la tabla que se va a abrir. Puesto que los espacios en blanco son importantes
en
los nombres
de archivo
Microsoft
98Puesto
y posteriores,
usar espacios
adicionales
en
Especifi
ca el nombre
de lade
tabla
que seWindows
va a abrir.
que losevite
espacios
en blanco
son importantes
TableName.
Si unde
nombre
dede
tabla
contiene
espacios,98escrbalo
entre comillas
( espacios
o )
en los nombres
archivo
Microsoft
Windows
y posteriores,
evite usar
adicionales en
TableName. Si un nombre de tabla contiene espacios, escrbalo entre comillas ( o )
Para abrir una tabla fuera de la base de datos actual, identifique la tabla con el nombre de la base de
Para abrir
tablade
fuera
de la base(!)de
datos
actual,
identifique
tabladecon
el nombre
de ladebase
datos,
con una
un signo
exclamacin
para
separar
el nombre
de lalabase
datos
del nombre
la de
datos,Sicon
un signo
de exclamacin
para separar
nombre
de la baseVisual
de datos
delslo
nombre
tabla.
no identifi
ca una
tabla con un(!)
nombre
de baseelde
datos, Microsoft
FoxPro
podrde la
tabla.lasSi tablas
no identifi
unade
tabla
conactual.
un nombre
de basededeladatos,
Microsoft
FoxPro
podr
abrir
de lacabase
datos
Si el nombre
base de
datos, elVisual
nombre
de laslo
tabla
las tablas
de la
base deescriba
datos actual.
Si eldenombre
basey de
datos, elde
nombre
la tabla
oabrir
ambos
contienen
espacios,
el nombre
la basede
de ladatos
el nombre
la tablade
entre
o ambos( contienen
espacios, escriba el nombre de la base de datos y el nombre de la tabla entre
comillas
o )
comillas ( o )
?
?
Muestra el cuadro de dilogo Uso, que le permite elegir una tabla para abrirla.
Muestra el cuadro de dilogo Uso, que le permite elegir una tabla para abrirla.

IN nWorkArea
IN nWorkArea
Especifica el rea de trabajo en la que se abre la tabla. Puede cerrar una tabla de un rea de trabajo
Especifica el rea
de trabajo
en lalaque
se abre
Puede
cerrar
tabla de un rea de trabajo
determinada,
ejecutando
USE con
clusula
IN ylaeltabla.
nmero
del rea
de una
trabajo.
determinada, ejecutando USE con la clusula IN y el nmero del rea de trabajo.
La clusula IN admite 0 como rea de trabajo. Al incluir 0, se abrir una tabla en el rea de trabajo
La clusula IN admite 0 como rea de trabajo. Al incluir 0, se abrir una tabla en el rea de trabajo
que tenga el nmero ms bajo. Por ejemplo, si hay tablas abiertas en las reas de trabajo de 1 a 10, el
que tenga el nmero ms bajo. Por ejemplo, si hay tablas abiertas en las reas de trabajo de 1 a 10, el
siguiente comando abrir la tabla customer en el rea de trabajo 11:
siguiente comando abrir la tabla customer en el rea de trabajo 11:
USE customer IN 0
USE customer IN 0
IN
cTableAlias
IN cTableAlias
Especifi
elel
rea
dede
trabajo
dede
unauna
tabla
queque
estest
abierta
actualmente.
El alias
Especifica
caque
quelalatabla
tablaseseabre
abreenen
rea
trabajo
tabla
abierta
actualmente.
El alias
de
la
tabla
abierta
se
especifi
ca
con
cTableAlias.
de la tabla abierta se especifica con cTableAlias.
Si
la la
tabla
sese
abrir
enen
el rea
de de
trabajo
seleccionada
actualmente.
Siomite
omitenWorkArea
nWorkAreay ycTableAlias,
cTableAlias,
tabla
abrir
el rea
trabajo
seleccionada
actualmente.
AGAIN
AGAIN
enen
varias
reas
de de
trabajo,
puede
realizar
alguna
de las
Para
formasimultnea
simultnea
varias
reas
trabajo,
puede
realizar
alguna
de las
Para abrir
abriruna
unatabla
tabladedeforma
acciones
accionessiguientes:
siguientes:

Seleccionar
y ejecutar
USEUSE
concon
el nombre
de la
y la yclusula
Seleccionarotra
otrarea
readedetrabajo
trabajo
y ejecutar
el nombre
detabla
la tabla
la clusula
AGAIN.
AGAIN.

Ejecutar
dede
la la
tabla
y lay clusula
AGAIN,
y especifi
car un
de trabajo
EjecutarUSE
USEcon
conelelnombre
nombre
tabla
la clusula
AGAIN,
y especifi
carrea
un rea
de trabajo
distinta
IN.IN.
distintacon
conlalaclusula
clusula

Cuandovuelva
vuelvaaaabrir
abriruna
unatabla
tablaenen
otra
rea
trabajo,
la tabla
la nueva
de trabajo
tomar
Cuando
otra
rea
dede
trabajo,
la tabla
de de
la nueva
rearea
de trabajo
tomar
losatributos
atributosde
delalatabla
tabladel
delrea
rea
trabajo
original.
ejemplo,
la tabla
se abre
acceso
de slo
los
dede
trabajo
original.
PorPor
ejemplo,
si lasitabla
se abre
parapara
acceso
de slo
lecturaooexclusivo,
exclusivo,y ysesevuelve
vuelvea abrir
a abrir
otra
rea
trabajo,
la tabla
se abrir
el mismo
lectura
enen
otra
rea
dede
trabajo,
la tabla
se abrir
concon
el mismo
tipo tipo
de de

acceso en la nueva rea de trabajo.


Los archivos de ndice abiertos para la tabla original estarn disponibles para la tabla que vuelva a
abrir si no abre ningn ndice al abrir de nuevo la tabla. El orden de ndice se establecer en 0 en las
reas de trabajo donde vuelva a abrir la tabla.
Puede abrir ndices que no estuvieran abiertos en la tabla original. El orden de ndice se establece en
0 para la tabla original.
A una tabla abierta de nuevo se le asigna el alias predeterminado del rea de trabajo. Puede incluir un
alias cada vez que abra una tabla en varias reas de trabajo, siempre y cuando los alias sean nicos.
En Visual FoxPro para Windows, al volver a abrir una tabla en otra rea de trabajo no se consume
ningn controlador de archivo adicional.
NOREQUERY [nDataSessionNumber]
Especifica que los datos de una vista SQL remota no se vuelvan a descargar. NOREQUERY solamente
est disponible para vistas SQL y se suele utilizar cuando se vuelve a abrir una vista SQL, incluyendo la
clusula AGAIN. Al incluir la clusula NOREQUERY se mejora el rendimiento de grandes conjuntos de
datos porque no es necesario volver a descargar los datos.
nDataSessionNumber puede incluirse para especificar que los datos para una vista SQL remota de
una sesin de datos determinada no se descarguen de nuevo. Si se omite nDataSessionNumber, los
datos no se descargarn para la vista abierta en la sesin de datos actual.
Para obtener informacin adicional acerca de la clusula NOREQUERY, vea Crear vistas.
NODATA
Especifica que slo se descargue la estructura de una vista SQL. Los datos de la vista SQL no se
descargan. NODATA es el mtodo ms rpido de determinar la estructura de una vista SQL.
Para obtener ms informacin acerca de la clusula NODATA, vea Crear vistas.
INDEX IndexFileList
Especifica un conjunto de ndices que se deben abrir junto con la tabla. Si una tabla tiene un archivo
de ndice compuesto estructural, el archivo de ndice se abrir automticamente con la tabla.
IndexFileList puede contener cualquier combinacin de nombres de archivos de ndice .idx de una
sola entrada y .cdx de entrada compuesta. No necesita incluir las extensiones de los nombres de los
archivos de ndice, a no ser que haya archivos .idx y .cdx con el mismo nombre en la lista de archivos.
El archivo de ndice cuyo nombre aparezca el primero en la lista de archivos de ndice ser el archivo
de ndice de control, y controlar cmo se tiene acceso y se muestran los registros de la tabla. Si el
primer archivo de ndice es un archivo de ndice compuesto .cdx, se mostrarn los registros de la tabla
y se tendr acceso a ellos en el orden fsico de los registros.
INDEX ?
Muestra el cuadro de dilogo Abrir con una lista de archivos de ndice disponibles entre los que puede
elegir.
ORDER [nIndexNumber]
Especifica una etiqueta de archivo de ndice .cdx compuesto o un archivo .idx de ndice de una sola
entrada de control principal distinto del primer archivo de ndice o de la primera etiqueta de ndice
especificados en IndexFileList.

Los archivos de ndice .idx se numeran primero en el orden en que aparecen en la lista de archivos de
ndice.
Las etiquetas
de los
archivos primero
de ndiceencompuesto
(si en
existe
alguno)
se numeran
Los
archivos
de ndice .idx
se numeran
el orden enestructural
que aparecen
la lista
de archivos
de
entonces
el ordende
enlos
que
se crearon
las etiquetas.
Por ltimo,
las etiquetas
de todosselos
archivos de
ndice.
Lasen
etiquetas
archivos
de ndice
compuesto
estructural
(si existe alguno)
numeran
entonces
en el ordenindependientes
en que se crearon
etiquetas.
ltimo,
etiquetas
de todos
los archivos
de
ndice compuesto
se las
numeran
en Por
el orden
enlas
que
se crearon.
Tambin
puede utilizar
ndice
compuesto
independientes
se numeran
en oellaorden
en que
crearon.
puede
utilizar
SET ORDER
para especifi
car el archivo
de ndice
etiqueta
de se
control.
VeaTambin
SET ORDER
para
obtener
SET
para especifi
de ndice
o la etiqueta
de control.
SET ORDER para obtener
msORDER
informacin
acercacar
deellaarchivo
numeracin
de archivos
y etiquetas
de Vea
ndice.
ms informacin acerca de la numeracin de archivos y etiquetas de ndice.
Si nIndexNumber es 0, los registros de la tabla se mostrarn y se tendr acceso a ellos en el orden
Si
nIndexNumber
es 0, ylos
depermanecern
la tabla se mostrarn
y se
acceso
a ellos 0enpermitir
el orden que
fsico
de los registros,
losregistros
registros
abiertos.
La tendr
inclusin
de ORDER
fsico
registros,
los registros
permanecern
delos
ORDER
0 permitir
que por
todosde
loslos
archivos
deyndice
abiertos
se actualicenabiertos.
mientrasLaseinclusin
presentan
registros
ordenados
todos
los archivos
de ndice
abiertos
actualicen
mientrasesseidntico
presentan
los registros
por
el nmero
de registro.
Incluir
ORDERsesin
nIndexNumber
a incluir
ORDERordenados
0.
el nmero de registro. Incluir ORDER sin nIndexNumber es idntico a incluir ORDER 0.
ORDER [IDXFileName]
ORDER [IDXFileName]
Especifica un archivo de ndice .idx de una sola entrada como archivo de ndice de control principal.
Especifica un archivo de ndice .idx de una sola entrada como archivo de ndice de control principal.
ORDER [TAG TagName] [OF CDXFileName]
ORDER [TAG TagName] [OF CDXFileName]
Especifica una etiqueta de control principal en un archivo de ndice .cdx compuesto. El nombre
Especifica una etiqueta de control principal en un archivo de ndice .cdx compuesto. El nombre
de la etiqueta puede ser de un archivo de ndice compuesto estructural o de cualquier archivo de
de la etiqueta puede ser de un archivo de ndice compuesto estructural o de cualquier archivo de
ndice compuesto que est abierto. Si existen nombres de etiqueta idnticos en los archivos de
ndice compuesto que est abierto. Si existen nombres de etiqueta idnticos en los archivos de
ndice compuesto abiertos, incluya OF CDXFileName y especifique el nombre del archivo de ndice
ndice compuesto abiertos, incluya OF CDXFileName y especifique el nombre del archivo de ndice
compuesto que contiene la etiqueta deseada.
compuesto que contiene la etiqueta deseada.
ASCENDING
ASCENDING
Especifica
caque
quesesetiene
tieneacceso
accesoy ysese
muestran
registros
la tabla
en orden
ascendente.
Especifi
muestran
loslos
registros
de de
la tabla
en orden
ascendente.
DESCENDING
DESCENDING
Especifica
caque
quesesetiene
tieneacceso
accesoy ysese
muestran
registros
la tabla
en orden
descendente.
Especifi
muestran
loslos
registros
de de
la tabla
en orden
descendente.
La inclusin
inclusinde
deASCENDING
ASCENDINGo oDESCENDING
DESCENDING
cambia
el archivo
la etiqueta
de ndice:
solamente
La
nono
cambia
el archivo
o laoetiqueta
de ndice:
solamente
alteraelelorden
ordenen
enque
quesesemuestran
muestran
y se
tiene
acceso
a los
registros.
altera
y se
tiene
acceso
a los
registros.
cTableAlias
ALIAS cTableAlias
Creaun
unalias
aliaspara
paralalatabla.
tabla.Puede
Puede
hacer
referencia
a una
tabla
su alias
en comandos
los comandos
y funciones
Crea
hacer
referencia
a una
tabla
porpor
su alias
en los
y funciones
querequieren
requierenooadmiten
admitenun
unalias.
alias.
que
Cuando
automticamente
unun
alias,
queque
es el
de ladetabla
si nosiseno se
Cuandose
seabre
abreuna
unatabla,
tabla,seseleleasigna
asigna
automticamente
alias,
esnombre
el nombre
la tabla
incluye
nuevo
o distinto
para
la tabla
si incluye
ALIAS.
En Visual
FoxPro,
un un
incluyeALIAS.
ALIAS.Puede
Puedecrear
crearununalias
alias
nuevo
o distinto
para
la tabla
si incluye
ALIAS.
En Visual
FoxPro,
alias
dgitos
o signos
dede
subrayado,
y debe
comenzar
por por
una una
letraletra
o o
aliaspuede
puedecontener
contenerhasta
hasta254
254letras,
letras,
dgitos
o signos
subrayado,
y debe
comenzar
un
versiones
dede
FoxPro,
loslos
alias
pueden
contener
como
mximo
10 10
unsigno
signode
desubrayado.
subrayado.EnEnlas
lasdems
dems
versiones
FoxPro,
alias
pueden
contener
como
mximo
letras,
y deben
comenzar
porpor
unauna
letra
o un
de subrayado.
letras,dgitos
dgitosoosignos
signosde
desubrayado,
subrayado,
y deben
comenzar
letra
o signo
un signo
de subrayado.
Se
predeterminado
cuando
abre
unauna
solasola
tabla
de forma
simultnea
Seasigna
asignaautomticamente
automticamenteununalias
alias
predeterminado
cuando
abre
tabla
de forma
simultnea
en cada
rearea
de de
en
sese
especifi
ca ca
unun
alias
al abrir
la tabla
en cada
en varias
variasreas
reasde
detrabajo
trabajocon
conAGAIN
AGAINy no
y no
especifi
alias
al abrir
la tabla
trabajo.
trabajo.
EXCLUSIVE
EXCLUSIVE
Abre
una
red.
Para
obtener
ms
informacin
acerca
del del
uso uso
exclusivo
de de
Abrelalatabla
tablapara
parauso
usoexclusivo
exclusivoenen
una
red.
Para
obtener
ms
informacin
acerca
exclusivo
tablas,
vea
SET
EXCLUSIVE.
tablas, vea SET EXCLUSIVE.
SHARED
SHARED

Abre una tabla para uso compartido en una red. SHARED permite abrir una tabla para uso compartido,
incluso cuando EXCLUSIVE est establecido en ON.
NOUPDATE
Impide realizar cambios en la tabla y en su estructura.
Observaciones
Si se ejecuta USE sin un nombre de tabla y est abierto un archivo de tabla en el rea de trabajo actual, la tabla
se cerrar. Tambin se cerrar la tabla cuando se abra otra tabla en la misma rea de trabajo. No puede tener
abierta ms de una tabla a la vez en una misma rea de trabajo.
Ejemplo
use
use alumnos
use z:\alumnos
Vea tambin
CREATE | CREATE SQL VIEW | CREATE TABLE - SQL | CREATEOFFLINE() | DBF() | INDEX | USED() | Crear vistas | SET
EXCLUSIVE
APPEND (Comando)
Agrega uno o ms registros nuevos al final de una tabla.
APPEND [BLANK] [IN nWorkArea | cTableAlias] [NOMENU]
Parmetros
BLANK
Agrega un registro en blanco al final de la tabla activa. Visual FoxPro no abre ninguna ventana de
edicin cuando usted ejecuta APPEND BLANK.
Es posible modificar los nuevos registros con BROWSE, CHANGE o EDIT.
IN nWorkArea
Especifica el rea de trabajo de la tabla a la que se agrega el nuevo registro.
IN cTableAlias
Especifica el alias de la tabla a la que se agrega el nuevo registro.
Si omite nWorkArea y cTableAlias, se agregar un nuevo registro a la tabla en el rea de trabajo
seleccionada actualmente. Si ejecuta APPEND, se agregar un registro en blanco a la tabla especificada
mediante nWorkArea o cTableAlias, y la tabla se seleccionar automticamente. Si ejecuta APPEND
BLANK, se agregar un registro en blanco a la tabla especificada con nWorkArea o cTableAlias, y la
tabla no se seleccionar.
NOMENU
Especifica que se eliminar el ttulo de men Tabla de la barra de mens del sistema, lo que impide
efectuar cambios en el formato de la ventana de edicin.
Observaciones
El cuadro de dilogo Abrir aparece cuando ejecuta APPEND o APPEND BLANK y no hay una tabla abierta en el

rea de trabajo activa. Elija una tabla para agregar registros.


APPEND abre una ventana de edicin para que pueda escribir datos en uno o varios registros nuevos. Cuando
agregue un nuevo registro, Visual FoxPro actualizar cualquier ndice que haya abierto.
Ejemplo
append blank
append

&& Adiciona un registro en blanco


&& Adiciona un registro y lo edita en blanco

Vea tambin
APPEND FROM ARRAY | BROWSE | CHANGE | EDIT | INSERT - SQL | REPLACE
BOF() (Funcin)
Determina si el puntero de registro est situado al principio de una tabla.
BOF([nWorkArea | cTableAlias])
Valores devueltos
Lgico
Parmetros
nWorkArea
Especifica el nmero del rea de trabajo para una tabla abierta en otra rea de trabajo.
cTableAlias
Especifica el alias para una tabla abierta en otra rea de trabajo.

Si la tabla cuya condicin de principio de archivo desea probar est abierta en un rea de trabajo
distinta de la seleccionada actualmente, utilice estos argumentos opcionales para especificar el
nmero del rea de trabajo o el alias para la tabla. Si no hay ninguna tabla abierta en el rea de trabajo
especificada, BOF() devolver Falso (.F.).
Observaciones
Utilice BOF() para probar la condicin de principio de archivo de una tabla. BOF() devuelve Verdadero (.T.) si ha
intentado mover el puntero de registro a una posicin anterior al primer registro de la tabla.
Vea tambin
EOF() | FEOF() (Funcin) | _FEOF() (Rutina de biblioteca API)
EOF() (Funcin)
Determina si el puntero de registro est situado o no ms all del ltimo registro de la tabla actual o
especificada.
EOF([nWorkArea | cTableAlias])
Valores devueltos
Logical
Parmetros
nWorkArea
Especifica el nmero de rea de trabajo de la tabla.
cTableAlias
Especifica el alias de la tabla.
EOF() devuelve falso (.F.) si no est abierta una tabla en un rea de trabajo que especifique.
Si no especifica un alias de rea de trabajo, se probar la condicin de final de archivo en la tabla
abierta en el rea de trabajo seleccionada.
Observaciones
EOF() devuelve verdadero (.T.) si el puntero de registro alcanza el final del archivo de tabla (EOF). El final de la
tabla se alcanza cuando el puntero del registro transfiere el ltimo registro de la tabla. Por ejemplo, cuando se
ejecuta FIND, LOCATE o SEEK sin xito, Visual FoxPro mueve el puntero de registro hasta despus del ltimo
registro, y EOF() devuelve verdadero (.T.). EOF() devuelve falso (.F.) si el puntero del registro no est al final de
la tabla.
Vea tambin
BOF() | GO | GOTO | SKIP

Si la tabla cuya condicin de principio de archivo desea probar est abierta en un rea de trabajo
distinta
de cuya
la seleccionada
utilice
estosdesea
argumentos
especifi
Si la tabla
condicin actualmente,
de principio de
archivo
probar opcionales
est abiertapara
en un
reacar
de el
trabajo
nmero
de trabajo o el actualmente,
alias para la tabla.
Si noestos
hay ninguna
tabla abierta
en el rea
trabajo car el
distintadel
derea
la seleccionada
utilice
argumentos
opcionales
paradeespecifi
especifi
cada,
BOF()de
devolver
(.F.).para la tabla. Si no hay ninguna tabla abierta en el rea de trabajo
nmero
del rea
trabajo oFalso
el alias
especificada, BOF() devolver Falso (.F.).

Observaciones

Observaciones

Utilice BOF() para probar la condicin de principio de archivo de una tabla. BOF() devuelve Verdadero (.T.) si ha
Utilice BOF()
paraelprobar
condicin
principio
archivo
una registro
tabla. BOF()
Verdadero (.T.) si ha
intentado
mover
punterolade
registro ade
una
posicinde
anterior
al de
primer
de ladevuelve
tabla.
intentado mover el puntero de registro a una posicin anterior al primer registro de la tabla.

Vea tambin

Vea tambin

EOF() | FEOF() (Funcin) | _FEOF() (Rutina de biblioteca API)

EOF() | FEOF() (Funcin) | _FEOF() (Rutina de biblioteca API)

EOF() (Funcin)

EOF() (Funcin)

Determina
situado
o no
msms
all all
del del
ltimo
registro
de lade
tabla
actualactual
o
Determina sisi elel puntero
punterodederegistro
registroest
est
situado
o no
ltimo
registro
la tabla
o
especifi
cada.
especificada.
EOF([nWorkArea
EOF([nWorkArea| |cTableAlias])
cTableAlias])
Valores
Valoresdevueltos
devueltos
Logical
Logical
Parmetros
Parmetros
nWorkArea
nWorkArea
Especificacaelelnmero
nmerodede
rea
trabajo
la tabla.
Especifi
rea
dede
trabajo
de de
la tabla.
cTableAlias
cTableAlias
Especifica el alias de la tabla.

Especifica el alias de la tabla.

EOF() devuelve falso (.F.) si no est abierta una tabla en un rea de trabajo que especifique.

EOF() devuelve falso (.F.) si no est abierta una tabla en un rea de trabajo que especifique.

Si no especifica un alias de rea de trabajo, se probar la condicin de final de archivo en la tabla

Siabierta
no especifi
un de
alias
de rea
de trabajo, se probar la condicin de final de archivo en la tabla
en elca
rea
trabajo
seleccionada.
abierta en el rea de trabajo seleccionada.
Observaciones

Observaciones

EOF() devuelve verdadero (.T.) si el puntero de registro alcanza el final del archivo de tabla (EOF). El final de la

EOF()
devuelve
si el puntero
de registro
alcanza
el final registro
del archivo
tabla (EOF).
El final de
la se
tabla se
alcanzaverdadero
cuando el(.T.)
puntero
del registro
transfi
ere el ltimo
de de
la tabla.
Por ejemplo,
cuando
ejecuta
FIND, LOCATE
sin del
xito,
Visualtransfi
FoxPro
punterodede
despus
delseltimo
tabla
se alcanza
cuandooelSEEK
puntero
registro
ere mueve
el ltimoelregistro
la registro
tabla. Porhasta
ejemplo,
cuando
registro,FIND,
y EOF()
devuelve
verdadero
EOF()
devuelve
(.F.) si de
el puntero
del registro
nodel
est
al final de
ejecuta
LOCATE
o SEEK
sin xito, (.T.).
Visual
FoxPro
muevefalso
el puntero
registro hasta
despus
ltimo
la
tabla.
registro, y EOF() devuelve verdadero (.T.). EOF() devuelve falso (.F.) si el puntero del registro no est al final de
la tabla.
Vea tambin

Vea tambin

BOF() | GO | GOTO | SKIP

BOF() | GO | GOTO | SKIP

GO | GOTO (Comando)

GO
| GOTO
(Comando)
Coloca
el puntero
de registro en el nmero de registro especificado de una tabla.
GO [RECORD]
nRecordNumber
[INelnWorkArea
cTableAlias]
Coloca
el puntero
de registro en
nmero de| IN
registro
especificado de una tabla.

GO [RECORD] nRecordNumber [IN nWorkArea | IN cTableAlias]

O bien
GO TOP | BOTTOM [IN nWorkArea | IN cTableAlias]
O bien
GOTO [RECORD] nRecordNumber [IN nWorkArea | IN cTableAlias]
O bien
GOTO TOP | BOTTOM [IN nWorkArea | IN cTableAlias]
Parmetros
RECORD nRecordNumber
Especifica el nmero de registro fsico al que desea mover el puntero de registro. Puede omitir por
completo GO o GOTO y especificar simplemente el nmero de registro. Si especifica solamente el
nmero de registro, podr mover el puntero solamente en el rea de trabajo actual.
IN nWorkArea
Especifica el rea de trabajo de la tabla en la cual se mueve el puntero de registro.
IN cTableAlias
Especifica el alias de la tabla en la cual se mueve el puntero de registro.
TOP
Sita el puntero de registro en el primer registro de la tabla. Si la tabla tiene en uso un ndice
ascendente, el primer registro ser el registro con el valor clave ms bajo. Si el ndice est en orden
descendente, el primer registro ser el registro con el valor clave ms alto.
BOTTOM
Sita el puntero de registro en el ltimo registro de la tabla. Si la tabla tiene activo un ndice ascendente,
el ltimo registro ser aqul con el valor de clave ms elevado. Si el ndice est en orden descendente,
el ltimo registro ser el que tenga el menor valor de clave.
Observaciones
GO y GOTO pueden utilizarse indistintamente. Estos comandos actan sobre la tabla del rea de trabajo actual
a menos que especifique otra rea de trabajo con la clusula IN.
Ejemplo
go top
go bottom
go 5
skip 1
? recno()
skip -2
skip
Vea tambin
RECNO() | SELECT | SKIP
SKIP (Comando)

Mueve el puntero de registro hacia adelante o hacia atrs en una tabla.


SKIP [nRecords] [IN nWorkArea | cTableAlias]
Parmetros
nRecords
Especifica el nmero de registros que hay que mover el puntero.
Si ejecuta SKIP sin nRecords, el puntero avanzar al siguiente registro. El puntero de registro se mueve
hacia el final del archivo nRecords si nRecords tiene un valor positivo. El puntero de registro se mover
hacia el principio del archivo nRecords si nRecords tiene un valor negativo.
Si el puntero de registro est colocado en el ltimo registro de una tabla y se ejecuta SKIP sin
argumentos, RECNO() devolver un valor superior en uno al nmero de registros de la tabla y EOF()
devolver verdadero (.T.). Si el puntero de registro est colocado en el primer registro de una tabla y
se ejecuta SKIP -1, RECNO() devolver 1 y BOF() devolver (.T.).
IN nWorkArea | cTableAlias
Mueve el puntero de registro en una tabla de un rea de trabajo especfica. nWorkArea especifica el
nmero del rea de trabajo y cTableAlias especifica el alias de una tabla o de un rea de trabajo.
Observaciones
Si la tabla tiene una etiqueta de ndice de control principal o un archivo de ndice, SKIP mueve el puntero de
registro al registro determinado por la secuencia de ndice.
Ejemplo
clear
skip 4
? recno()
go bottom
skip -5
? recno()
Vea tambin
GO | GOTO | SET SKIP | CLEAR (Comandos)
RECNO() (Funcin)
Devuelve el nmero del registro actual de la tabla actual o la especificada.
RECNO([nWorkArea | cTableAlias])
Valores devueltos
Numrico
Parmetros
nWorkArea
Especifica el nmero del rea de trabajo para una tabla abierta en otra rea de trabajo. Si no est
abierta ninguna tabla en el rea de trabajo que especifica, RECNO() devolver cero.
cTableAlias

Especifica el alias para una tabla abierta en otra rea de trabajo.


Observaciones
El registro actual es el registro en el cual se encuentra el puntero de registro.
RECNO() devuelve nmeros negativos para registros anexados en un bfer de tablas.
RECNO() devuelve un valor que es el nmero de registros de la tabla ms uno si el puntero de registro se
encuentra mas all del ltimo registro de la misma. RECNO() devuelve 1 si el puntero de registro se encuentra
antes del primer registro de la tabla. Si la tabla no tiene registros, EOF() siempre devolver verdadero (.T.).
Ejecutar RECNO() sin los argumentos opcionales nWorkArea o cTableAlias devuelve el nmero de registro actual
de la tabla situada en el rea de trabajo seleccionada actualmente.
Si ha ejecutado SEEK sin xito en una tabla indizada, puede especificar 0 para que nWorkArea utilice la lgica
de bsqueda cercana para devolver el nmero del registro ms similar. RECNO(0) devuelve 0 si no puede
encontrarse ninguna coincidencia. Visual FoxPro generar un mensaje de error si ejecuta GO RECNO(0) y no se
encuentra ninguna coincidencia.
Ejemplo
use alumnos
skip 4
? recno()
Vea tambin
GO|GOTO | RECCOUNT() | RECSIZE() | SEEK | SKIP
RECCOUNT() (Funcin)
Devuelve el nmero de registros de la tabla actual o especificada.
RECCOUNT([nWorkArea | cTableAlias])
Valores devueltos
Numrico
Parmetros
nWorkArea
Especifica el nmero del rea de trabajo para una tabla abierta en otra rea de trabajo.
Si no hay ninguna tabla abierta en el rea de trabajo especificada, RECCOUNT() devolver cero.
cTableAlias
Especifica el alias para una tabla abierta en otra rea de trabajo.
Observaciones
El valor devuelto por RECCOUNT() no se ve afectado por SET DELETED y SET FILTER.
RECCOUNT() sin los argumentos opcionales nWorkArea o cTableAlias devuelve el nmero de registros de la
tabla del rea de trabajo seleccionada actualmente.
Ejemplo

use alumnos
alumnos
use
reccount()
?? reccount()
use
use
tambin
Vea tambin
RECNO() || RECSIZE()
RECSIZE()| |SET
SETDELETED
DELETED| SET
| SET
FILTER
RECNO()
FILTER
LOCATE (Comando)
(Comando)
LOCATE
Busca secuencialmente
secuencialmenteen
enlalatabla
tablaelelprimer
primer
registro
que
coincida
la expresin
lgica
especifi
Busca
registro
que
coincida
concon
la expresin
lgica
especifi
cada.cada.
LOCATE [FOR
[FORlExpression1]
lExpression1] [Scope]
[Scope] [WHILE]
[WHILE][NOOPTIMIZE]
[NOOPTIMIZE]
LOCATE
Parmetros
Parmetros
lExpression1
FOR lExpression1
LOCATEbusca
buscasecuencialmente
secuencialmenteenen
tabla
actual
el primer
registro
coincida
la expresin
LOCATE
la la
tabla
actual
el primer
registro
queque
coincida
con con
la expresin
lgicalExpression1.
lExpression1.
lgica
Rushmore optimizar
optimizaruna
unaconsulta
consultacreada
creada
LOCATE
si lExpression1
es una
expresin
Rushmore
concon
LOCATE
FORFOR
si lExpression1
es una
expresin
optimizable.Para
Paraobtener
obtenerelelmximo
mximo
rendimiento,
utilice
expresin
optimizable
la clusula
optimizable.
rendimiento,
utilice
unauna
expresin
optimizable
en laen
clusula
FOR.
FOR.
Sidesea
deseaobtener
obtenerms
msinformacin,
informacin,
vea
SET
OPTIMIZE
y Utilizar
optimizacin
de consultas
Rushmore
Si
vea
SET
OPTIMIZE
y Utilizar
optimizacin
de consultas
Rushmore
paraacelerar
acelerarelelacceso
accesodededatos.
datos.
para
Scope
Scope
Especifica
caelelintervalo
intervalodedeobjetos
objetosque
que
buscar.
Solamente
se buscarn
los registros
incluidos
Especifi
sese
buscar.
Solamente
se buscarn
los registros
incluidos
en en
elintervalo.
intervalo.Las
Lasclusulas
clusulasdedealcance
alcance
son:
ALL,
NEXT
nRecords,
RECORD
nRecordNumber
y REST.
el
son:
ALL,
NEXT
nRecords,
RECORD
nRecordNumber
y REST.
Los Los
comandosque
queincluyen
incluyenScope
Scope
slo
actan
sobre
la tabla
de trabajo
activa.
comandos
slo
actan
sobre
la tabla
deldel
rearea
de trabajo
activa.
Elalcance
alcancepredeterminado
predeterminadodede
LOCATE
ALL
(todos
registros).
El
LOCATE
eses
ALL
(todos
loslos
registros).
WHILE lExpression2
lExpression2
WHILE
Especifica
cauna
unacondicin
condicinpor
porla lacual
cual
buscan
registros
siempre
y cuando
la expresin
lgica
Especifi
sese
buscan
loslos
registros
siempre
y cuando
la expresin
lgica
lExpression2d
dcomo
comoresultado
resultado
verdadero
(.T.).
lExpression2
verdadero
(.T.).
NOOPTIMIZE
NOOPTIMIZE
Desactivalalaoptimizacin
optimizacinRushmore
Rushmore
LOCATE.
Desactiva
dede
LOCATE.
Sidesea
deseaobtener
obtenerms
msinformacin,
informacin,
vea
SET
OPTIMIZE
y Utilizar
optimizacin
de consultas
Rushmore
Si
vea
SET
OPTIMIZE
y Utilizar
optimizacin
de consultas
Rushmore
paraacelerar
acelerarelelacceso
accesodededatos.
datos.
para
Observaciones
Observaciones
es necesario
necesarioque
quelalatabla
tablaest
estindizada.
indizada.
No es
utiliza el
el comando
comandoLOCATE
LOCATEsin
sinlalaexpresin
expresin
FOR,
Visual
FoxPro
coloca
el puntero
registro
el primer
Si utiliza
FOR,
Visual
FoxPro
coloca
el puntero
del del
registro
en elen
primer
registro
GOGO
TOP
cuando
se se
utiliza
un un
filtrofiltro
o cuando
DELETED
est est
registro lgico.
lgico. Esto
Estoesesms
msrpido
rpidoque
queutilizar
utilizar
TOP
cuando
utiliza
o cuando
DELETED
establecido
establecidoaaON.
ON.
Si LOCATE
utilizar
RECNO()
parapara
devolver
el nmero
del registro
LOCATE encuentra
encuentraun
unregistro
registrocoincidente,
coincidente,podr
podr
utilizar
RECNO()
devolver
el nmero
del registro
coincidente.
coincidente,
FOUND()
devolver
verdadero
(.T.) (.T.)
y EOF()
devolver
falsofalso
coincidente.SiSise
seencuentra
encuentraun
unregistro
registro
coincidente,
FOUND()
devolver
verdadero
y EOF()
devolver
(.F.). Si
sese
mostrar
el nmero
deldel
registro
coincidente.
Si SET
SETTALK
TALKest
estestablecido
establecidoenenON,
ON,
mostrar
el nmero
registro
coincidente.
buscar
registros
Despus
coincidente,
puede
ejecutar
CONTINUE
parapara
buscar
registros
Despus de
de que
queLOCATE
LOCATEencuentre
encuentreununregistro
registro
coincidente,
puede
ejecutar
CONTINUE

coincidentes adicionales en el resto de la tabla. Cuando se ejecuta CONTINUE, se reanuda el proceso de


bsqueda a partir del registro que sigue inmediatamente al registro coincidente. Puede ejecutar CONTINUE
repetidamente hasta llegar al nal del alcance o de la tabla.
Si no se encuentra ninguna coincidencia, RECNO() devolver el nmero de registros de la tabla ms uno,
FOUND() devolver falso (.F.) y EOF() devolver verdadero (.T.).
LOCATE y CONTINUE son especcos del rea de trabajo actual. Si se selecciona otra rea de trabajo, el proceso
de bsqueda original podr continuarse cuando se vuelva a seleccionar el rea de trabajo original.
Ejemplo
En el ejemplo siguiente se encuentran los registros correspondientes al alumno Amparo. A continuacin se
muestra el nmero total.
use alumnos
set talk o
store 0 to contador
&& contador = 0
locate for Amparo $ nombre
do while found()
contador = contador + 1
? nombre
continue
enddo
? Total alumnos que contienen Amparo en el nombre + alltrim(str(contador))
Vea tambin
CONTINUE | EOF() | FIND | FOUND() | INDEXSEEK() | RECNO() | SEEK | SEEK() | SET OPTIMIZE
CONTINUE (Comando)
Contina el comando LOCATE previo.
CONTINUE
Observaciones
CONTINUE se utiliza despus de que LOCATE tenga xito al encontrar un registro, para continuar la operacin
de bsqueda. CONTINUE desplaza el puntero de registro al siguiente registro para el que la expresin lgica
especicada en el comando LOCATE previo d como resultado verdadero (.T.).
CONTINUE puede repetirse hasta que se encuentre el nal del archivo o hasta que se llegue al nal del alcance
especicado en LOCATE.
Si CONTINUE tiene xito al encontrar un registro, RECNO() devolver el nmero del registro, FOUND() devolver
el valor Verdadero (.T.) y EOF() devolver el valor Falso (.F.).
Si CONTINUE no tiene xito al buscar un registro, RECNO() devolver el nmero de registros de la tabla ms uno,
FOUND() devolver Falso (.F.) y EOF() devolver Verdadero (.T.).
Vea tambin
EOF() | FOUND() | LOCATE | SEEK
$ (Operador)
Devuelve verdadero (.T.) si una expresin de caracteres est contenida dentro de otra expresin de caracteres;

de lo contrario, devuelve falso (.F.).


cSearchFor $ cSearchIn
Valores devueltos
Lgico
Parmetros
cSearchFor
Especifica la expresin buscada en cSearchIn.
cSearchIn
Especifica la expresin en que se busca para comprobar si contiene cSearchFor.
Si en cSearchFor se encuentra cSearchIn, $ devolver verdadero (.T.); de lo contrario, devolver falso
(.F.). cSearchFor y cSearchIn pueden ser variables o elementos de matriz de tipo carcter, campos de
tipo carcter, literales de cadena de caracteres o campos memo de cualquier longitud.
Los campos memo pueden manipularse de la misma forma que las expresiones de caracteres, los
campos de tablas, las variables o los elementos de matriz. Por ejemplo, si MEMO_FLD es un campo
memo, lo siguiente ser aceptable:
LIST FOR FOX $ UPPER(memo_fld)
Observaciones
Si no se encuentra la expresin de caracteres, se devolver falso (.F.). El operador $ distingue maysculas de
minsculas y no es optimizable mediante Rushmore.
Ejemplo
En el ejemplo siguiente se encuentran los registros correspondientes al alumno Amparo. A continuacin se
muestra el nmero total.
use alumnos
set talk off
store 0 to contador
&& contador = 0
locate for Amparo $ nombre
do while found()
contador = contador + 1
? nombre
continue
enddo
? Total alumnos que contienen Amparo en el nombre + alltrim(str(contador))
Vea tambin
% (Operador) | DELETE FILE (Comando) | CREATE TABLE - SQL (Comando) | Utilizar optimizacin de consultas
Rushmore para acelerar el acceso de datos | AT() | Operadores | ATLINE() | RAT() | RATLINE() | OCCURS() | INLIST()
(Funcin)
DO WHILE ... ENDDO (Comando)
Ejecuta un conjunto de comandos dentro de un bucle condicional.
DO WHILE lExpression

Commands
[LOOP] [EXIT] ENDDO
Parmetros
lExpression
Especica una expresin lgica cuyo valor determina si se debe ejecutar el conjunto de comandos
incluido entre DO WHILE y ENDDO. Siempre que lExpression d como resultado verdadero (.T.), el
conjunto de comandos se ejecutar.
Commands
Especica el conjunto de comandos de Visual FoxPro que se ejecutan siempre y cuando lExpression
d como resultado verdadero (.T.).
LOOP
Devuelve el control del programa directamente a DO WHILE. LOOP se puede situar en cualquier lugar
entre DO WHILE y ENDDO.
EXIT
Transere el control del programa desde el interior del bucle DO WHILE hasta el primer comando
situado detrs de ENDDO. EXIT puede situarse en cualquier lugar entre DO WHILE y ENDDO.
Observaciones
Un conjunto de comandos situados entre DO WHILE y ENDDO se ejecuta siempre y cuando el valor de la
expresin lgica lExpression sea verdadero (.T.). Una instruccin DO WHILE debe tener su correspondiente
instruccin ENDDO.
Puede situar observaciones despus de DO WHILE y ENDDO en la misma lnea. Estos observaciones se pasan
por alto durante la compilacin y ejecucin del programa.
Ejemplo
En el ejemplo siguiente se encuentran los registros correspondientes al alumno Amparo. A continuacin se
muestra el nmero total.
use alumnos
set talk o
store 0 to contador
&& contador = 0
locate for Amparo $ nombre
do while found()
contador = contador + 1
? nombre
continue
enddo
? Total alumnos que contienen Amparo en el nombre + alltrim(str(contador))
Vea tambin
DO CASE ... ENDCASE | FOR EACH ... ENDFOR | FOR ... ENDFOR | IF ... ENDIF | IIF() | SCAN ... ENDSCAN
FOUND() (Funcin)
Devuelve verdadero (.T.) si CONTINUE, FIND, INDEXSEEK(), LOCATE o SEEK tienen xito.

FOUND([nWorkArea | cTableAlias])
Valores devueltos
Lgico
Parmetros
nWorkArea
Especica el rea de trabajo de la tabla sobre la cual FOUND() devuelve el valor indicando si ha tenido
xito el ltimo comando CONTINUE, FIND, INDEXSEEK(), LOCATE o SEEK.
FOUND() devuelve falso (.F.) si la tabla no esta abierta en el rea de trabajo especicada.
cTableAlias
Especica el alias de la tabla sobre la cual FOUND() devuelve el valor indicando si ha tenido xito el
ltimo comando CONTINUE, FIND, INDEXSEEK(), LOCATE, o SEEK.
Visual FoxPro genera un mensaje de error si especica un alias de tabla que no existe.
Observaciones
FOUND() devuelve un valor lgico que indica si el comando mas recientemente ejecutado CONTINUE, FIND,
INDEXSEEK(), LOCATE o SEEK ha tenido xito, o si el puntero de registro se ha movido en la tabla relacionada.
FOUND() devuelve verdadero (.T.) si la busqueda se ha realizado con xito; en caso contrario FOUND() devuelve
falso (.F.).
Si se omiten los argumentos opcionales, FOUND() devuelve un valor indicando el xito del ltimo comando
CONTINUE, FIND, INDEXSEEK(), LOCATE o SEEK para la tabla abierta en el rea de trabajo actual.
Sugerencia Esta funcin es til para determinar si una tabla secundaria tiene un registro que coincide con el
registro primario.
Ejemplo
En el ejemplo siguiente se encuentran los registros correspondientes al alumno Amparo. A continuacin se
muestra el nmero total.
use alumnos
set talk o
store 0 to contador
&& contador = 0
locate for Amparo $ nombre
do while found()
contador = contador + 1
? nombre
continue
enddo
? Total alumnos que contienen Amparo en el nombre + alltrim(str(contador))
Vea tambin
CONTINUE | EOF() | FIND | INDEXSEEK() | LOCATE | SEEK
STORE (Comando)
Almacena datos en una variable, en una matriz o en un elemento de matriz.
STORE eExpression TO VarNameList | ArrayNameList-or- VarName | ArrayName = eExpression
Parmetros

eExpression
Especifica una expresin cuyo valor se almacena en la variable, la matriz o el elemento de matriz. Si
no existe la variable, se crea y se inicializa en eExpression. Una matriz debe estar definida previamente
con DIMENSION. STORE sustituye el valor de una variable, matriz o elemento de matriz existente con
el valor nuevo.
VarNameList
Especifica una lista de variables o elementos de matriz en los que se almacena eExpression. Separe los
nombres o elementos de matriz con comas.
ArrayNameList
Especifica una lista de nombres de matrices existentes en las que se almacena eExpression. Separe
con comas el nombre de las matrices.
STORE inicializa cada elemento de las matrices con el valor especificado si SET COMPATIBLE est
establecido en OFF. STORE almacena el valor especificado en variables de memoria con los nombres
especificados si SET COMPATIBLE est establecido en ON y sobrescribe las matrices existentes que
tengan esos nombres.
Observaciones
Una alternativa a STORE es el signo igual (=). La variable, la matriz o el elemento de matriz debe estar a la
izquierda del signo igual, y su valor a la derecha.
Las fechas pueden almacenarse directamente en variables, matrices o elementos de matriz mediante llaves.
store {^1998-12-25} to gdxmas
El nmero mximo de variables o matrices que puede crear se muestra en el tema Capacidades del sistema.
El lmite se puede aumentar o reducir en el archivo de configuracin de Visual FoxPro. Para obtener ms
informacin acerca de la configuracin de Visual FoxPro, vea Personalizar el entorno de Visual FoxPro.
Ejemplo
store date() to gddate
store 50 to gnnumeric
store hello to gccharacter
store .t. to gllogical
store $19.99 to gycurrency
dimension gamyarray(2,2)
set compatible off
store 2 to gamyarray
Vea tambin
DIMENSION | SET COMPATIBLE | Capacidades del sistema | Personalizar el entorno de Visual FoxPro
VAL() (Funcin)
Devuelve un valor numrico a partir de una expresin de caracteres compuesta por nmeros. Puede usar VAL()
para convertir cadenas de caracteres devueltas por las funciones SYS() de Visual FoxPro en valores numricos.
VAL(cExpression)
Parmetros
cExpression

Especifica una expresin de caracteres compuesta por un mximo de 16 nmeros. Si en cExpression


Especifi
ca una
expresin
de caracteres
compuesta por un mximo de 16 nmeros. Si en cExpression
se incluyen
ms
de 16 nmeros,
se redondear.
se incluyen ms de 16 nmeros, se redondear.
Si el primer carcter de cExpression es un signo de dolar ($), VAL() devuelve un valor moneda. En todas
Si
primersituaciones
carcter de cExpression
es un
dolar ($), VAL() devuelve un valor moneda. En todas
laseldems
VAL() devuelve
unsigno
valorde
numrico.
las dems situaciones VAL() devuelve un valor numrico.
Valores devueltos
Valores devueltos
Dato del tipo Numrico o Moneda. VAL() devuelve los nmeros de la expresin de caracteres de izquierda a
Dato
del hasta
tipo Numrico
o Moneda.
VAL() devuelve
los nmeros
depor
la expresin
de caracteres
de izquierda
a
derecha
que encuentra
un carcter
no numrico.
Se pasan
alto los espacios
en blanco
iniciales.VAL()
derecha
hasta
que
encuentra
un
carcter
no
numrico.
Se
pasan
por
alto
los
espacios
en
blanco
iniciales.VAL()
devuelve 0 si el primer carcter de la expresin de caracteres no es un nmero, un signo de dolar ($), un signo
devuelve
si signo
el primer
carcter
ms (+) o 0un
menos
(-). de la expresin de caracteres no es un nmero, un signo de dolar ($), un signo
ms (+) o un signo menos (-).
Ejemplo
Ejemplo

clear
clear
store 12 to a
store
store12
13to
toab
store
13
to
b
? val(a) + val(b)
&& displays 25.00
?store
val(a)1.25e3
+ val(b)to&&
c displays 25.00
store
1.25e3&&
todisplays
c
? 2 * val(c)
2500.00
? 2 * val(c) && displays 2500.00
Vea tambin
Vea tambin
SET DECIMALS | STR() | SYS() - Introduccin a las funciones
SET DECIMALS | STR() | SYS() - Introduccin a las funciones
STR() (Funcin)
STR() (Funcin)
Devuelve el carcter equivalente a una expresin numrica especificada.
Devuelve el carcter equivalente a una expresin numrica especificada.
STR(nExpression [, nLength [, nDecimalPlaces]])
STR(nExpression [, nLength [, nDecimalPlaces]])
Valores devueltos
Valores devueltos
Character
Character
Parmetros
Parmetros
nExpression
nExpression
Especifica la expresin numrica evaluada por STR().
Especifica la expresin numrica evaluada por STR().
nLength
nLength
Especifica la longitud de la cadena de caracteres devuelta por STR(). La longitud incluye un carcter
Especifica la longitud de la cadena de caracteres devuelta por STR(). La longitud incluye un carcter
para la coma decimal y otro por cada dgito a la derecha de la coma decimal.
para la coma decimal y otro por cada dgito a la derecha de la coma decimal.
STR() llena la cadena de caracteres con espacios al principio si especifica una longitud mayor que
STR() llena la cadena de caracteres con espacios al principio si especifica una longitud mayor que
el nmero de dgitos a la izquierda de la coma decimal. STR() devuelve una cadena de asteriscos,
el nmero de dgitos a la izquierda de la coma decimal. STR() devuelve una cadena de asteriscos,
que indica desbordamiento numrico, si especifica una longitud inferior al nmero de dgitos a la
que indica desbordamiento numrico, si especifica una longitud inferior al nmero de dgitos a la
izquierda de la coma decimal.
izquierda de la coma decimal.
Si nExpression es de tipo Numrico o Float, STR() devuelve un valor en notacin cientfica si nLength
Si nExpression es de tipo Numrico o Float, STR() devuelve un valor en notacin cientfica si nLength
es menor que el nmero de dgitos de nExpression. Si nExpression es un entero, STR() devuelve una
es menor que el nmero de dgitos de nExpression. Si nExpression es un entero, STR() devuelve una
cadena de asteriscos, que indica desbordamiento numrico, si nLength es menor que el nmero de
cadena de asteriscos, que indica desbordamiento numrico, si nLength es menor que el nmero de
dgitos de nExpression.
dgitos de nExpression.
Si no se incluye nLength, la longitud de la cadena de caracteres cambia de forma predeterminada a
Si no se incluye nLength, la longitud de la cadena de caracteres cambia de forma predeterminada a

10 caracteres.
nDecimalPlaces
Especifica el nmero de lugares decimales de la cadena de caracteres devuelta por STR(). Debe incluir
nLength para especificar el nmero de lugares decimales.
Si se especifican menos caracteres decimales de los que contiene nExpression, El valor devuelto se
redondear.
Si no se incluye nDecimalPlaces, el valor predeterminado para lugares decimales es cero.
Ejemplo
clear
store 12345 to a
store 67890 to b
? str(a) + str(b) && displays 1234567890
? str(b) + str(a) && displays 6789012345
Vea tambin
VAL() | Crear expresiones de tipo Numrico | STRCONV() (Funcin)
ALLTRIM() (Funcin)
Elimina los espacios en blanco iniciales y finales de la expresin de caracteres especificada y devuelve la
expresin recortada como una cadena de caracteres.
ALLTRIM(cExpression)
Valores devueltos
Character
Parmetros
cExpression
Especifica la expresin de caracteres de la que se eliminan los espacios en blanco iniciales y finales.
Observaciones
ALLTRIM() se puede utilizar para asegurar que los espacios en blanco se eliminan de los datos escritos por un
usuario.
Ejemplo
clear
store Instituto to a
store Tecnico Educando a Colombia to b
? a + b && displays Instituto Tecnico Educando a Colombia
? len(a + b) && displays 44
? len(alltrim(a) + alltrim(b) && displays 36
? alltrim(a) + + alltrim(b) && diaplys Instituto Tecnico Educando a Colombia
Vea tambin
LTRIM() | RTRIM() | TRIM() | AFONT()
LTRIM() (Funcin)

Devuelve la expresin de caracteres especificada despus de eliminar los espacios en blanco iniciales.
LTRIM(cExpression)
Valores devueltos
Character
Parmetros
cExpression
Especifica la expresin de caracteres en la cual LRTRIM() elimina los espacios en blanco iniciales.
Observaciones
Esta funcin es especialmente til para eliminar los espacios en blanco iniciales que se insertan cuando se
utiliza STR() para convertir un valor numrico en una cadena de caracteres.
Ejemplo
clear
store Instituto to a
?a
? ltrim(a)
Vea tambin
ALLTRIM() | LEFT() | RIGHT() | RTRIM() | SUBSTR() | TRIM()
RTRIM() (Funcin)
Devuelve la expresin de caracteres especificada con todos los espacios en blanco finales recortados.
RTRIM(cExpression)
Valores devueltos
Carcter (Character)
Parmetros
cExpression
Especifica la expresin de carcteres de la cual se deben recortar los espacios en blanco finales.
Observaciones
RTRIM() puede utilizarse para asegurarse de que se quitan los espacios en blanco de los datos introducidos por
un usuario. La funcin RTRIM() es idntica a TRIM().
Ejemplo
clear
store Instituto to a
?a
? rtrim(a)
Vea tambin
ALLTRIM() (Funcin) | LTRIM() (Funcin) | TRIM() (Funcin)

LEFT() (Funcin)
Devuelve un nmero especificado de carcteres de una expresin de carcteres, a partir del carcter situado
ms a la izquierda.
LEFT(cExpression, nExpression)
Valores devueltos
Character
Parmetros
cExpression
Especifica la expresin de carcteres de la cual LEFT() devuelve los caracteres.
nExpression
Especifica el nmero de caracteres devueltos desde la expresin de caracteres. Si nExpression es
mayor que la longitud de cExpression, se devolver toda la expresin. Devuelve la cadena vaca si
nExpression es negativa o si es 0.
LEFT() es idntica a SUBSTR() con una posicin inicial de 1.
Ejemplo
clear
store Instituto Tecnico Educando a Colombia to a
?a
? left(a,9) && Display Instituto
Vea tambin
AT() | AT_C() | ATC() | ATCC() | ATCLINE() | ATLINE() | LTRIM() | RAT() | RATLINE() | RIGHT() | RTRIM() | SUBSTR() |
LEFTC() | RIGHTC() | SUBSTRC()
RIGHT() (Funcin)
Devuelve el nmero especificado de caracteres del extremo derecho de una cadena de caracteres.
RIGHT(cExpression, nCharacters)
Valores devueltos
Character
Parmetros
cExpression
Especifica la expresin de caracteres de la que se devuelven los caracteres del extremo derecho.
nCharacters
Especifica el nmero de caracteres devueltos desde la expresin de caracteres. RIGHT() devuelve toda
la expresin de caracteres si nCharacters es mayor que la longitud de cExpression. RIGHT() devuelve
una cadena vaca si nCharacters es negativo o 0.
Observaciones

Los caracteres
por
el ltimo
carcter
de la
y continuando
durante
el nmero
caracteresse
sedevuelven
devuelvencomenzando
comenzando
por
el ltimo
carcter
dederecha
la derecha
y continuando
durante
el nmero
de caracteres
caracteresespecifi
especificado.
cado.
Ejemplo
Ejemplo
clear
clear
store
a Colombia
to ato a
storeInstituto
InstitutoTecnico
TecnicoEducando
Educando
a Colombia
??aa
??right(a,8)
right(a,8)&&
&&Display
DisplayColombia
Colombia
Vea tambin
tambin
AT() || AT_C()
| ATLINE()
| LEFT()
| LEFTC()
(Funcin)
| LTRIM()
| RAT()
| RATLINE()
| RTRIM()
AT_C()||ATC()
ATC()| |ATCC()
ATCC()| ATCLINE()
| ATCLINE()
| ATLINE()
| LEFT()
| LEFTC()
(Funcin)
| LTRIM()
| RAT()
| RATLINE()
| RTRIM()
| SUBSTR()
SUBSTR()||RIGHTC()
RIGHTC()| |SUBSTRC()
SUBSTRC()| TRIM()
| TRIM()
SUBSTR()
SUBSTR()(Funcin)
(Funcin)
Devuelve
especfi
coco
dede
una
expresin
de caracteres
o unocampo
memo.
Devuelveun
unnmero
nmerode
decaracteres
caracteres
especfi
una
expresin
de caracteres
un campo
memo.
SUBSTR(cExpression,
[, nCharactersReturned])
SUBSTR(cExpression,nStartPosition
nStartPosition
[, nCharactersReturned])
Valores
Valores devueltos
devueltos
Carcter
Carcter
Parmetros
Parmetros
cExpression
cExpression
Especifi
o el
campo
memo
desde
los que
se devuelve
la cadena
de de
Especifica
calalaexpresin
expresindedecaracteres
caracteres
o el
campo
memo
desde
los que
se devuelve
la cadena
caracteres.
caracteres.
nStartPosition
nStartPosition
Especifica
calalaposicin
posicinenenlala
expresin
caracteres
o la
encExpression
la cExpression
del campo
memo
desde
Especifi
expresin
dede
caracteres
o en
del campo
memo
desde
la quela que
sedevuelve
devuelvelalacadena
cadenadedecaracteres.
caracteres.
El primer
carcter
de cExpression
la posicin
se
El primer
carcter
de cExpression
es laes
posicin
1. 1.
Si lalaposicin
posicinespecifi
especifi
cadaeses
mayor
que
el nmero
caracteres
de cExpression,
se devolver
Si
cada
mayor
que
el nmero
de de
caracteres
de cExpression,
se devolver
una una
cadenavaca.
vaca.
cadena
nCharactersReturned
nCharactersReturned
Especifica
caelelnmero
nmerodedecaracteres
caracteres
que
devuelve
cExpression.
se omite
nCharactersReturned,
Especifi
que
se se
devuelve
de de
cExpression.
Si seSiomite
nCharactersReturned,
loscaracteres
caracteressesedevolvern
devolvern
hasta
llegar
final
la expresin
de caracteres.
los
hasta
llegar
al fialnal
de de
la expresin
de caracteres.
Observaciones
Observaciones
SUBSTR()devuelve
devuelveuna
unacadena
cadenadedecaracteres
caracteres
una
expresin
de tipo
Carcter
decampo
un campo
memo,
a partir
SUBSTR()
dede
una
expresin
de tipo
Carcter
o deoun
memo,
a partir
la posicin
posicinespecifi
especificada
cadaenenlalaexpresin
expresin
Character
el campo
memo,
y hasta
el nmero
especifi
de la
Character
o elo campo
memo,
y hasta
el nmero
especifi
cado cado
de de
caracteres.
caracteres.
Cuandoutilice
utiliceSUBSTR()
SUBSTR()con
concampos
campos
memo
comando
SELECT
SQL,
incluya
la funcin
PADR()
en SUBSTR()
Cuando
memo
enen
unun
comando
SELECT
SQL,
incluya
la funcin
PADR()
en SUBSTR()
modo que
quelos
loscampos
camposmemo
memovacos
vacos
longitud
variable
produzcan
resultados
coherentes
cuando
de modo
oo
dede
longitud
variable
produzcan
resultados
coherentes
cuando
se se
conviertanaacadenas
cadenasde
decaracteres.
caracteres.
conviertan
SUBSTR()no
nodevolver
devolverningn
ningnvalor
valor
para
campo
memo
se ejecuta
la ventana
Depuracin.
Para devolver
SUBSTR()
para
unun
campo
memo
si sesiejecuta
en laenventana
Depuracin.
Para devolver
valor en
enlalaventana
ventanaDepuracin,
Depuracin,incluya
incluya
nombre
campo
memo
en ALLTRIM()
e incluya
ALLTRIM()
un valor
el el
nombre
deldel
campo
memo
en ALLTRIM()
e incluya
ALLTRIM()
en en
SUBSTR().
SUBSTR().
Ejemplo
Ejemplo

clear
store Instituto Tecnico Educando a Colombia to a
?a
? substr(a,11,16) && Display Tecnico Educando
Vea tambin
AT() | AT_C() | ATC() | ATCC() | ATCLINE() | ATLINE() | LEFT() | PADR() | RAT() | RATLINE() | RIGHT() | LEFTC() | RIGHTC()
| SUBSTRC() | STRTRAN() | STUFF()

NOTAS

NOTAS

NOTAS

NOTAS

You might also like