BASES DE DATOS
EN VISUAL FOX PRO
Programa:
Alumno:
Diseño e Impresión:
Comunicamos Ideas Tel 653 6517
Ideas@telesat.com.co
CONTENIDO
Estos no sólo quiere decir que diferentes aplicaciones existentes pueden compartir los datos
de la base, sino también que es factible desarrollar nuevas aplicaciones que operen con los
mismos datos almacenados.
El nivel externo es el más cercano a los usuarios, es decir, el que atañe 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, específico (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 departa-
mento más un conjunto de ocurrencias de registros de empleados.
El nivel conceptual o lógico global es una representación lógica del contenido total de informa-
ción de la base de datos, en forma abstracta en comparación con la forma en la cual los datos
se almacenan físicamente.
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 representación de nivel muy bajo de la base de datos en su totalidad; se
compone de múltiples ocurrencias, de múltiples tipos de registros internos. Registro interno es
el término que ANSI/o PARC utiliza para la construcción llamada registro almacenado; la vista
interna, por tanto, aún se mantiene a un paso del nivel físico, ya que no atañe a registros físicos
ni a ninguna restricción específica de dispositivos tales como capacidades de cilindros o pistas.
Vista
La siguiente figura representa los tres niveles de los datos y sus correspondientes modelos:
RELAIDAD
Existen múltiples modelos conceptuales, de los cuales el mas ampliamente utilizado es el modelo
entidad relación de chen, que es el que estudiaremos.
El modelo entidad-relación al igual que cualquier otro modelo conceptual de daos es independiente
del sistema de gestión de bases de datos elegido.
Reales, es decir, objetos tangibles o cosas, tales como máquinas, 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 interés para la empresa, acerca de los
cuales se deben mantener datos por ejemplo, pagos, compras, ventas, etc.
Es importante señalar 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, María 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 María Pepa pertenece a la entidad tipo “PERSONA”, y se dice que
Relaciones:
Una relación es una asociación entre entidades, por ejemplo, “padre-de” es una relación 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, según el grado o número de tipos de entidades distintas
a las que asocia:
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 colección de todos los valores de una propiedad definida asociada con las entidades
de un tipo de entidad dado.
Ejemplo:
Tipo de entidad Tipo de atributo Atributo
Persona Nombre María Pepa
Diagrama entidad – relación:
Ees un gráfico conceptual del modelo entidad – relación. Hay 2 razones para dibujarlo:
Representa un resumen de los resultados del análisis, el cual puede servir como b a s e
para la discusión.
Es la base para el diseño de la base de datos
No existe una única representación gráfica de los diagramas entidad-relación (DER), veremos
dos:
Diagramas de Echen:
PERSONA
Los tipos de relaciones se representan por un rombo con sus respectivas líneas de co-
nexión a los tipos de entidades. Ejemplo:
TRABAJA
∅: Ν 1:1
VENDEDOR VENDE A CLIENTE
Diagramas de Bachman:
a. Los tipos de entidades se representan por um rectángulo
b. Los tipos de relaciones se representan por un rombo
c. Las cardinalidades máximas se representan por las líneas de conexión de los rombos
con los respectivos tipos de entidades. La convención es la siguiente:
Representa una relación R, de cardinalidad máxima “uno a uno”
R teniendo en cuenta los dos sentidos.
a1
Equivalencia de entidades:
a. Entidades compuestas o asociativas: se denomina de este modo a aquellas que resultan
al asociar a una relación entre entidades unos determinados atributos. Entonces,
la relación inicial debe ser considerada a su vez como una entidad. Ejemplo:
∅: Ν ∅: Ν
EMPLEADO TRABAJA PROYECTO
PASAJERO
Salario Nombre
Reserva
Categoria N° Lic N° Horas
N°
Fecha
Re Maneja
Ocurrencia ali
za
N° Hora
partida
VUELO A E R O N AV E Es un T I P O - AV I Ò N
EJERCICIO 1
Se trata de elaborar el modelo entidad – relación que refleje el funcionamiento de una universidad
en su parte académica, 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 cátedras.
4. Una cátedra imparte, en general, varias asignaturas.
5. Un alumno está matriculado en una o varias asignaturas, pero no puede cursar estudios simultá-
neamente en dos facultades diferentes.
6. En cada cátedra hay un catedrático y varios profesores titulares y encargados de cursos. Los
profesores titulares, así como el catedrático, sólo pueden impartir docen cia dentro de la
cátedra. Mientras que los encarga dos de cursos pueden hacerlo en distintas cátedras de un
mismo departamento.
7. Departamentos de la misma o de distintas facultades pueden unirse para construir institutos
interfacultativos de investigación y post – grado.
8. Cada departamento tiene varios alumnos de post – grado, que reciben la docencia a través de los
institutos de investigación.
Se pide:
1. Identificar las entidades.
2. Identificar las relaciones y sus cardinalidades.
EJERCICIO 2
Una empresa dedicada a la fabricación y venta de productos desea diseñar 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 almacén deseo que se efectúe la entrega ya que
las materias primas están distribuidas en diversos almacenes.
En cada almacén 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, también 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 fabricación de más de un producto.
Una vez el pedido es servido, se procede al pago de los proveedores previa presentación 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 efectuarán en efectivo (no por banco) se pide lo mismo del
Campo
Campo
Recibe
Recibe el
el nombre
nombrede decampo
campoelelespacio
espaciofísico
físicodonde
dondesese
almacena unun
almacena dato, y alyque
dato, generalmente
al que se lesedaleun
generalmente da un
nombre
nombre para
paraidentifi
identificarlo.
carlo.En
Enun
uncampo
campopodemos
podemos tener unos
tener datos
unos ya ya
datos almacenados
almacenados o introducir unosunos
o introducir nuevos.
nuevos.
Ejemplo:
Ejemplo:
Cada una
una de
delas
lascasillas
casillasque
quesesellenan
llenanenenuna
unahoja
hojadede
vida corresponde
vida a un
corresponde campo.
a un campo.
Crear Campos
Campos
Al crear
crear los
loscampos
camposde deuna
unatabla
tabladebe
debeespecifi
especificarcar
unun nombre
nombre dede
campo,
campo,un un
tipotipo
de datos y unyancho
de datos de campo.
un ancho de campo.
También
También puede
puedecontrolar
controlarquéquédatos
datossesepermiten
permiten enenel el
campo
campo especifi cando
especifi candosi elsicampo permite
el campo valores
permite NULL,
valores NULL,
si tiene
tiene unun valor
valor predeterminado
predeterminadoo osisidebe debecumplir
cumplir reglas dede
reglas validación.
validación.Al confi gurar
Al confi las propiedades
gurar de de
las propiedades
presentación,
presentación,puede
puedeespecifi
especificar
careleltipo
tipodedecontrol
control que
quese se
crea cuando
crea cuando el campo
el campo se agrega a una formulario,
se agrega el el
un formulario,
formato
formato deldelcontenido
contenidode delos
loscampos
camposo oeleltítulo
títulodeldel
contenido
contenido deldel
campo.
campo.
Nota: Los
Los registros
registrosde
deuna
unatabla
tabladedeVisual
VisualFoxPro pueden
FoxPro contener
pueden contenerhasta 255255
hasta campos.
campos.Si uno o más
Si uno campos
o más campos
contienen
contienen valores
valoresNULL,
NULL,elelnúmero
númeromáximo
máximo dede
campos
camposque la tabla
que puede
la tabla contener
puede se reduce
contener en uno,
se reduce de 255
en uno, de 255
a 254.
254.
Registro
Registro
Físicamente
Físicamente es es un
unconjunto
conjuntodedecampos;
campos;lógicamente es es
lógicamente unun
conjunto de de
conjunto datos relacionados
datos queque
relacionados sirven parapara
sirven
identifi
identificar
car un
unente,
ente,persona
personaoocosa.
cosa.
Trabajar
Trabajar con
conregistros
registros
Cuando
Cuandohaya
hayadiseñado
diseñadoyycreado
creadolalaestructura
estructura dede
una
unatabla, puede
tabla, almacenar
puede datos
almacenar en ella
datos agregándole
en ella registros.
agregándole registros.
Después
Después podrá
podrámodifi
modificar
caryyeliminar
eliminarlos
losregistros existentes.
registros Cada
existentes. unauna
Cada de de
estas tareas
estas puede
tareas realizarse
puede a través
realizarse a través
de la interfaz
interfazgrafi
grafica
caoomediante
mediantecomandos.
comandos.
Ejemplo:
Ejemplo:
Una vez
vez llenadas
llenadastodas
todaslas
lascasillas
casillasdedelalahoja
hojadede
vida tenemos
vida tenemos unun
registro, indica
registro, estoesto
indica queque
la hoja de vida
la hoja como
de vida como
tal es un
un registro
registroque
queidentifi
identificacaa auna
unapersona
persona enen
particular.
particular.
Tabla (Archivo)
(Archivo)
Conjunto
Conjunto de
de registros
registrosque
quehacen
hacenreferencia
referenciaa auna
unamisma
mismapersona o cosa,
persona las las
o cosa, tablas también
tablas las conocemos
también las conocemos
como archivos.
archivos.
Crear tablas
tablas
Las tablas
tablasalmacenan
almacenanloslosdatos
datosenenununformato
formato dede
filas y columnas,
filas y columnas, de de
manera
manerasimilar a una
similar hojahoja
a una de cálculo. CadaCada
de cálculo.
fila representa
representaun
unregistro,
registro,mientras
mientrasque quecada
cada columna
columna representa
representa loslos
campos
campos de los registros.
de los Puede
registros. crearcrear
Puede una una
tabla en
en una
unabase
basede
dedatos
datosoouna
unatabla
tablalibre
librequequenonoesté
estéasociada a ninguna
asociada a ninguna base de datos.
base Si coloca
de datos. la tabla
Si coloca en en
la tabla
una base
basede
dedatos,
datos,puede
puedecrear
crearnombres
nombres largos
largos dede
campo
campo y de tabla
y de para
tabla las las
para tablas de la
tablas debase de datos.
la base También
de datos. También
puede
puede aprovecharse
aprovecharsede delas
lascapacidades
capacidadesdel diccionario
del diccionario dededatos para
datos tablas
para de base
tablas de datos,
de base valores
de datos, de campo
valores de campo
predeterminados
predeterminadosyyreglas
reglasaanivel
niveldedecampo
campo y ay nivel
a niveldederegistro, asíasí
registro, como
como también
tambiénde los
de desencadenadores.
los desencadenadores.
Diseñar
Diseñar tablas
tablasde
debase
basede
dedatos
datosootablas
tablaslibres
libres
Las tablas
tablas de
deVisual
VisualFoxPro,
FoxPro,ooarchivos
archivos.dbf,
.dbf,pueden
pueden existir enen
existir dosdos
estados:
estados:como
comotabla de base
tabla de datos
de base (una(una
de datos
tabla asociada
asociada aauna
unabase
basedededatos)
datos)o ocomo
comouna tabla
una libre
tabla nono
libre asociada
asociadaa ninguna
a ninguna basebase
de datos. Las tablas
de datos. Las tablas
asociadas
asociadas aa una
unabase
basedededatos
datoscuentan
cuentanconconciertas
ciertasventajas
ventajas sobre las las
sobre tablas libres.
tablas Cuando
libres. unauna
Cuando tablatabla
formaforma
parte de
de una
unabase
basede
dedatos,
datos,esesposible
posiblecrear:
crear:
• Nombres largos para la tabla y para cada uno de sus campos.
• Índices de clave primaria y relaciones de tablas para compatibilidad con reglas de integridad
referencial.
• El tipo de datos de un campo debe coincidir con el tipo de información que va a almacenar en él.
• Haga el campo lo suficientemente ancho para dar cabida a la información que mostrará.
• Establezca un número apropiado de posiciones decimales para los campos de tipo Numérico o
Float.
Ejemplo:
Todos los datos de Visual FoxPro tienen un tipo, como una descripción de los valores permitidos, y el intervalo
y tamaño 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 más tipos de datos para campos en una tabla que para variables y matrices, las cuales sólo
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 función 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.
Además, Visual FoxPro proporciona tipos de datos que se aplican únicamente a campos de tablas.
Los contenedores de datos (campos) y algunos parámetros de comandos y funciones necesitan tener un
nombre. Cuando cree un nombre en Visual FoxPro, aplique las siguientes reglas:
• Utilice de 1 a 128 caracteres, excepto para nombres de campo de tablas libres y etiquetas de índice,
que pueden tener un máximo de 10 caracteres.
Los nombres de archivo se rigen por las convenciones del sistema operativo.
QUIT (Comando)
Para finalizar una sesión de Visual FoxPro, debe utilizar siempre el comando QUIT. Si apaga el equipo sin ejecutar
QUIT, se pueden dañar los archivos abiertos y perder datos. Además, puede dejar en el disco archivos temporales
de trabajo que normalmente se eliminarían.
Vea también
? | ?? (Comando)
AT nColumn
Especifica el número de la columna en que aparece el resultado. Esta opción permite alinear el
resultado en columnas para crear una tabla. La expresión numérica nColumn puede ser una función
definida por el usuario que devuelva un valor numérico.
?? yy ??
?? evalúan
evalúan expresiones
expresionesyyenvían
envíanlos
losresultados
resultadosa alalaventana
ventanaprincipal dede
principal Visual FoxPro,
Visual a una
FoxPro, ventana
a una activa
ventana activa
defi nida por el usuario o a la impresora.
definida por el usuario o a la impresora.
Si SET
Si SET PRINTER
PRINTER está
estádefi
definido
nidocomo
comoON,
ON,los
losresultados
resultadosdedelalaexpresión
expresión sesedirigirán
dirigirán a laa impresora
la impresora y aylaaventana
la ventana
principal de Visual FoxPro o a una ventana activa definida por el usuario. Si SET PRINTER está
principal de Visual FoxPro o a una ventana activa definida por el usuario. Si SET PRINTER está definido defi nido como
comoONON
yy SET
SET CONSOLE
CONSOLEestáestádefi
definido
nidocomo
comoOFF,
OFF,los
losresultados
resultadossesedirigirán
dirigiránúnicamente
únicamente a laa impresora.
la impresora.
Ejemplo
Ejemplo
?? 15*(10+10)
15*(10+10)
?? ‘Welcome
‘Welcome ToTo ‘‘ picture
picture ‘@!’
‘@!’
??
?? ‘Visual
‘Visual FoxPro’
FoxPro’
?? date()
date() font
font ‘courier’,16
‘courier’,16
?? date()
date() font
font ‘courier’
‘courier’ style
style‘bi’
‘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 también
también
??? (Comando)
(Comando) ||@
@......SAY
SAY(Comando) | SETMEMOWIDTH
(Comando)| SET MEMOWIDTH(Comando) | SET
(Comando) PRINTER
| SET (Comando)
PRINTER | SET
(Comando) SPACE
| SET (Comando)
SPACE (Comando)
Format (Propiedad)
| Format (Propiedad)| |InputMask
InputMask(Propiedad)
(Propiedad)
CLEAR (Comandos)
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 también
@ ... CLEAR | CLOSE | DECLARE - DLL | READ | READ EVENTS | RELEASE | RELEASE CLASSLIB | RELEASE
WINDOWS
DATE() (Función)
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
Parámetros
nYear
Especifica el año 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 día 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 año 2000 en el formato establecido en la ficha
Regional del cuadro de diálogo cuadro de diálogo Opciones. Los parámetros ausentes se sustituyen con el valor
actual del sistema.
Ningún comando o función 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 después, 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 también
CTOD() | DATETIME() | DTOC() | SET CENTURY | SET DATE | SET MARK TO | SYS() - Introducción a las funciones
Determina si Microsoft Visual FoxPro mostrará o no el siglo en las expresiones Date y cómo interpreta Visual
FoxPro las fechas que sólo especifican los años con 2 dígitos.
SET CENTURY ON | OFF | TO [nCentury [ROLLOVER nYear]]
Parámetros
ON
Especifica un formato de año con cuatro dígitos que ocupa 10 caracteres (incluidos los delimitadores
de fecha).
Nota: Para proporcionar compatibilidad con el año 2000, se recomienda que establezca siempre SET
CENTURY en ON.
OFF
(Predeterminado) Especifica un formato de año de dos dígitos que ocupa ocho caracteres y supone el
siglo veinte para los cálculos de fechas.
Ejemplo
set century on && Año a 4 Digitos
Vea también
Nota: Cuando se establece SET DATE en SHORT o LONG, las fechas anteriores a {1601-01-01} no serán válidas y
generarán un error.
La configuración predeterminada es AMERICAN.
El valor SET DATE también determina cómo aparecerá la fecha en las expresiones DateTime.
Si se establece DATE en SHORT o en LONG, se omitirán los valores de configuración establecidos para SET
CENTURY, SET MARK, SET HOURS y SET SECONDS.
Ejemplo
set century on
set date to dmy && Formato dd/mm/aaaa
Vea también
DATE() | DATETIME() | SET CENTURY | SET DATASESSION | SET MARK TO | SET SYSFORMATS
TIME() (Función)
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
Parámetros
nExpression
La hora devuelta incluirá las centésimas de segundo si se incluye nExpression. La expresión numérica
nExpression puede ser cualquier valor. No obstante, la resolución máxima real es de aproximadamente
1/18 de segundo. Utilice SECONDS() para obtener mayor resolución.
Ejemplo
? time() && Imprimir la hora actual
Vea también
CTOT() | DATE() | DATETIME() | DTOT() | HOUR() | SEC() | SECONDS() | SET SECONDS | SYS(2) - Segundos desde
medianoche
DATETIME() (Función)
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
Parámetros
nYear
Especifica el año 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 día 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 ningún argumento opcional. Los parámetros
opcionales de fecha ausentes se sustituyen por los valores actuales del sistema. Un parámetro de hora ausente
se sustituye por 12:00:00.
Incluya los argumentos opcionales para devolver un valor DateTime compatible con el año 2000 en el formato
especificado en la ficha Regional del cuadro de diálogo cuadro de diálogo 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 también
CTOT() | DATE() | DTOT() | HOUR() | SEC() | SECONDS() | SET SECONDS | SET SYSFORMATS | TIME() | TTOC() |
TTOD()
TYPE() (Función)
Carácter
Parámetros
cExpression
Especifica la expresión que se va a evaluar, que puede ser una variable, un campo, un campo de
memoria o cualquier otra expresión. La expresión se debe transferir como una cadena de carácteres;
escriba entre comillas los nombres de las variables de memoria, los campos, etc. Si no escribe la
expresión entre comillas, la función TYPE() evaluará el contenido de la cadena. Si no se puede evaluar
el contenido como una expresión válida de FoxPro, TYPE() devuelve “U” (expresión no definida).
Observaciones
La tabla siguiente presenta los caracteres que devuelve TYPE() y sus tipos de datos correspondientes:
Especifi
SET ca la unidad
DEFAULT o el directorio predeterminados.
(Comando)
SET DEFAULT TO [cPath]
Especifica la unidad o el directorio predeterminados.
Parámetros
SET DEFAULT TO [cPath]
cPath
Parámetros
cPath Especifica uno de los elementos siguientes:
• ca Un
Especifi unodesignador de unidad.
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 notación abreviada de Microsoft MS-DOS ( \ o ..).
• Cualquiera de los anteriores, utilizando la notación 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
Cuando desde
salga de los queFoxPro,
Visual inició Windows.
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
Sugerencia: unidad.
SYS(5) SYS(5)la+unidad
devuelve SYS(2003) devuelven laSYS(2003)
predeterminada. unidad y eldevuelve
directorio predeterminados.
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 también
Vea también
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 | ?]
Parámetros
Parámetros
FileName
FileName
Especifica
Especifi caelelnombre
nombrede
delalatabla
tablaque
quedesea
deseacrear.
crear.
??
Presentaelelcuadro
Presenta cuadrode
dediálogo
diálogoCrear,
Crear,que
quelelepide
pideelel nombre
nombre para
para la la tabla
tabla queque
se se
va va a crear.
a crear.
Observaciones
Observaciones
En Visual
Visual FoxPro,
FoxPro, sisi hay
hay una
unabase
basede
dedatos
datosabierta
abiertacuando
cuandousted
ustedcrea una
crea tabla,
una dicha
tabla, tabla
dicha se se
tabla agregará
agregará
automáticamente 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 utilización de guiones en el nombre de una tabla porque los
nombres de tabla con guiones no aparecen en la ventana Sesión de datos y pueden crear confusión con el
puntero de alias (->).
Una tabla se crea al definir el nombre, tipo y tamaño 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 también
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.
USE
Abre[[DatabaseName!]Table | SQLViewName
una tabla y sus archivos de índice |asociados,
?] [IN nWorkArea
o una| cTableAlias]
vista SQL. [ONLINE] [ADMIN] [AGAIN] [NOREQUERY
[nDataSessionNumber]] [NODATA] [INDEX IndexFileList | ? [ORDER [nIndexNumber
USE [[DatabaseName!]Table | SQLViewName | ?] [IN nWorkArea | cTableAlias] | IDXFileName
[ONLINE] | [TAG][NOREQUERY
[ADMIN] [AGAIN] TagName
[OF CDXFileName] [ASCENDING
[nDataSessionNumber]] [NODATA]| DESCENDING]]]] [ALIAS
[INDEX IndexFileList | ? cTableAlias] [EXCLUSIVE]
[ORDER [nIndexNumber [SHARED] [NOUPDATE]
| IDXFileName | [TAG] TagName
[CONNSTRING [ASCENDING| (m.nStatementHandle)
cConnectionString
[OF CDXFileName] | DESCENDING]]]] ] [ALIAS cTableAlias] [EXCLUSIVE] [SHARED] [NOUPDATE]
[CONNSTRING
Parámetros cConnectionString | (m.nStatementHandle) ]
Parámetros
[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
Especifi ca el nombre de archivo
de lade Microsoft
tabla que seWindows 98Puesto
va a abrir. y posteriores,
que losevite usar espacios
espacios en blanco adicionales en
son importantes
TableName.
en los nombres Si unde nombre
archivo dede
tabla contiene
Microsoft espacios,98escríbalo
Windows entre comillas
y posteriores, (“ “espacios
evite usar o ‘ ‘) adicionales en
TableName. Si un nombre de tabla contiene espacios, escríbalo 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
datos, con una
un signotabladefuera de la base(!)de
exclamación datos
para actual,
separar identifique
el nombre de lalabase
tabladecon el nombre
datos del nombre de ladebase
la de
datos,Sicon
tabla. un signo
no identifi de exclamación
ca una tabla con un(!) para separar
nombre de baseelde nombre de la baseVisual
datos, Microsoft de datos
FoxPro delsólo
nombre
podráde la
tabla.lasSi tablas
abrir no identifi
de lacabase
unadetabla conactual.
datos un nombre de basededeladatos,
Si el nombre base deMicrosoft
datos, elVisual
nombre FoxPro
de lasólo podrá
tabla
oabrir
amboslas tablas
contienen de la base deescriba
espacios, datos actual. Si eldenombre
el nombre la basede
de ladatos
basey de datos, elde
el nombre nombre
la tablade la tabla
entre
o ambos(“ contienen
comillas “ o ‘ ‘) espacios, escriba el nombre de la base de datos y el nombre de la tabla entre
comillas (“ “ o ‘ ‘)
?
?
Muestra el cuadro de diálogo Uso, que le permite elegir una tabla para abrirla.
Muestra el cuadro de diálogo 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
determinada, de trabajo
ejecutando en lalaque
USE con se abre
cláusula IN ylaeltabla.
númeroPuede cerrar
del área de una tabla de un área de trabajo
trabajo.
determinada, ejecutando USE con la cláusula IN y el número del área de trabajo.
La cláusula IN admite 0 como área de trabajo. Al incluir 0, se abrirá una tabla en el área de trabajo
La cláusula IN admite 0 como área de trabajo. Al incluir 0, se abrirá una tabla en el área de trabajo
que tenga el número más bajo. Por ejemplo, si hay tablas abiertas en las áreas de trabajo de 1 a 10, el
que tenga el número más 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
Especifica
caque
quelalatabla
tablaseseabre
abreenen
elel
área dede
área trabajo dede
trabajo unauna
tabla queque
tabla estáestá
abierta actualmente.
abierta El alias
actualmente. El alias
de la tabla abierta se especifi ca con cTableAlias.
de la tabla abierta se especifica con cTableAlias.
Si
Siomite
omitenWorkArea
nWorkAreay ycTableAlias,
cTableAlias,la la
tabla sese
tabla abrirá enen
abrirá el área de de
el área trabajo seleccionada
trabajo actualmente.
seleccionada actualmente.
AGAIN
AGAIN
Para
Para abrir
abriruna tabladedeforma
unatabla formasimultánea enen
simultánea varias áreas
varias de de
áreas trabajo, puede
trabajo, realizar
puede alguna
realizar de las
alguna de las
acciones
accionessiguientes:
siguientes:
•• Seleccionar
Seleccionarotra
otraárea
áreadedetrabajo y ejecutar
trabajo USEUSE
y ejecutar concon
el nombre de la
el nombre detabla y la ycláusula
la tabla la cláusula
AGAIN.
AGAIN.
•• Ejecutar
EjecutarUSE
USEconconelelnombre
nombre dede
la la
tabla y lay cláusula
tabla AGAIN,
la cláusula y especifi
AGAIN, car un
y especifi carárea de trabajo
un área de trabajo
distinta
distintacon
conlalacláusula IN.IN.
cláusula
Cuandovuelva
Cuando vuelvaaaabrir
abriruna
unatabla
tablaenen otra
otra área
área dede trabajo,
trabajo, la tabla
la tabla de de la nueva
la nueva áreaárea de trabajo
de trabajo tomará
tomará
losatributos
los atributosde
delalatabla
tabladel
delárea
área
dede trabajo
trabajo original.
original. PorPor ejemplo,
ejemplo, si lasitabla
la tabla se abre
se abre parapara acceso
acceso de sólo
de sólo
lecturaooexclusivo,
lectura exclusivo,y ysesevuelve
vuelvea abrir
a abrirenen otra
otra área
área dede trabajo,
trabajo, la tabla
la tabla se abrirá
se abrirá concon el mismo
el mismo tipo tipo
de de
acceso en la nueva área de trabajo.
Los archivos de índice abiertos para la tabla original estarán disponibles para la tabla que vuelva a
abrir si no abre ningún í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
ningún 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
cláusula AGAIN. Al incluir la cláusula 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 sesión de datos determinada no se descarguen de nuevo. Si se omite nDataSessionNumber, los
datos no se descargarán para la vista abierta en la sesión de datos actual.
Para obtener información adicional acerca de la cláusula NOREQUERY, vea Crear vistas.
NODATA
Especifica que sólo se descargue la estructura de una vista SQL. Los datos de la vista SQL no se
descargan. NODATA es el método más rápido de determinar la estructura de una vista SQL.
Para obtener más información acerca de la cláusula 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á automáticamente con la tabla.
IndexFileList puede contener cualquier combinación 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á cómo 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 mostrarán los registros de la tabla
y se tendrá acceso a ellos en el orden físico de los registros.
INDEX ?
Muestra el cuadro de diálogo 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.
Los Las etiquetas
archivos de los
de índice .idx archivos primero
se numeran de índiceencompuesto
el orden enestructural
que aparecen (si en
existe alguno)
la lista se numeran
de archivos de
entonces
índice. Lasen el ordende
etiquetas enlosque se crearon
archivos las etiquetas.
de índice compuesto Por último, las etiquetas
estructural de todosselos
(si existe alguno) archivos de
numeran
índice compuesto
entonces en el ordenindependientes
en que se crearon se las
numeran en Por
etiquetas. el orden enlas
último, que se crearon.
etiquetas También
de todos puede utilizar
los archivos de
índice compuesto
SET ORDER independientes
para especifi se numeran
car el archivo de índiceen oellaorden en que
etiqueta de se crearon.
control. VeaTambién
SET ORDERpuede utilizar
para obtener
SET
másORDER para especifi
información acercacar deellaarchivo de índice
numeración o la etiqueta
de archivos de control.
y etiquetas de Vea SET ORDER para obtener
índice.
más información acerca de la numeración de archivos y etiquetas de índice.
Si nIndexNumber es 0, los registros de la tabla se mostrarán y se tendrá acceso a ellos en el orden
Si nIndexNumber
físico es 0, ylos
de los registros, losregistros
registrosdepermanecerán
la tabla se mostrarán y se
abiertos. La tendrá
inclusiónacceso a ellos 0enpermitirá
de ORDER el orden que
físico
todosde loslos registros,
archivos deyíndice
los registros
abiertospermanecerán
se actualicenabiertos.
mientrasLaseinclusión
presentan delos
ORDER 0 permitirá
registros que por
ordenados
todos los archivos
el número de índice
de registro. abiertos
Incluir ORDERsesinactualicen mientrasesseidéntico
nIndexNumber presentan los registros
a incluir ORDERordenados
0. por
el número de registro. Incluir ORDER sin nIndexNumber es idéntico 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 idénticos en los archivos de
índice compuesto que esté abierto. Si existen nombres de etiqueta idénticos 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
Especifi caque
quesesetiene
tieneacceso
accesoy ysese muestran
muestran loslos registros
registros de de la tabla
la tabla en orden
en orden ascendente.
ascendente.
DESCENDING
DESCENDING
Especifica
Especifi caque
quesesetiene
tieneacceso
accesoy ysese muestran
muestran loslos registros
registros de de la tabla
la tabla en orden
en orden descendente.
descendente.
La inclusión
La inclusióndedeASCENDING
ASCENDINGo oDESCENDING
DESCENDING nono cambia
cambia el archivo
el archivo o laoetiqueta
la etiqueta de índice:
de índice: solamente
solamente
alteraelelorden
altera ordenen
enque
quesesemuestran
muestran y se
y se tiene
tiene acceso
acceso a los
a los registros.
registros.
cTableAlias
ALIAS cTableAlias
Creaun
Crea unalias
aliaspara
paralalatabla.
tabla.Puede
Puede hacer
hacer referencia
referencia a una
a una tabla
tabla porpor su alias
su alias en comandos
en los los comandos y funciones
y funciones
querequieren
que requierenooadmiten
admitenun unalias.
alias.
Cuando
Cuandose seabre
abreuna
unatabla,
tabla,seseleleasigna
asigna automáticamente
automáticamente unun alias, queque
alias, es el
esnombre de ladetabla
el nombre si nosiseno se
la tabla
incluye
incluyeALIAS.
ALIAS.Puede
Puedecrear
crearununalias nuevo
alias nuevo o distinto
o distintopara la tabla
para si incluye
la tabla ALIAS.
si incluye En Visual
ALIAS. FoxPro,
En Visual un un
FoxPro,
alias
aliaspuede
puedecontener
contenerhasta
hasta254
254letras, dígitos
letras, o signos
dígitos dede
o signos subrayado,
subrayado, y debe comenzar
y debe por por
comenzar una una
letraletra
o o
un
unsigno
signodedesubrayado.
subrayado.EnEnlas
lasdemás
demás versiones
versiones dede
FoxPro, loslos
FoxPro, alias pueden
alias pueden contener como
contener máximo
como máximo10 10
letras,
letras,dígitos
dígitosoosignos
signosde
desubrayado,
subrayado, y deben
y deben comenzar
comenzar porporunaunaletra o un
letra o signo de subrayado.
un signo de subrayado.
Se
Seasigna
asignaautomáticamente
automáticamenteununalias predeterminado
alias cuando
predeterminado cuando abre unauna
abre solasola
tabla de forma
tabla simultánea
de forma simultánea
en
en varias
variasáreas
áreasde
detrabajo
trabajocon
conAGAIN
AGAINy no sese
y no especifi ca ca
especifi ununalias al abrir
alias la tabla
al abrir en cada
la tabla áreaárea
en cada de de
trabajo.
trabajo.
EXCLUSIVE
EXCLUSIVE
Abre
Abrelalatabla
tablapara
parauso
usoexclusivo
exclusivoenen
una red.
una Para
red. obtener
Para más
obtener información
más acerca
información del del
acerca uso uso
exclusivo de de
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
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á. También se cerrará la tabla cuando se abra otra tabla en la misma área de trabajo. No puede tener
abierta más de una tabla a la vez en una misma área de trabajo.
Ejemplo
use
use alumnos
use z:\alumnos
Vea también
CREATE | CREATE SQL VIEW | CREATE TABLE - SQL | CREATEOFFLINE() | DBF() | INDEX | USED() | Crear vistas | SET
EXCLUSIVE
APPEND (Comando)
Agrega un registro en blanco al final de la tabla activa. Visual FoxPro no abre ninguna ventana de
edición cuando usted ejecuta APPEND BLANK.
Es posible modificar los nuevos registros con BROWSE, CHANGE o EDIT.
IN nWorkArea
IN cTableAlias
Especifica que se eliminará el título de menú Tabla de la barra de menús del sistema, lo que impide
efectuar cambios en el formato de la ventana de edición.
Observaciones
El cuadro de diálogo 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 edición 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 && Adiciona un registro en blanco
append && Adiciona un registro y lo edita en blanco
Vea también
BOF() (Función)
Lógico
Parámetros
nWorkArea
Especifica el número del área de trabajo para una tabla abierta en otra área de trabajo.
cTableAlias
Observaciones
Utilice BOF() para probar la condición de principio de archivo de una tabla. BOF() devuelve Verdadero (.T.) si ha
intentado mover el puntero de registro a una posición anterior al primer registro de la tabla.
Vea también
EOF() (Función)
Determina si el puntero de registro está situado o no más allá del último registro de la tabla actual o
especificada.
EOF([nWorkArea | cTableAlias])
Valores devueltos
Logical
Parámetros
nWorkArea
cTableAlias
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 después 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 también
Logical
Logical
Parámetros
Parámetros
nWorkArea
nWorkArea
Especificacaelelnúmero
Especifi númerodede área
área dede trabajo
trabajo de de la tabla.
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 condición de final de archivo en la tabla
Siabierta
no especifi
en elca un de
área alias de área
trabajo de trabajo, se probará la condición de final de archivo en la tabla
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
tabla se alcanzaverdadero
cuando el(.T.) si el puntero
puntero de registro
del registro alcanza
transfi el final registro
ere el último del archivo
de de tabla (EOF).
la tabla. El final de
Por ejemplo, la se
cuando
ejecuta
tabla FIND, LOCATE
se alcanza cuandooelSEEK
puntero sin del
éxito, Visualtransfi
registro FoxPro
ere mueve
el últimoelregistro
punterodede la registro
tabla. Porhasta después
ejemplo, cuando delseúltimo
registro,FIND,
ejecuta y EOF() devuelve
LOCATE o SEEK verdadero
sin éxito, (.T.).
VisualEOF() devuelve
FoxPro muevefalso (.F.) si de
el puntero el puntero del registro
registro hasta después nodel
está al final de
ú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 también
Vea también
BOF() | GO | GOTO | SKIP
BOF() | GO | GOTO | SKIP
GO | GOTO (Comando)
GO | GOTO
Coloca (Comando)
el puntero de registro en el número de registro especificado de una tabla.
GO [RECORD]
Coloca nRecordNumber
el puntero [INelnWorkArea
de registro en número de| IN cTableAlias]
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]
Parámetros
RECORD nRecordNumber
Especifica el número de registro físico al que desea mover el puntero de registro. Puede omitir por
completo GO o GOTO y especificar simplemente el número de registro. Si especifica solamente el
número de registro, podrá mover el puntero solamente en el área de trabajo actual.
IN nWorkArea
IN cTableAlias
TOP
Sitúa 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 más bajo. Si el índice está en orden
descendente, el primer registro será el registro con el valor clave más alto.
BOTTOM
Sitúa el puntero de registro en el último registro de la tabla. Si la tabla tiene activo un índice ascendente,
el último registro será aquél con el valor de clave más 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 actúan sobre la tabla del área de trabajo actual
a menos que especifique otra área de trabajo con la cláusula IN.
Ejemplo
go top
go bottom
go 5
skip 1
? recno()
skip -2
skip
Vea también
SKIP (Comando)
Mueve el puntero de registro hacia adelante o hacia atrás en una tabla.
SKIP [nRecords] [IN nWorkArea | cTableAlias]
Parámetros
nRecords
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 número 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 específica. nWorkArea especifica el
número 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 también
RECNO() (Función)
Numérico
Parámetros
nWorkArea
Especifica el número 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
RECNO() devuelve un valor que es el número de registros de la tabla más 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 número 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 lógica
de “búsqueda cercana” para devolver el número del registro más 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 también
RECCOUNT() (Función)
Numérico
Parámetros
nWorkArea
Especifica el número 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
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 número de registros de la
tabla del área de trabajo seleccionada actualmente.
Ejemplo
use alumnos
use alumnos
?? reccount()
reccount()
use
use
también
Vea también
RECNO() || RECSIZE()
RECNO() RECSIZE()| |SET
SETDELETED
DELETED| SET
| SET FILTER
FILTER
LOCATE (Comando)
LOCATE (Comando)
Busca secuencialmente
Busca secuencialmenteen
enlalatabla
tablaelelprimer
primer registro
registro que
que coincida
coincida concon la expresión
la expresión lógica
lógica especifi
especificada.cada.
LOCATE [FOR
LOCATE [FORlExpression1] [Scope] [WHILE]
lExpression1] [Scope] [WHILE][NOOPTIMIZE]
[NOOPTIMIZE]
Parámetros
Parámetros
lExpression1
FOR lExpression1
LOCATEbusca
LOCATE buscasecuencialmente
secuencialmenteenen
la la tabla
tabla actual
actual el primer
el primer registro
registro queque coincida
coincida con con la expresión
la expresión
lógicalExpression1.
lógica lExpression1.
Rushmore optimizará
Rushmore optimizaráuna
unaconsulta
consultacreada
creada
concon LOCATE
LOCATE FORFOR si lExpression1
si lExpression1 es una
es una expresión
expresión
optimizable.Para
optimizable. Paraobtener
obtenerelelmáximo
máximo rendimiento,
rendimiento, utilice
utilice unauna expresión
expresión optimizable
optimizable en laen la cláusula
cláusula
FOR.
FOR.
Sidesea
Si deseaobtener
obtenermás másinformación,
información, vea
vea SET
SET OPTIMIZE
OPTIMIZE y Utilizar
y Utilizar optimización
optimización de consultas
de consultas Rushmore
Rushmore
paraacelerar
para acelerarelelacceso
accesodededatos.
datos.
Scope
Scope
Especifica
Especifi caelelintervalo
intervalodedeobjetos
objetosque
quesese buscará.
buscará. Solamente
Solamente se buscarán
se buscarán los registros
los registros incluidos
incluidos en en
elintervalo.
el intervalo.LasLascláusulas
cláusulasdedealcance
alcance son:
son: ALL,
ALL, NEXT
NEXT nRecords,
nRecords, RECORD
RECORD nRecordNumber
nRecordNumber y REST.
y REST. Los Los
comandosque
comandos queincluyen
incluyenScope
Scope sólo
sólo actúan
actúan sobre
sobre la tabla
la tabla deldel
áreaárea de trabajo
de trabajo activa.
activa.
Elalcance
El alcancepredeterminado
predeterminadodede LOCATE
LOCATE eses
ALLALL (todos
(todos loslos registros).
registros).
WHILE lExpression2
WHILE lExpression2
Especifica
Especifi cauna
unacondición
condiciónpor
porla lacual
cual
sese buscan
buscan loslos registros
registros siempre
siempre y cuando
y cuando la expresión
la expresión lógica
lógica
lExpression2dé
lExpression2 décomo
comoresultado
resultado verdadero
verdadero (.T.).
(.T.).
NOOPTIMIZE
NOOPTIMIZE
Desactivalalaoptimización
Desactiva optimizaciónRushmore
Rushmoredede LOCATE.
LOCATE.
Sidesea
Si deseaobtener
obtenermás másinformación,
información, vea
vea SET
SET OPTIMIZE
OPTIMIZE y Utilizar
y Utilizar optimización
optimización de consultas
de consultas Rushmore
Rushmore
paraacelerar
para acelerarelelacceso
accesodededatos.
datos.
Observaciones
Observaciones
es necesario
No es necesarioque
quelalatabla
tablaesté
estéindizada.
indizada.
utiliza el
Si utiliza el comando
comandoLOCATE
LOCATEsin
sinlalaexpresión
expresión FOR,
FOR, Visual
Visual FoxPro
FoxPro coloca
coloca el puntero
el puntero del del registro
registro en elen el primer
primer
registro
registro lógico.
lógico. Esto
Estoesesmás
másrápido
rápidoque queutilizar GOGO
utilizar TOPTOPcuando
cuandose se
utiliza un un
utiliza filtrofiltro
o cuando DELETED
o cuando DELETEDestá está
establecido
establecidoaaON. ON.
Si LOCATE
LOCATE encuentra
encuentraununregistro
registrocoincidente,
coincidente,podrá
podrá utilizar RECNO()
utilizar RECNO()parapara
devolver el número
devolver del registro
el número del registro
coincidente.
coincidente.SiSiseseencuentra
encuentraununregistro coincidente,
registro FOUND()
coincidente, FOUND() devolverá verdadero
devolverá (.T.) (.T.)
verdadero y EOF() devolverá
y EOF() falsofalso
devolverá
(.F.). Si
Si SET
SETTALK
TALKestá
estáestablecido
establecidoenenON,
ON,sese
mostrará
mostraráel número
el número deldel
registro coincidente.
registro coincidente.
Después
Después de
de que
queLOCATE
LOCATEencuentre
encuentreununregistro coincidente,
registro puede
coincidente, ejecutar
puede CONTINUE
ejecutar buscar
parapara
CONTINUE registros
buscar registros
coincidentes adicionales en el resto de la tabla. Cuando se ejecuta CONTINUE, se reanuda el proceso de
búsqueda a partir del registro que sigue inmediatamente al registro coincidente. Puede ejecutar CONTINUE
repetidamente hasta llegar al final del alcance o de la tabla.
Si no se encuentra ninguna coincidencia, RECNO() devolverá el número de registros de la tabla más uno,
FOUND() devolverá falso (.F.) y EOF() devolverá verdadero (.T.).
LOCATE y CONTINUE son específicos del área de trabajo actual. Si se selecciona otra área de trabajo, el proceso
de búsqueda original podrá continuarse cuando se vuelva a seleccionar el área de trabajo original.
Ejemplo
CONTINUE | EOF() | FIND | FOUND() | INDEXSEEK() | RECNO() | SEEK | SEEK() | SET OPTIMIZE
CONTINUE (Comando)
CONTINUE se utiliza después de que LOCATE tenga éxito al encontrar un registro, para continuar la operación
de búsqueda. CONTINUE desplaza el puntero de registro al siguiente registro para el que la expresión lógica
especificada en el comando LOCATE previo dé como resultado verdadero (.T.).
CONTINUE puede repetirse hasta que se encuentre el final del archivo o hasta que se llegue al final del alcance
especificado en LOCATE.
Si CONTINUE tiene éxito al encontrar un registro, RECNO() devolverá el número 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 número de registros de la tabla más uno,
FOUND() devolverá Falso (.F.) y EOF() devolverá Verdadero (.T.).
Vea también
$ (Operador)
Devuelve verdadero (.T.) si una expresión de caracteres está contenida dentro de otra expresión de caracteres;
de lo contrario, devuelve falso (.F.).
cSearchFor $ cSearchIn
Valores devueltos
Lógico
Parámetros
cSearchFor
cSearchIn
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
Ejemplo
% (Operador) | DELETE FILE (Comando) | CREATE TABLE - SQL (Comando) | Utilizar optimización de consultas
Rushmore para acelerar el acceso de datos | AT() | Operadores | ATLINE() | RAT() | RATLINE() | OCCURS() | INLIST()
(Función)
Especifica una expresión lógica 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
Especifica 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
Transfiere el control del programa desde el interior del bucle DO WHILE hasta el primer comando
situado detrás 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
expresión lógica lExpression sea verdadero (.T.). Una instrucción DO WHILE debe tener su correspondiente
instrucción ENDDO.
Puede situar observaciones después de DO WHILE y ENDDO en la misma línea. Estos observaciones se pasan
por alto durante la compilación y ejecución del programa.
Ejemplo
DO CASE ... ENDCASE | FOR EACH ... ENDFOR | FOR ... ENDFOR | IF ... ENDIF | IIF() | SCAN ... ENDSCAN
FOUND() (Función)
Devuelve verdadero (.T.) si CONTINUE, FIND, INDEXSEEK(), LOCATE o SEEK tienen éxito.
FOUND([nWorkArea | cTableAlias])
Valores devueltos
Lógico
Parámetros
nWorkArea
Especifica 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 especificada.
cTableAlias
Especifica 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 especifica un alias de tabla que no existe.
Observaciones
FOUND() devuelve un valor lógico 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 función es útil para determinar si una tabla secundaria tiene un registro que coincide con el
registro primario.
Ejemplo
STORE (Comando)
Especifica una expresión 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 número máximo de variables o matrices que puede crear se muestra en el tema Capacidades del sistema.
El límite se puede aumentar o reducir en el archivo de configuración de Visual FoxPro. Para obtener más
información acerca de la configuración 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 también
DIMENSION | SET COMPATIBLE | Capacidades del sistema | Personalizar el entorno de Visual FoxPro
VAL() (Función)
Devuelve un valor numérico a partir de una expresión de caracteres compuesta por números. Puede usar VAL()
para convertir cadenas de caracteres devueltas por las funciones SYS() de Visual FoxPro en valores numéricos.
VAL(cExpression)
Parámetros
cExpression
Especifica una expresión de caracteres compuesta por un máximo de 16 números. Si en cExpression
Especifi ca una
se incluyen expresión
más de caracteres
de 16 números, compuesta por un máximo de 16 números. Si en cExpression
se redondeará.
se incluyen más de 16 números, se redondeará.
Si el primer carácter de cExpression es un signo de dolar ($), VAL() devuelve un valor moneda. En todas
Si
laseldemás
primersituaciones
carácter de cExpression es un
VAL() devuelve unsigno
valorde dolar ($), VAL() devuelve un valor moneda. En todas
numérico.
las demás situaciones VAL() devuelve un valor numérico.
Valores devueltos
Valores devueltos
Dato del tipo Numérico o Moneda. VAL() devuelve los números de la expresión de caracteres de izquierda a
Dato del hasta
derecha tipo Numérico o Moneda.
que encuentra VAL() devuelve
un carácter los números
no numérico. Se pasandepor
la expresión de caracteres
alto los espacios de izquierda
en blanco a
iniciales.VAL()
derecha hasta que encuentra un carácter no numérico. Se pasan por alto los espacios en blanco iniciales.VAL()
devuelve 0 si el primer carácter de la expresión de caracteres no es un número, un signo de dolar ($), un signo
devuelve
más (+) o 0unsi signo
el primer carácter
menos (-). de la expresión de caracteres no es un número, un signo de dolar ($), un signo
más (+) o un signo menos (-).
Ejemplo
Ejemplo
clear
clear
store ‘12’ to a
store
store‘12’
‘13’to
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’&&
? 2 * val(c) todisplays
c 2500.00
? 2 * val(c) && displays 2500.00
Vea también
Vea también
SET DECIMALS | STR() | SYS() - Introducción a las funciones
SET DECIMALS | STR() | SYS() - Introducción a las funciones
STR() (Función)
STR() (Función)
Devuelve el carácter equivalente a una expresión numérica especificada.
Devuelve el carácter equivalente a una expresión numérica especificada.
STR(nExpression [, nLength [, nDecimalPlaces]])
STR(nExpression [, nLength [, nDecimalPlaces]])
Valores devueltos
Valores devueltos
Character
Character
Parámetros
Parámetros
nExpression
nExpression
Especifica la expresión numérica evaluada por STR().
Especifica la expresión numérica evaluada por STR().
nLength
nLength
Especifica la longitud de la cadena de caracteres devuelta por STR(). La longitud incluye un carácter
Especifica la longitud de la cadena de caracteres devuelta por STR(). La longitud incluye un carácter
para la coma decimal y otro por cada dígito a la derecha de la coma decimal.
para la coma decimal y otro por cada dígito 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 número de dígitos a la izquierda de la coma decimal. STR() devuelve una cadena de asteriscos,
el número de dígitos a la izquierda de la coma decimal. STR() devuelve una cadena de asteriscos,
que indica desbordamiento numérico, si especifica una longitud inferior al número de dígitos a la
que indica desbordamiento numérico, si especifica una longitud inferior al número de dígitos a la
izquierda de la coma decimal.
izquierda de la coma decimal.
Si nExpression es de tipo Numérico o Float, STR() devuelve un valor en notación científica si nLength
Si nExpression es de tipo Numérico o Float, STR() devuelve un valor en notación científica si nLength
es menor que el número de dígitos de nExpression. Si nExpression es un entero, STR() devuelve una
es menor que el número de dígitos de nExpression. Si nExpression es un entero, STR() devuelve una
cadena de asteriscos, que indica desbordamiento numérico, si nLength es menor que el número de
cadena de asteriscos, que indica desbordamiento numérico, si nLength es menor que el número de
dígitos de nExpression.
dígitos 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 número de lugares decimales de la cadena de caracteres devuelta por STR(). Debe incluir
nLength para especificar el número de lugares decimales.
Si se especifican menos caracteres decimales de los que contiene nExpression, El valor devuelto se
redondeará.
Ejemplo
clear
store 12345 to a
store 67890 to b
? str(a) + str(b) && displays 1234567890
? str(b) + str(a) && displays 6789012345
Vea también
ALLTRIM() (Función)
Elimina los espacios en blanco iniciales y finales de la expresión de caracteres especificada y devuelve la
expresión recortada como una cadena de caracteres.
ALLTRIM(cExpression)
Valores devueltos
Character
Parámetros
cExpression
Especifica la expresión 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 también
LTRIM() (Función)
Devuelve la expresión de caracteres especificada después de eliminar los espacios en blanco iniciales.
LTRIM(cExpression)
Valores devueltos
Character
Parámetros
cExpression
Especifica la expresión de caracteres en la cual LRTRIM() elimina los espacios en blanco iniciales.
Observaciones
Esta función es especialmente útil para eliminar los espacios en blanco iniciales que se insertan cuando se
utiliza STR() para convertir un valor numérico en una cadena de caracteres.
Ejemplo
clear
store “ Instituto “ to a
?a
? ltrim(a)
Vea también
RTRIM() (Función)
Devuelve la expresión de caráacteres especificada con todos los espacios en blanco finales recortados.
RTRIM(cExpression)
Valores devueltos
Carácter (Character)
Parámetros
cExpression
Especifica la expresión de carácteres 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 función RTRIM() es idéntica a TRIM().
Ejemplo
clear
store “ Instituto “ to a
?a
? rtrim(a)
Vea también
Devuelve un número especificado de carácteres de una expresión de carácteres, a partir del carácter situado
más a la izquierda.
LEFT(cExpression, nExpression)
Valores devueltos
Character
Parámetros
cExpression
nExpression
Ejemplo
clear
store “Instituto Tecnico Educando a Colombia“ to a
?a
? left(a,9) && Display Instituto
Vea también
AT() | AT_C() | ATC() | ATCC() | ATCLINE() | ATLINE() | LTRIM() | RAT() | RATLINE() | RIGHT() | RTRIM() | SUBSTR() |
LEFTC() | RIGHTC() | SUBSTRC()
RIGHT() (Función)
Devuelve el número especificado de caracteres del extremo derecho de una cadena de caracteres.
RIGHT(cExpression, nCharacters)
Valores devueltos
Character
Parámetros
cExpression
Especifica la expresión de caracteres de la que se devuelven los caracteres del extremo derecho.
nCharacters
Especifica el número de caracteres devueltos desde la expresión de caracteres. RIGHT() devuelve toda
la expresión de caracteres si nCharacters es mayor que la longitud de cExpression. RIGHT() devuelve
una cadena vacía si nCharacters es negativo o 0.
Observaciones
Los caracteres
caracteresse
sedevuelven
devuelvencomenzando por
comenzando el último
por carácter
el último de la
carácter dederecha y continuando
la derecha durante
y continuando el número
durante el número
de caracteres
caracteresespecifi
especificado.
cado.
Ejemplo
Ejemplo
clear
clear
store
store“Instituto
“InstitutoTecnico
TecnicoEducando a Colombia“
Educando to ato a
a Colombia“
??aa
??right(a,8)
right(a,8)&&
&&Display
DisplayColombia
Colombia
Vea también
también
AT() || AT_C()
AT_C()||ATC()
ATC()| |ATCC()
ATCC()| ATCLINE() | ATLINE()
| ATCLINE() | LEFT()
| ATLINE() | LEFTC()
| LEFT() (Función)
| LEFTC() | LTRIM()
(Función) | RAT()
| LTRIM() | RATLINE()
| RAT() | RTRIM()
| RATLINE() | RTRIM()
| SUBSTR()
SUBSTR()||RIGHTC()
RIGHTC()| |SUBSTRC()
SUBSTRC()| TRIM()
| TRIM()
SUBSTR()
SUBSTR()(Función)
(Función)
Devuelve
Devuelveun
unnúmero
númerode
decaracteres
caracteresespecíficoco
específi dede
una expresión
una de caracteres
expresión o unocampo
de caracteres memo.
un campo memo.
SUBSTR(cExpression,
SUBSTR(cExpression,nStartPosition
nStartPosition[, nCharactersReturned])
[, nCharactersReturned])
Valores
Valores devueltos
devueltos
Carácter
Carácter
Parámetros
Parámetros
cExpression
cExpression
Especifi
Especifica
calalaexpresión
expresióndedecaracteres o el
caracteres campo
o el memo
campo desde
memo los que
desde se devuelve
los que la cadena
se devuelve de de
la cadena
caracteres.
caracteres.
nStartPosition
nStartPosition
Especifica
Especifi calalaposición
posiciónenenlala expresión
expresión dede caracteres
caracteres o la
o en encExpression
la cExpression del campo
del campo memo memo desde
desde la quela que
sedevuelve
se devuelvelalacadena
cadenadedecaracteres.
caracteres. El primer
El primer carácter
carácter de cExpression
de cExpression es laes la posición
posición 1. 1.
Si lalaposición
Si posiciónespecifi
especifi cadaeses
cada mayor
mayor que
que el número
el número de de caracteres
caracteres de cExpression,
de cExpression, se devolverá
se devolverá una una
cadenavacía.
cadena vacía.
nCharactersReturned
nCharactersReturned
Especifica
Especifi caelelnúmero
númerodedecaracteres
caracteresqueque
se se devuelve
devuelve de de cExpression.
cExpression. Si seSiomite
se omite nCharactersReturned,
nCharactersReturned,
loscaracteres
los caracteressesedevolverán
devolverán hasta
hasta llegar
llegar al fialnal
final
de de la expresión
la expresión de caracteres.
de caracteres.
Observaciones
Observaciones
SUBSTR()devuelve
SUBSTR() devuelveuna
unacadena
cadenadedecaracteres
caracteres
dede una
una expresión
expresión de tipo
de tipo Carácter
Carácter o deoun
decampo
un campo memo,
memo, a partir
a partir
la posición
de la posiciónespecifi
especificada
cadaenenlalaexpresión
expresión Character
Character o elo campo
el campo memo,
memo, y hasta
y hasta el número
el número especifi
especifi cado cado
de de
caracteres.
caracteres.
Cuandoutilice
Cuando utiliceSUBSTR()
SUBSTR()con
concampos
campos memo
memo enen
unun comando
comando SELECT
SELECT – SQL,
– SQL, incluya
incluya la función
la función PADR()
PADR() en SUBSTR()
en SUBSTR()
modo que
de modo quelosloscampos
camposmemo
memovacíos
vacíos
oodede longitud
longitud variable
variable produzcan
produzcan resultados
resultados coherentes
coherentes cuando
cuando se se
conviertanaacadenas
conviertan cadenasdedecaracteres.
caracteres.
SUBSTR()no
SUBSTR() nodevolverá
devolveráningún
ningúnvalor
valor para
para unun campo
campo memo
memo si sesiejecuta
se ejecuta
en laenventana
la ventana Depuración.
Depuración. Para devolver
Para devolver
valor en
un valor enlalaventana
ventanaDepuración,
Depuración,incluya
incluya
el el nombre
nombre deldel
campocampo memo
memo en ALLTRIM()
en ALLTRIM() e incluya
e incluya ALLTRIM()
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 también
AT() | AT_C() | ATC() | ATCC() | ATCLINE() | ATLINE() | LEFT() | PADR() | RAT() | RATLINE() | RIGHT() | LEFTC() | RIGHTC()
| SUBSTRC() | STRTRAN() | STUFF()
NOTAS
NOTAS
NOTAS
NOTAS