Sei sulla pagina 1di 490

intro.

dwu Page 1 Monday, December 4, 1995 10:15 AM

Guía del usuario


Visual dBASE® para Windows
Introduc ción
Copyright

Visual dBASE es un entorno de base de datos dinámico, idóneo para cualquier usuario,
desde el más inexperto hasta el programador de aplicaciones. Visual dBASE constituye
a la vez un sistema de base de datos para usuarios finales y un entorno completo de
programación y desarrollo.
Puede trabajar en el interface de usuario de Visual dBASE para crear tablas, consultar
sus datos y generar informes pormenorizados y estructurados de los mismos. Si lo
prefiere, dispone de la ventana de comandos interactiva, donde puede introducir los
comandos del lenguaje dBASE directamente. dBASE proporciona compatibilidad total
con los datos y aplicaciones de versiones anteriores de dBASE para DOS.
Este manual y el amplio sistema de Ayuda en línea le proporcionan toda la información
que necesita para trabajar a pleno rendimiento en el interface de usuario de esta potente
base de datos para Windows.
La Guía del programador, la Referencia del lenguaje y la Ayuda en línea describen todas las
características que hacen de Visual dBASE un entorno completo de programación y
desarrollo.

Introducción 1
intro.dwu Page 2 Monday, December 4, 1995 10:15 AM

Contenido de la Guía del usuario


Parte I. Procedimientos iniciales. Antes de trabajar con Visual dBASE, debe instalar el
programa y configurarlo para su sistema. Los cuatro primeros capítulos muestran cómo
instalar Visual dBASE, describen cómo configurar el Database Engine de Borland (BDE)
según sus necesidades, realizan una presentación del producto y ofrecen una breve
introducción al lenguaje de programación de dBASE.
Parte II. Tablas. Las tablas constituyen los cimientos de cualquier sistema de gestión de
datos. Los cuatro capítulos siguientes describen los procedimientos básicos para crear
tablas y manipular sus datos. Aprenderá cómo crear tablas mediante el Diseñador de
tablas, cómo añadir índices para facilitar y agilizar la recuperación de datos, cómo editar
tablas y cómo buscar datos.
Parte III. Consultas. De nada le servirá hacer un gran acopio de datos si no puede
obtener repuesta a sus preguntas. Los dos capítulos siguientes se centran en la eficaz
herramienta de recuperación de datos de Visual dBASE: la consulta. Aprenderá cómo
crear consultas sencillas y con varias tablas.
Parte IV. Fichas. Los cinco capítulos siguientes se ocupan del Diseñador de fichas, una
herramienta ideal para diseñar fichas personalizadas, con campos de entrada, casillas de
verificación, botones de radio y todas las características de un interface de usuario
completo. Estos capítulos contienen información sobre los objetos y propiedades, las
líneas maestras de diseño y las utilidades de ficha; también se muestra cómo crear fichas,
menús, botones y barras rápidas. Por último, se incluye un capítulo que explica un
procedimiento paso a paso para la creación de una ficha de ejemplo.
Parte V. Utilidades. Estos capítulos profundizan en las demás utilidades que
contribuyen a la sorprendente eficacia del interface de usuario de dBASE, incluida la
indispensable ventana de comandos, el medio de conexión con el lenguaje de
programación. Conocerá el Generador de expresiones y el Editor de textos y verá cómo
se generan informes.
Parte VI. Apéndices. Esta manual incluye varios apéndices. En el Apéndice A se
describen las diferencias entre Visual dBASE y dBASE IV. El Apéndice B incluye las
acciones de teclado y ratón. En el Apéndice C se describe cómo editar el archivo de
inicialización de dBASE para definir valores por defecto y configurar el entorno.
En el Apéndice E se describen los cambios que se producen en el interface de usuario de
Visual dBASE cuando se trabaja con datos SQL.

Recursos en línea
Además de la documentación impresa, Visual dBASE cuenta con una extensa
documentación en línea formada por la Ayuda en línea y los Tutores interactivos™.
Estos recursos se describen profusamente a partir de la página 41.

2 Guía del usuario


intro.dwu Page 3 Monday, December 4, 1995 10:15 AM

Documentación de Visual dBASE


Visual dBASE incluye un conjunto de documentación impresa (descrito en esta sección),
un amplio sistema de Ayuda, que incluye información sobre referencias y tareas, y un
sistema de Tutores interactivos en línea que permiten trabajar con datos reales a medida
que se desplaza por los tutoriales paso a paso.
Además de esta Guía del usuario, la documentación impresa incluye los manuales
siguientes:
• La Guía del programador contiene información sobre tareas de programación comunes,
como la comparación de cadenas de caracteres, el uso de matrices y la búsqueda de
registros. También incluye una introducción a conceptos de programación de
Windows, como la utilización de DLLs.
• La Referencia del lenguaje contiene descripciones de sintaxis completas de todos los
elementos del lenguaje: comandos, funciones, directivas de preprocesador, variables
de memoria del sistema, propiedades y clases.
• Guía del usuario de Crystal Reports para Visual dBASE describe la creación de informes
y etiquetas.
• La Quick Reference proporciona un práctico resumen de los elementos del lenguaje.

Términos, técnicas y convenciones


Estos manuales utilizan determinados términos y convenciones para describir acciones
específicas.

Términos relacionados con el ratón


En Visual dBASE, el ratón se utiliza como se haría en cualquier otro programa de
Windows; se hace clic para activar un elemento, se hace doble clic para seleccionar en una
lista y se arrastra para desplazar un objeto o cambiar su tamaño.
Para ver las propiedades de un objeto, haga clic con el botón derecho en él.

Términos relacionados con el teclado


Los nombres de tecla se indican con un tipo de letra especial. Por ejemplo, “pulse Alt”
indica que pulse la tecla Alt. “Pulse Ctrl+F2” indica que mantenga pulsada la tecla Ctrl
mientras pulsa la tecla F2.
El texto utiliza un tipo de letra especial cuando se indica que debe escribir algo desde el
teclado, como en el ejemplo siguiente:
Introduzca SET EDITOR TO "c:\windows\notepad.exe" en la ventana de comandos.
Nota Las comillas incluidas en una cadena (en este caso, encerrando la especificación de
vía de acceso) deben teclearse con el texto.

Introduction 3
intro.dwu Page 4 Monday, December 4, 1995 10:15 AM

Términos generales
En la lista siguiente se describen algunos términos estándar de Windows:
• Elegir indica ejecutar un comando desde la barra de menús o un botón en un cuadro
de diálogo. Los títulos de menú y nombres de comandos se separan con una barra
vertical. Por ejemplo, “elija Archivo |Abrir” indica que elija el comando Abrir del
menú Archivo.
• Seleccionar es un término genérico que hace referencia a una acción que debe
realizarse antes de poder realizar otra. Por ejemplo, debe seleccionar un icono antes
de poder elegir los comandos que actúan sobre él, y debe seleccionar un campo para
poder editarlo. Para seleccionar un objeto, generalmente se hace clic en él.
Para seleccionar texto, se arrastra el puntero del ratón sobre él.
• Inspeccionar significa ver las propiedades de un objeto mediante el Inspector.
Para más información, consulte “Definición de propiedades con inspectores” en la
página 26.

Transición a Visual dBASE


En esta sección se describen algunas características que pueden facilitar la transición a
este nuevo entorno.

Para programadores en Windows


Si es un programador experto en Windows, pero todavía no ha trabajado con el lenguaje
de dBASE, observará que:
• Visual dBASE mantiene los conceptos estándar de programación orientada a objetos
en propiedades, clases, objetos y sucesos.
• Un potente modelo de objetos simplifica las tareas de programación.
• Visual dBASE utiliza el modelo Interface de documentos múltiples (MDI) para la
administración de ventanas. Las ventanas secundarias se sitúan dentro de los bordes
de la ventana principal. La ventana principal, o escritorio, asigna el área de pantalla
para la barra de menús y la barra rápida. Las ventanas secundarias incluyen
contenedores, objetos de base de datos y utilidades. También puede crear fichas
SDI (Interface de documento único).
• Puede llamar a las .DLL de Windows mediante el acceso API que proporciona el
comando EXTERN.
• Los menús y los botones de la Barra rápida cambian según la ventana secundaria
seleccionada; Visual dBASE dispone de un interface de usuario tipo “OLE 2”.
• El Generador de expresiones facilita el aprendizaje del lenguaje dBASE; es una
utilidad interactiva que permite elegir elementos de expresión entre un conjunto de
opciones y, posteriormente, comprueba la sintaxis a medida que se crea la expresión.

4 Guía del usuario


intro.dwu Page 5 Monday, December 4, 1995 10:15 AM

• Al igual que en versiones anteriores de Borland para Windows, cuando se hace clic
con el botón derecho del ratón en un objeto se muestran sus propiedades.
• dBASE es un lenguaje completo de programación, optimizado para la administración
de bases de datos.
• Como ya se ha indicado en la sección anterior, puede utilizar Visual dBASE para crear
aplicaciones Windows orientadas a objetos y dirigidas por sucesos.
• Puede escribir programas que utilicen datos de Paradox y SQL.

Para usuarios expertos de dBASE


Si ya ha utilizado versiones anteriores de dBASE, estará habituado a llevar a cabo las
tareas con un método determinado. Para que pueda aprovechar en la medida de lo
posible su experiencia, el interface de usuario de Visual dBASE incluye diferentes
características que proporcionan métodos nuevos para realizar tareas habituales:
• La ventana de comandos sustituye al indicativo. Puede ejecutar comandos desde la
ventana de comandos exactamente igual que lo hacía desde el indicativo. Además,
puede ver los comandos que aparecen automáticamente a medida que realiza
acciones en el interface de usuario.
• Visual dBASE soporta la mayoría de los comandos de dBASE. La excepción más
importante la constituyen los comandos que ya no tienen sentido en el entorno
Windows, como SET HISTORY, LOAD y CALL.
• Las características del Centro de control están disponibles a través del sistema de
menús y ventanas de catálogo. Aún puede disponer de catálogos que muestran
elementos relacionados, pero la presentación es diferente. Las relaciones se muestran
gráficamente en la ventana de catálogo. Cuando organiza tablas, consultas y fichas en
una ventana de catálogo, se asocian de forma automática.
Además de conservar las funciones de dBASE IV, Visual dBASE incorpora nuevas
características. A continuación se mencionan dos que pueden resultar particularmente
útiles:
• Visual dBASE soporta un amplio rango de efectos multimedia, que permiten
almacenar sonidos e imágenes en las tablas de base de datos.
• Puede utilizar Visual dBASE para acceder a datos de Paradox y SQL. Por ejemplo,
puede abrir tablas de Paradox, para Windows o DOS, directamente desde
Visual dBASE.

Introduction 5
intro.dwu Page 6 Monday, December 4, 1995 10:15 AM

Para programadores expertos de dBASE


Si es un programador experto en dBASE, comprobará que:
• Los programas se ejecutan sin cambios en Visual dBASE. El panel de resultados de la
ventana de comandos funciona como una pantalla DOS virtual en la que se ejecuta el
programa (la excepción principal la constituyen las aplicaciones que utilizan
comandos que se ejecutan en sus propias ventanas, como BROWSE y CREATE).
• Puede depurar programas con el Depurador, una utilidad de varias ventanas que
puede ejecutar desde el producto o como aplicación independiente.
• Puede crear programas dirigidos por sucesos que permiten aprovechar todas las
ventajas del entorno Windows. Los programas pueden permitir que el usuario
conmute entre tareas o ejecute varias instancias de la aplicación. El interface de
usuario dirigido por sucesos es más flexible, ya que el usuario no se ve obligado a
seguir una secuencia fija de tareas determinada por el código del programa.
• El código de programa orientado a objetos permite un mantenimiento y una
actualización más sencillas; asimismo, los módulos de código puede reutilizarse
fácilmente en el mismo o en otros programas.
Los programas dirigidos por sucesos y la programación orientada a objetos se tratan en
el Capítulo 3 y con mayor detalle en la Guía del programador.

Registro del software y soporte técnico


El programa Assist de Borland ofrece una variedad de planes de soporte técnico que se
adaptan a las diferentes necesidades de individuos, consultores, grandes empresas y
programadores. Para recibir ayuda mediante este producto, envíe la tarjeta de registro y
seleccione el plan Assist de Borland que mejor se ajuste a sus necesidades. Los clientes
de Estados Unidos pueden registrarse por teléfono las 24 horas del día llamando al
número 1-800-845-0147. Para obtener más información sobre éste y otros servicios de
Borland, consulte la Borland Assist Support and Services Guide incluida con este producto.

6 Guía del usuario


p_gs.dwu Page 7 Friday, September 1, 1995 4:16 PM

Parte

I
Procedimientos iniciales
Parte I

Tanto si piensa configurar una simple base de datos como si desea desarrollar una
aplicación personalizada, el primer paso que debe realizar es la instalación de
Visual dBASE en el disco duro (o en un servidor de red) y su configuración para un
funcionamiento óptimo en su sistema.
Los capítulos de la Parte I muestran cómo instalar Visual dBASE y explican cómo
configurar el Engine de base de datos de Borland. También incluyen conceptos básicos
de base de datos y el lenguaje dBASE.
• Capítulo 1, “Instalación y configuración”
• Capítulo 2, “Introducción”

Parte I, Procedimientos iniciales 7


p_gs.dwu Page 8 Friday, September 1, 1995 4:16 PM

8 Guía del usuario


install.dwg Page 9 Friday, September 1, 1995 4:17 PM

Capítulo

Instalación y configuración
Capítulo 1
1
En este capítulo se explica cómo instalar y ejecutar Visual dBASE. También se describen
las opciones de configuración y las repercusiones de la instalación sobre los archivos del
sistema.

Archivo LEAME
El Disco 1 del paquete de Visual dBASE contiene un archivo texto denominado
LEAME.TXT, donde encontrará la información que no estaba disponible cuando se
imprimieron los manuales, además de otros datos que pueden interesarle antes de
instalar Visual dBASE. Consulte este archivo antes de comenzar la instalación.
Para ver el archivo LEAME, introduzca el Disco 1 en la unidad de disquetes y abra el
archivo en el Bloc de notas de Windows o en cualquier editor o procesador de texto.

Requisitos de componentes y programas


Consulte los requisitos que se mencionan en la parte exterior del paquete Visual dBASE.
Para conocer los requisitos de espacio en disco y consultar una lista de redes soportadas,
consulte el archivo LEAME.

Capítulo 1, Instalación y configuración 9


install.dwg Page 10 Friday, September 1, 1995 4:17 PM

Instalación de Visual dBASE


Para iniciar el programa de instalación:
1 Inserte el Disco 1 en la unidad de disco.
2 En el Administrador de programas de Windows, elija Archivo|Ejecutar.
3 En el cuadro de diálogo Ejecutar, introduzca A:SETUP en el cuadro de texto
Línea de comando.
El programa de instalación solicitará la información siguiente:
• La vía de acceso donde desea instalar Visual dBASE. El programa se instala por
defecto en C:\VISUALDB.
• Su nombre y el de su empresa. Ambos aparecerán en la pantalla inicial cada vez que
ejecute Visual dBASE. Debe indicar al menos su nombre.

Opciones de instalación
El programa de instalación permite personalizar la configuración, según sus
necesidades y el espacio disponible en disco. Puede instalar todos los archivos
(instalación completa), sólo los que seleccione (instalación personalizada) o únicamente
aquellos que sean indispensables para ejecutar Visual dBASE (instalación mínima).
Por ejemplo, en la instalación personalizada puede prescindir de los archivos de
ejemplo o la Ayuda en línea (aunque le aconsejamos encarecidamente que instale
ambos).
Una vez seleccionadas las opciones de instalación, ésta se realiza progresivamente.
A partir de este punto, sólo debe introducir los disquetes cuando se soliciten.

Cambios en los archivos de configuración


El programa de instalación revisa los siguientes archivos de configuración:
• En el archivo de configuración WIN.INI de Windows, estas líneas indican a
Windows el nombre del archivo de configuración de Visual dBASE y su ubicación:
[DBASEWIN INSTALL]
Location=C:\VISUALDB\BIN\DBASEWIN.INI
• También en WIN.INI, las líneas siguientes describen la ubicación del archivo de
configuración principal de BDE:
[IDAPI]
CONFIGFILE01=C:\IDAPI\IDAPI.CFG
DLLPATH=C:\IDAPI
Las líneas siguientes describen la ubicación de los controladores de lenguaje BDE:
[Borland Language Drivers]
LDPath=C:\IDAPI\LANGDRV

10 Guía del usuario


install.dwg Page 11 Friday, September 1, 1995 4:17 PM

BDE se describe en “Configuración del Engine de base de datos de Borland” en la


página 14.
• El archivo de configuración DBASEWIN.INI se crea en el directorio especificado en
WIN.INI. Los datos identificativos introducidos por el usuario al principio de la
instalación se incluyen así en DBASEWIN.INI:
[INSTALL]
Username=<nombre del usuario>
Company=<nombre de la empresa>

Carga automática de archivos


Es posible configurar Visual dBASE para que cargue automáticamente un programa,
catálogo, tabla u otro archivo, de dos formas: cargando siempre el mismo archivo o
especificando uno cada vez que se arranque Visual dBASE.
• Para cargar siempre el mismo archivo, edite la sección [Settings] del archivo
DBASEWIN.INI. Por ejemplo, para cargar un programa denominado
BALLENAS.PRG, añada a [Settings] esta línea:
COMMAND=C:\PROYECTO\MARINO\BALLENAS.PRG
Es preciso especificar la vía de acceso completa si el archivo no se halla en la vía de
acceso de búsqueda. Mientras esta sentencia permanezca en DBASEWIN.INI,
BALLENAS.PRG se cargará automáticamente cada vez que ejecute Visual dBASE.
• Para especificar un archivo al arrancar Visual dBASE, introduzca el nombre del
mismo en la Línea de comando del cuadro de diálogo Ejecutar del Administrador de
programas. Por ejemplo, para especificar BALLENAS.PRG, elija Archivo|Ejecutar y
teclee lo siguiente en el cuadro de texto Línea de comando:
DBASEWIN.EXE C:\PROYECTO\MARINO\BALLENAS.PRG
La próxima vez que arranque Visual dBASE podrá especificar otro archivo.

Capítulo 1, Instalación y configuración 11


install.dwg Page 12 Friday, September 1, 1995 4:17 PM

Instalación en red
Visual dBASE puede instalarse desde una red en una unidad local y también puede
ejecutarse desde la instalación central en la red. En ambos casos, la instalación y el uso
del programa en la red están condicionados por el acuerdo de licencia de la empresa
usuaria con Borland International. El administrador de la red le puede proporcionar
más información al respecto.

Instalación desde una red


El administrador de la red puede dejar en ésta una copia de los discos de instalación.
La Figura 1.1 muestra una de las configuraciones posibles. Estos archivos pueden
servirle para instalar Visual dBASE en su ordenador.
Figura 1.1 Discos de instalación en un servidor de red

Cada subdirectorio (DISCO1, DISCO2, etc.) contiene los archivos del correspondiente disco
de instalación.

Puede instalar el programa en su ordenador a partir de la configuración de la Figura 1.1


de cualquiera de estas dos formas:
• Elija Archivo|Ejecutar en el Administrador de programas y teclee
[d]:\VISUALDB\DISCO1\SETUP, donde [d] es la unidad de red.
• En el Administrador de archivos, cambie a la vía de acceso del directorio
[d]:\VISUALDB\DISCO1 y haga doble clic sobre SETUP.EXE en la lista de
nombres de archivo.

12 Guía del usuario


install.dwg Page 13 Friday, September 1, 1995 4:17 PM

Ejecución desde un servidor de red


El administrador de la red puede instalar Visual dBASE en un servidor de red para que
varios colaboradores puedan ejecutar el programa desde una sola instalación en la red.
Aunque no haya más que una copia de DBASEWIN.EXE, ello no le impide ejecutarla
con una configuración personalizada ni cargar un programa automáticamente al
arrancar dBASE. Para ello, debe especificar lo siguiente en el cuadro de texto Línea de
comando del cuadro de diálogo Propiedades del elemento de programa:
• Ubicación de su copia local del archivo de configuración DBASEWIN.INI, precedida
por la opción -C de la línea de comando (sin espacio final).
• Vía de acceso al archivo de programa que quiera cargar.
Por ejemplo, suponga que la ubicación de sus archivos es la siguiente:
• DBASEWIN.EXE está en la unidad de red H:\DB_COMUN.
• DBASEWIN.INI está en la unidad local C:\MI_INIS\VISUALDB.
• VENTAS94.PRG está en la unidad de red S:\PROGRAMS\VISUALDB\COMUN.
Introduzca lo siguiente en el cuadro de texto Línea de comando:
H:\DB_COMUN\DBASEWIN.EXE -CC:\MI_INIS\VISUALDB S:\PROGRAMS\VISUALDB\COMUN\VENTAS94.PRG
En este contexto conviene señalar tres temas que se tratan en profundidad en otros
puntos de la documentación:
• Arranque de un programa (u otro archivo), que se explica en la página 11.
• Uso de varias versiones de DBASEWIN.INI, que se detalla en el Apéndice C.
• Temas de red generales (compartición de datos, protección de archivos, etc.), que se
explican en el Capítulo 17.

Capítulo 1, Instalación y configuración 13


install.dwg Page 14 Friday, September 1, 1995 4:17 PM

Archivos de aplicación
Al instalar Visual dBASE se instalan en realidad cuatro aplicaciones distintas con cuatro
archivos ejecutables (EXE) distintos:
• DBASEWIN.EXE, el archivo de la aplicación Visual dBASE.
• DBWDEBUG.EXE, el Depurador.
• BDECFG.EXE, la utilidad de configuración BDE.
• CRW.EXE, el archivo de la aplicación Crystal Reports.
Puede arrancar una aplicación desde distintos puntos de las siguientes formas:
• Para ejecutar una aplicación desde un grupo de programas, haga doble clic sobre el
icono del grupo.
• Para hacerlo desde el Administrador de archivos, acceda a la unidad y el directorio
adecuados y haga doble clic sobre el nombre correspondiente de la lista de archivos
(por ejemplo, DBASEWIN.EXE).
• Desde el Administrador de programas, elija Archivo|Ejecutar para abrir el cuadro de
diálogo Ejecutar. Introduzca el nombre de archivo de la aplicación en el cuadro de
texto Línea de comando. Si el archivo no está en la vía de acceso de búsqueda, debe
incluir la especificación de archivo completa. (Si no conoce bien las vías de acceso de
búsqueda, consulte el manual del sistema operativo.)
• Para arrancar Crystal Reports desde Visual dBASE, puede abrir un informe existente
o crear uno nuevo. Los informes se describen en el Capítulo 2, Capítulo 16 y en la
Guía del usuario de Crystal Reports para Visual dBASE.
• Para arrancar el Depurador desde Visual dBASE, seleccione el archivo de programa
(.PRG) que quiera depurar, haga clic con el botón derecho del ratón y elija Depurar en
el menú rápido.

Configuración del Engine de base de datos de Borland


Si va a utilizar alias de Paradox o piensa conectar con bases de datos SQL
(InterBase, Oracle, Sybase o Informix), debe configurar el Engine de base de datos
de Borland (BDE). Consulte el Apéndice D.

14 Guía del usuario


getknow.dwg Page 15 Friday, September 1, 1995 4:18 PM

Capítulo

Introducción
Capítulo 2
2
Visual dBASE es un sistema completo de gestión de datos y creación de aplicaciones de
gestión de datos. Permite tanto crear una simple lista de direcciones como establecer
una relación compleja con diversos tipos de información. Por ejemplo, si mantiene
registros de sus clientes, inventario y pedidos, puede vincular estos elementos para
poder controlar su negocio desde varias perspectivas diferentes.
En este capítulo se describen los conceptos y entidades básicos de gestión de datos y se
muestra cómo se lleva a cabo en el interface de usuario.

Capítulo 2, Introducción 15
getknow.dwg Page 16 Friday, September 1, 1995 4:18 PM

Interface de usuario
El interface de usuario (IU) es lo que el usuario ve en pantalla. Incluye menús, cuadros de
diálogo, ventanas, paletas y otros elementos gráficos, muchos de los cuales están visibles
en el momento de iniciar el programa.
El IU es el medio que puede utilizar para diseñar y ejecutar tablas, consultas, fichas e
informes sin introducir comandos de dBASE. En cualquier caso, tiene varias
posibilidades. Si decide introducir comandos, puede hacerlo abriendo la ventana de
comandos. Estas funciones y los elementos del IU que aparecen en la Figura 2.1 se
describen a lo largo de este capítulo.
Figura 2.1 Ventana de aplicación de Visual dBASE

Barra de menús
Barra rápida

Selector de archivos

Escritorio

Icono de la ventana
de comandos
minimizada
Barra de estado

En la siguiente sección se explica la implementación de los conceptos y elementos de


gestión de base de datos en Visual dBASE.

16 Guía del usuario


getknow.dwg Page 17 Friday, September 1, 1995 4:18 PM

Gestión de datos
Aunque contiene un gran número de funciones nuevas, Visual dBASE se basa en
conceptos de gestión de datos ya conocidos. Si ya ha utilizado algún programa de base
de datos, le resultarán familiares muchas de las operaciones que efectúa Visual dBASE
para gestionar información. Algunos elementos de gestión de datos que ya conocerá
son:
• Tablas
• Indices
• Consultas
• Fichas
• Informes y etiquetas
Las siguientes secciones son breves introducciones a cada una de estos elementos, con
ilustraciones de su aspecto en el interface de usuario.

Recopilación de datos en tablas


La tabla es la unidad básica de gestión de datos. Las tablas aplican una estructura de filas
y columnas a los datos y dan sentido a éstos.
Por ejemplo, una lista de direcciones es una recopilación de datos aislados
(como “García”, “Calle Mayor 42” y “28012”) que no tienen sentido por sí solos.
Mediante la organización de los datos de una manera coherente y su identificación
como Nombre, Dirección y Código postal, la estructura de tabla les da sentido.
Las tablas contienen registros, que a su vez contienen campos.
• Un registro contiene toda la información referente a una determinada entidad de la
tabla, como el nombre completo y la dirección de una persona. Cada fila de la tabla es
un registro.
• Los campos identifican los distintos datos contenidos en cada registro, como
Nombre, Dirección, Ciudad, Provincia, Código postal, Teléfono, etc. La estructura de
tabla requiere que todos los registros contengan los mismos campos en las mismas
posiciones. Por ejemplo, si el campo Apellido es el primero de un registro, es también
el primer campo de todos los registros.
En Visual dBASE los campos pueden contener muchos tipos de datos, como texto,
fechas, cifras e incluso datos binarios como imágenes en mapa de bits y archivos de
sonido. Cada columna de la tabla es un campo.

Capítulo 2, Introducción 17
getknow.dwg Page 18 Friday, September 1, 1995 4:18 PM

En la Figura 2.2 se muestra la ventana Registros de tabla, donde puede añadir o editar
registros.
Figura 2.2 Ventana Registros de tabla

Las columnas son


campos.

Las filas son registros.

Para mayor claridad,


las ventanas de
comandos y La barra de estado
Selector de archivos identifica la tabla e
aparecen indica el número del
minimizadas en el registro
Escritorio. seleccionado.

Comentario sobre las sesiones


Visual dBASE introduce el concepto de sesiones, que ofrece dos modelos para trabajar
con los programas. Cuando las sesiones están activadas, Visual dBASE sigue el modelo
Windows. Por ejemplo, al cerrar una ventana de tabla también se cierra la tabla si
ninguna otra ventana hace referencia a ella. Cuando las sesiones están desactivadas, el
funcionamiento del programa es más parecido al de dBASE IV. Por ejemplo, aunque se
cierren todas las ventanas que hacen referencia a una tabla, no se cierra la propia tabla.
Las sesiones también afectan a lo que sucede cuando se alterna entre el interface de
usuario y la ventana de comandos.
Utilice la casilla de verificación Sesiones en la página Archivos del cuadro de diálogo
Propiedades del escritorio para especificar si va a utilizar sesiones. Estas se describen
con mayor detalle en “Sesiones” en la página 104.

18 Guía del usuario


getknow.dwg Page 19 Friday, September 1, 1995 4:18 PM

Organización de datos mediante índices


Los índices ofrecen una forma de organizar los datos para aumentar considerablemente
la velocidad de acceso a los distintos registros. Para visualizar los datos en un
determinado orden sin utilizar un índice, es necesario clasificar la tabla de forma
manual, trasladando los registros a otra tabla. Para ver los datos en otro orden, habría
que clasificarlos de nuevo.
Los índices permiten visualizar los datos de muchas maneras sin necesidad de trasladar
los registros a otra tabla. Por ejemplo, en una lista de direcciones podría crear dos
índices, uno según el campo Apellido y otro según el campo Cod_post. De este modo
podría ver la lista de dos formas, en orden alfabético según el nombre de la persona o en
orden numérico según el código postal.
La tabla que aparece en la Figura 2.2 está en orden natural, es decir, el orden en que se
introdujeron los datos. En la Figura 2.3 se muestra la misma tabla según dos índices
distintos.
Figura 2.3 Tabla indexada
Tabla indexada en
orden ascendente La ventana de
por Apellido. comandos
muestra el
comando de
dBASE que se
ha ejecutado.

Tabla indexada en
orden descendente Comando de
por Cod_post. dBASE

Capítulo 2, Introducción 19
getknow.dwg Page 20 Friday, September 1, 1995 4:18 PM

Visualización de datos mediante consultas


Una consulta es una pregunta que se hace a una tabla. Sirve para seleccionar (o filtrar) los
datos de una o más tablas a fin de obtener información como la siguiente:
• El número de pedidos recibidos el mes pasado.
• El número de clientes de Málaga que hicieron dos o más pedidos durante el
mes de abril.
• Todos los pedidos por un importe superior a 1.500.000 Ptas.
• Todos los clientes que no han hecho ningún pedido este año.
Además, puede utilizar consultas para vincular dos o más tablas, estableciendo una
relación entre ellas. Por ejemplo, si los clientes están en una tabla y sus pedidos en otra,
puede vincular las tablas por medio de una consulta.
En la Figura 2.4 se muestra una consulta sencilla (realizada con el Diseñador de
consultas) a la tabla Dirección. La consulta solicita el apellido, nombre y código postal
de las personas que viven en Cáceres.
Para visualizar el Diseñador de consultas y seleccionar una tabla para consultar, elija
Archivo|Nuevo|Consulta o haga doble clic sobre el icono de consulta (Sin título) en el
Selector de archivos.
Figura 2.4 Consulta

Las marcas de verificación indican


los campos que deben aparecen
en la tabla de resultados.

La cadena “Madrid” es el filtro, lo


cual significa que sólo los registros
con Madrid en el campo Provincia
aparecerán en la tabla de
resultados.

20 Guía del usuario


getknow.dwg Page 21 Friday, September 1, 1995 4:18 PM

Visualización de datos mediante fichas


Una ficha es una ventana que sirve para visualizar y editar datos. Es posible basar una
ficha en una sola tabla o en varias tablas vinculadas. Puede diseñar fichas que contengan
objetos para visualizar y manipular los datos, como botones de comando, barras de
desplazamiento, casillas de verificación y cuadros de lista.
El Diseñador de fichas presenta imágenes de las herramientas y objetos para que el
usuario pueda ver la ficha a medida que la crea. En la Figura 2.5 se muestran las
herramientas utilizadas para crear una ficha.
Figura 2.5 Diseñador de fichas

Con el Inspector se
definen las La paleta de
propiedades del objeto controles
seleccionado. En este contiene los
caso, se especifica el controles que
estilo del borde del se colocan en
rectángulo que rodea la ficha.
los campos de texto.

Puede observar
cómo evoluciona la
ficha mientras la La paleta de campos contiene
diseña. controles adicionales que
puede colocar en la ficha.

Las fichas más complejas pueden llegar a constituir el interface de usuario completo de
las aplicaciones personalizadas creadas con el lenguaje de programación dBASE o con el
Diseñador de fichas.
La definición de propiedades del Inspector, como se muestra en la Figura 2.5, se
describe con mayor detalle en la página 26.

Capítulo 2, Introducción 21
getknow.dwg Page 22 Friday, September 1, 1995 4:18 PM

Creación de informes y etiquetas


Las tablas, índices, consultas y fichas se suelen emplear para visualizar datos en
pantalla. Para obtener una copia impresa de los datos, se crea un informe (es posible
imprimir tablas, consultas y fichas, pero no con la gran flexibilidad de los informes).
Con Crystal Reports para dBASE puede realizar las siguientes operaciones:
• Efectuar cálculos complejos con los datos, incluidos métodos cartesianos.
• Utilizar datos de una o varias tablas.
• Crear informes verdaderamente WYSIWYG (lo que se ve es lo que se obtiene) que
saquen el máximo partido de las funciones de impresión de gráficos de Windows:
formatos de página, familias de tipos de letra, trazado de líneas y cuadros, imágenes
importadas, etc.
Las etiquetas son un tipo especial de informe cuyo uso más frecuente son los envíos de
grandes cantidades de cartas, pero pueden emplearse para cualquier fin.
Para crear etiquetas, utilice el generador de informes, que se describe en la
Guía del usuario de Crystal Reports para dBASE.

22 Guía del usuario


getknow.dwg Page 23 Friday, September 1, 1995 4:18 PM

Elementos del interface de usuario


En esta sección se describen diversos elementos comunes a todos los modos del
interface de usuario de Visual dBASE:
• Los menús
• El Escritorio
• La barra rápida y la barra de estado

Menús
Los menús de Visual dBASE se utilizan de la misma manera que los de cualquier otra
aplicación de Windows. Sin embargo, existe una diferencia importante en su
funcionamiento: los títulos de algunos menús varían según la ventana activa o la vista
actual.
Figura 2.6 Menús

Ventana activa: Selector con Programas


como tipo de archivo seleccionado.
Ventana activa: vista Registros de tabla

Observe que en los ejemplos los dos primeros menús son


Archivo y Edición y los últimos tres son Propiedades,
Ventana y Ayuda. Esto ocurre casi siempre. Los menús
entre estos dos grupos varían según la ventana activa.

Ventana activa: Editor de textos con un


archivo de programa (.PRG) abierto

Los títulos de menú cambian de forma que los comandos correspondientes a la tarea
actual quedan disponibles. El contenido de algunos menús también varía según la
ventana activa, como es el caso de Propiedades.

Capítulo 2, Introducción 23
getknow.dwg Page 24 Friday, September 1, 1995 4:18 PM

Menús rápidos
Los menús rápidos son menús adjuntos a un objeto en lugar de a la barra de menús.
Para ver un menú rápido, haga doble clic sobre el objeto. Los menús rápidos se emplean
con ventanas de tabla (como se muestra en la Figura 2.7), el Selector de archivos, la
ventana de comandos, el Diseñador de fichas y otros elementos del IU.
Figura 2.7 Menú rápido

Los menús rápidos contienen comandos para definir propiedades


(consulte la página 26) y otras tareas relacionadas con el objeto seleccionado.

El Escritorio
El Escritorio es el área delimitada por la barra rápida y la barra de estado en las partes
superior e inferior, respectivamente, y por los bordes de la ventana de aplicación en los
lados izquierdo y derecho. Muchas ventanas no pueden sacarse del Escritorio, entre
ellas la de comandos, Selector de archivos, Catálogo y Registros de tabla.
Cuando una ventana se encuentra minimizada, su icono aparece en el Escritorio
(consulte la Figura 2.2).

24 Guía del usuario


getknow.dwg Page 25 Friday, September 1, 1995 4:18 PM

La barra rápida y la barra de estado


Los botones de la barra rápida equivalen a opciones de menú. Sirven para realizar tareas
básicas relacionadas con los archivos (como abrir, guardar o imprimir), de edición
(cortar, copiar y pegar) y tareas de la vista actual o la ventana activa.
Los botones de la parte central de la barra rápida (los grupos de ventanas activas de
la Figura 2.8) varían según la vista actual o la ventana activa.
Figura 2.8 Barra rápida
Menú Archivo Menú Edición Ventana activa: Registros de tabla Ventanas Selector de archivos y de comandos

Ventana activa: Selector de archivos

Ventana activa: de comandos

Por ejemplo, cuando se muestra una tabla en la ventana Registros de tabla estos botones
permiten ejecutarla o diseñarla, cambiar de vista, ir a un registro, añadir un registro,
crear una consulta o desplazarse por los registros.
Los botones de la barra rápida se describen en la Ayuda en línea, busque el tema
Barra rápida. También es posible averiguar la función de un botón pasando el puntero
del ratón sobre él y leyendo las pistas y la indicación que aparece en la barra de estado.
Figura 2.9 La barra rápida y una indicación en la barra de estado
Pistas del menú
de ventana

Pistas de la barra
de estado

La barra de estado también proporciona descripciones breves de los comandos de menú


y las opciones de cuadro de diálogo.

Capítulo 2, Introducción 25
getknow.dwg Page 26 Friday, September 1, 1995 4:18 PM

Uso de objetos y propiedades


Todo lo que aparece en pantalla son objetos: las ventanas, los cuadros de diálogo, los
botones de la barra rápida, el Selector de archivos, la ventana de comandos, etc.
Cada objeto tiene su propio conjunto de propiedades o atributos que incluyen los
siguientes:
• Color
• Tamaño
• Situación
• Fuente y estilo (negrita, cursiva o subrayado)
• Otras propiedades exclusivas del objeto
En muchos casos es posible especificar las propiedades de un objeto. Por ejemplo, en el
Editor de textos puede seleccionar el tipo de letra que debe utilizarse con los archivos de
programa y los campos memo.

Definición de propiedades con inspectores


Para definir las propiedades de un objeto, utilice su inspector, un cuadro de diálogo que
contiene los parámetros de dichas propiedades. Para visualizar un inspector, haga clic
con el botón derecho en el objeto o elija el comando apropiado en el menú Propiedades o
el menú rápido.
Nota Cuando se definen las propiedades de los objetos del interface de usuario, los
parámetros se guardan inmediatamente en el archivo DBASEWIN.INI (consulte el
Apéndice C).
En la Figura 2.10 se muestra el cuadro de diálogo Propiedades de la ventana de
comandos, que aparece cuando se hace clic con el botón derecho sobre la ventana de
comandos y se elige Propiedades de la ventana de comandos en el menú rápido.
Figura 2.10 Cuadro de diálogo Propiedades de la ventana de comandos
Las opciones de este inspector se describen en el
Capítulo 18 de la Guía del usuario.

26 Guía del usuario


getknow.dwg Page 27 Friday, September 1, 1995 4:18 PM

Definición de las propiedades de entorno


Existen muchos parámetros globales que puede definir para establecer el entorno donde
desea trabajar. Por ejemplo, puede definir el símbolo monetario por defecto como el de
la peseta, seleccionar un modo por defecto para la edición de tablas y especificar un
determinado procesador de texto para los archivos de programa. Al igual que los
parámetros de los objetos del interface de usuario, las opciones de entorno se guardan
en DBASEWIN.INI (muchas corresponden a las variaciones del comando SET del
lenguaje dBASE).
Para establecer las propiedades de la aplicación Visual dBASE, elija
Propiedades|Propiedades del Escritorio. El cuadro de diálogo Inspector de
propiedades del escritorio tiene varias páginas. En la Figura 2.11 se muestran
dos de ellas.
Figura 2.11 Cuadro de diálogo Propiedades del escritorio

Esta página contiene los parámetros de los


formatos numérico, monetario y de fecha.

Esta página contiene los parámetros del


directorio y la vía de acceso actuales, un
editor de archivos de programa o campos
memo distinto al Editor de textos de Visual
dBASE y el modo de edición por defecto.

Para obtener descripciones completas de las opciones de este cuadro de diálogo, haga
clic sobre el botón Ayuda.

Capítulo 2, Introducción 27
getknow.dwg Page 28 Friday, September 1, 1995 4:18 PM

Propiedades y fichas
El concepto de propiedades es decisivo a la hora de crear una ficha. Cada objeto de una
ficha tiene su propio conjunto de propiedades. Algunas de ellas condicionan el aspecto
del objeto, otras determinan su comportamiento ante un determinado suceso.
Sucesos habituales son las pulsaciones de teclas y los movimientos del ratón, sobre todo
los clics. Por ejemplo, al definir las propiedades de un objeto de botón de comando en
una ficha, puede especificar que un clic del ratón cierre la ventana de la ficha.
Las fichas se describen con más detalle en la Parte IV, “Fichas.”.

Modos ejecutar y diseño


Visual dBASE permite trabajar con objetos como tablas y fichas en los modos ejecutar y
diseño. El significado exacto de cada modo depende del objeto en cuestión.
• En modo ejecutar se utiliza el objeto. Por ejemplo, ejecutar una tabla significa abrirla
para examinarla, mientras que ejecutar un programa significa iniciarlo.
• En el modo diseño se crea o cambia la estructura o las características del objeto.
Al diseñar una tabla es posible añadir campos, crear índices, etc., mientras que
cuando se diseña un programa, Visual dBASE abre el editor de texto designado y
carga el archivo de programa.
El modo en que se trabaja determina los botones que aparecen en la barra rápida.
Como puede apreciarse en la Figura 2.12, los botones de esta barra son distintos en
modo ejecutar y en modo diseño.
Figura 2.12 Los botones de la barra rápida en los modos ejecutar y diseño
➊ Visualizar la tabla con formato Browse,
Ficha o En columnas.
Modo ➊ ➋ ➌ ➋ Buscar registros, añadir un registro o crear
ejecutar una consulta.
➌ Desplazarse por las páginas de una tabla.
❹ Añadir o insertar un campo, o borrar el
❹ campo seleccionado.
Modo diseño

Los modos ejecutar y diseño se describen en el Capítulo 11.

28 Guía del usuario


getknow.dwg Page 29 Friday, September 1, 1995 4:18 PM

Acceso a archivos con el Selector


El Selector de archivos de dBASE es uno de los dos medios para organizar y visualizar
archivos en pantalla (el otro, la ventana de catálogo, se describe en la página 35).
El Selector puede mostrar archivos de Visual dBASE y de Paradox (tablas, consultas y
fichas) situados en el directorio actual y la vía de búsqueda especificados, archivos de
bases de datos SQL y alias BDE, así como cualquier otro tipo de archivo que se
especifique. En la Figura 2.13 se muestra el Selector de archivos con una lista de las
tablas del directorio C:\VISUALDB\EJEMPLOS.
Figura 2.13 Selector de archivos

Cuadro de texto Directorio actual y


botón de lista desplegable.
Extensiones de los archivos
visualizados.
Lista de tipos de archivo. El icono
seleccionado en esta lista
determina lo que aparece en el Panel de selección actual. Este panel
panel de selección actual. El tipo muestra los iconos de los tipos de
Todos muestra todos los iconos, archivo seleccionados en la lista de tipos
independientemente del tipo. de archivos y situados en el directorio
actual.

Uso del Selector de archivos


Estas son algunas de las tareas básicas que se realizan en el Selector de archivos:
• Para establecer el directorio actual, haga clic sobre el botón desplegable y elija un
directorio en el cuadro de diálogo, o teclee otra vía de acceso.
• Para crear un archivo de un tipo determinado, realice una de las siguientes
operaciones:
• Seleccione un icono en la lista de tipos de archivo y haga doble clic sobre el icono
(Sin título).
• Arrastre el icono (Sin título) a la ventana de comandos.
• Para visualizar un menú rápido y utilizarlo con el archivo seleccionado, haga clic
con el botón derecho sobre su icono. Las opciones varían según el tipo de archivo.
• Para ejecutar un archivo, puede hacer doble clic sobre su icono o arrastrar el icono
desde el Selector de archivos hasta la ventana de comandos.
• Para abrir el archivo en modo diseño, haga doble clic sobre su icono con el botón
derecho (consulte la página 28).

Capítulo 2, Introducción 29
getknow.dwg Page 30 Friday, September 1, 1995 4:18 PM

Definición de una vía de búsqueda


Por defecto, el Selector sólo muestra los archivos del directorio actual. Sin embargo, es
posible definir una vía de búsqueda a fin de visualizar los archivos de otros directorios,
de la siguiente forma:
1 Haga clic con el botón derecho sobre el Selector o elija Propiedades|Propiedades del
Selector para visualizar el Inspector de propiedades del Selector.
Figura 2.14 Primer paso de la definición de una vía de búsqueda

Seleccione esta casilla.

2 Seleccione el cuadro Vía de acceso adicional y haga clic en Aceptar. La parte superior
del Selector cambia para incluir un cuadro de texto Vía de acceso.
3 Utilice el botón de lista desplegable y el cuadro de diálogo para añadir un directorio a
la vía de búsqueda. Para añadir más directorios a la vía de búsqueda, teclee los
nombres completos en el cuadro de texto, separando cada especificación de vía de
acceso con un punto y coma, espacio o coma.
Figura 2.15 Segundo paso de la definición de una vía de búsqueda

30 Guía del usuario


getknow.dwg Page 31 Friday, September 1, 1995 4:18 PM

Iconos de tipo de archivo del Selector


En la siguiente tabla se describen los iconos de tipo de archivo que aparecen en el
Selector.
Tabla 2.1 Iconos de tipo de archivo
Icono Archivos Programa de origen Icono Archivos Programa de origen
Todos Todos Consulte a continuación. Programas .PRG Visual dBASE
.PRG dBASE IV
.PRG dBASE III PLUS

Tablas .DBF dBASE Imágenes .BMP Windows Paintbrush y


.DB Paradox .PCX otros
.ICO
.WMF
.TIF
.EPS
Consultas .QBE Visual dBASE Sonidos .WAV Varios
.QBE dBASE IV
.VUE dBASE IV, dBASE III PLUS
.QRY dBASE III PLUS

Fichas .WFM Visual dBASE Catálogo .CAT Visual dBASE


.FMT dBASE IV dBASE IV
.CFM
.MNU
.POP
Informes .RPT Crystal Reports para dBASE Personalizado Consulte la Tabla 2.2 en
.RPC Crystal Reports para dBASE la página 34.
.FRM dBASE IV, dBASE III PLUS
.FRG dBASE IV

Etiquetas .RPL Crystal Reports para dBASE Nota: Para visualizar también los iconos de archivos de
.LBL dBASE IV, dBASE III PLUS dBASE IV y dBASE III PLUS, seleccione Versiones
.LBG dBASE IV anteriores en la página Archivos del cuadro de diálogo
Propiedades del escritorio.

Clasificación de iconos
Elija Ver|Ordenar para clasificar los iconos del Selector de archivos de una de estas
cuatro maneras:
• Nombre. Los iconos se clasifican por orden alfabético según el nombre de archivo.
Si existen dos archivos con el mismo nombre, se clasifican por extensión.
• Tipo y extensión. Los iconos se agrupan por tipo de archivo (tabla, consulta, ficha,
etc.) y se clasifican por orden alfabético dentro de cada grupo según su extensión.
Por ejemplo, dentro de un grupo de archivos de consulta, todos los archivos .QBE
preceden a los archivos .VUE.
• Tamaño. Los iconos se clasifican según el tamaño del archivo, con los más pequeños
al principio.
• Fecha y hora. Los iconos se clasifican por su fecha de creación o de la última
modificación y, en el caso de los archivos creados el mismo día, según la hora.
Los archivos más recientes aparecen al final.

Capítulo 2, Introducción 31
getknow.dwg Page 32 Friday, September 1, 1995 4:18 PM

Elección de un modo de visualización del Selector de archivos


Puede ver los iconos del Selector de archivos en tres modos de visualización.
Figura 2.16 Menú Vista del Selector de archivos

Las dos primeras opciones, Iconos grandes e Iconos pequeños, muestran un icono y un
nombre de archivo para cada elemento; la única diferencia es el tamaño del icono y la
posición del nombre de archivo. Si el directorio actual contiene un gran número de
archivos, la opción Iconos pequeños permite ver más archivos sin ampliar el Selector.
La opción Detalles organiza los iconos en filas, con columnas que contienen el nombre
de archivo, tamaño, fecha y hora de creación o modificación.
Figura 2.17 Panel del Selector de archivos en modo Detalles

Nota Puede definir el espaciado vertical y horizontal de los iconos en los modos Iconos
grandes e Iconos pequeños, y el espaciado vertical de las filas en el modo Detalles.
Para ello, haga clic sobre el Selector de archivos con el botón derecho y elija Propiedades
en el menú rápido. Establezca el espaciado de iconos en el cuadro de diálogo Inspector
de propiedades del Selector (consulte la Figura 2.14).

32 Guía del usuario


getknow.dwg Page 33 Friday, September 1, 1995 4:18 PM

Uso de alias de base de datos


Cuando se han definido alias en IDAPI.CFG (consulte la página 14), aparece un par de
botones de radio en el Selector si el tipo de archivo seleccionado es Tablas. Consulte la
Figura 2.18.
Si se pulsa el botón Tablas del directorio, el Selector funciona de la manera descrita
antes, pero si se selecciona Tablas de la base de datos, se producen varios cambios:
• El cuadro de texto Directorio actual se convierte en Base de datos actual. Si se hace
clic sobre el botón de lista desplegable, aparecen los nombres de alias de base de
datos disponibles.
• Cuando se selecciona un alias, el cuadro de texto que contenía las extensiones de
archivo (justo encima del panel de selección actual) pasa a describir el contenido del
panel de selección actual. Según el servidor, quizá haya de introducir una contraseña
para poder conectarse a la base de datos.
• Ahora los iconos del panel de selección actual representan tablas de la base de datos
seleccionada
Figura 2.18 Selector de archivos con bases de datos

Botones de radio

Uso del tipo de archivo Personalizado


El tipo de archivo Personalizado permite visualizar iconos de controles personalizados,
como controles .CC de Visual dBASE y controles .VBX de Visual Basic, así como de
archivos ajenos a dBASE, por ejemplo, archivos .TXT, de procesador de texto o de hoja
de cálculo. Si la extensión de archivo está asociada a otra aplicación con el comando
Archivo|Asociar del Administrador de archivos, se hace doble clic sobre el icono para
iniciar la aplicación y cargar el archivo seleccionado.
Para seleccionar un tipo de archivo Personalizado:
1 Haga clic sobre el icono Personalizado en la lista de tipos de archivo.
2 Introduzca un patrón de nombre de archivo en el cuadro de texto Archivos
personalizados, con los caracteres comodín * o ?.

Capítulo 2, Introducción 33
getknow.dwg Page 34 Friday, September 1, 1995 4:18 PM

Por ejemplo, *.TXT indica todos los archivos con extensión .TXT; DB*.DOC todos los
archivos .DOC cuyo nombre comience con DB. Pulse Intro para ver los iconos de tipo
de archivo..
Figura 2.19 Tipo de archivo Personalizado

Para ver los iconos de más de un tipo de


archivo, separe las extensiones con una
coma, un espacio o un punto y coma.

En la Tabla 2.2 se muestran los iconos especiales que pueden aparecer en el panel de
selección actual al elegir el tipo de archivo Personalizado.
Tabla 2.2 Iconos del tipo de archivo Personalizado
Icono Tipos de archivo Icono Tipos de archivo
Ejecutable Archivos .EXE, .COM y .BAT Asociado Archivos con una asociación establecida
en el Administrador de archivos

Menú Archivos .MNU Controles Archivos de control VBX o .CC


personalizados

Archivos .POP Archivos .CFM

Texto Archivos .TXT Otros Cualquier tipo de archivo no incluido en


el grupo Personalizado o los tipos de
archivo estándar del Selector (Tabla 2.1)

34 Guía del usuario


getknow.dwg Page 35 Friday, September 1, 1995 4:18 PM

Cierre del Selector de archivos


Para cerrar el Selector de archivos, elija Archivo|Cerrar o pulse Ctrl+F4 si el
Selector de archivos es la ventana activa, o haga doble clic sobre el cuadro del
menú de Control del Selector.
Para volver a abrir el Selector de archivos cuando se encuentra cerrado o minimizado,
elija Ventana|Selector, haga clic en el botón de la barra rápida o doble clic sobre el icono
Selector en el escritorio-

Almacenamiento de proyectos en catálogos


Si lo desea, puede visualizar tablas, consultas, fichas e informes por separado.
Así funciona el Selector. Por ejemplo, puede mostrar iconos para todas las tablas de un
determinado directorio o todas las consultas, fichas, informes, etc.
Es mucho más probable que tenga que trabajar con uno o más archivos de cada tipo.
Un proyecto puede incluir varias tablas, un par de consultas, una o más fichas para
visualizar los datos y un informe que dispone la información a fin de distribuirla entre
otros. Algunos de estos archivos pueden estar en la unidad de disco local, otros en la
red.
Para facilitar la visualización y el uso de archivos agrupados de forma conceptual,
Visual dBASE permite reunirlos en catálogos. Un catálogo es un conjunto de archivos
completamente definido por el usuario, no ligado al tipo de archivo ni la posición en
disco. Al igual que el Selector, la ventana de catálogo puede mostrar archivos de dBASE
y de Paradox (tablas, consultas, fichas, etc.) del directorio actual y la vía de búsqueda
especificada, archivos de base de datos SQL y alias IDAPI.
Un catálogo es un archivo en disco con información sobre los archivos incluidos en el
catálogo. Puede crear un catálogo para cada proyecto y volver a utilizarlo cada vez que
necesite acceder a ese grupo de archivos.

Capítulo 2, Introducción 35
getknow.dwg Page 36 Friday, September 1, 1995 4:18 PM

Uso de la ventana de catálogo


En la Figura 2.20 se muestran dos vistas de un mismo catálogo en la ventana de
catálogo.
Figura 2.20 Ventana de catálogo

Ventana de
catálogo con las
tablas del catálogo
Ventana de
catálogo con
consultas y fichas
asociadas

Se trabaja con archivos (ejecutándolos y diseñándolos, definiendo sus propiedades,


clasificando sus iconos) de la misma manera en la ventana de catálogo que en el
Selector. Sin embargo, la ventana de catálogo presenta dos importantes diferencias
conceptuales y funcionales:
• Los archivos que aparecen en el catálogo están allí por elección del usuario, no por su
ubicación o tipo.
• La ventana de catálogo puede mostrar las asociaciones entre archivos. Por ejemplo, las
consultas de la Figura 2.20 están asociadas a una o más fichas. Hay una descripción
detallada de las asociaciones en la página 37.
Nota Las opciones de clasificación (descritas en la página 31) no están disponibles cuando
Ver|Asociaciones está seleccionado.

Creación de catálogos
Para crear un catálogo, puede hacer doble clic sobre el icono Catálogos en la lista de
tipos de archivo del Selector o elegir Archivo|Nuevo|Catálogo. Aparecerá un mensaje
para asignar nombre al catálogo e introducir una descripción.

36 Guía del usuario


getknow.dwg Page 37 Friday, September 1, 1995 4:18 PM

Incorporación de archivos a catálogos


Para añadir archivos en un catálogo, puede arrastrar los iconos de archivos desde el
Selector hasta la ventana de catálogo o elegir Catálogo|Añadir elemento.
Nota Cualquier archivo que se abre o crea mientras está abierto un catálogo, se añade
automáticamente al archivo de ese catálogo. La ventana de catálogo no tiene por qué
estar activa para que el archivo de catálogo esté abierto. Sin embargo, existen dos
comandos del lenguaje dBASE que impiden la incorporación de archivos abiertos al
catálogo.
• Si se teclea SET CATALOG OFF en la ventana de comandos, el catálogo permanece abierto,
pero no se añaden a él los archivos que se abran o creen.
• Si se teclea SET CATALOG TO (sin argumento), la ventana de catálogo permanece abierta
pero se cierra el catálogo, de forma que no se añaden a él los archivos que se abran o
creen.
Con frecuencia, los datos de fichas, informes y etiquetas dependen de tablas o consultas.
Si se abre o se crea una ficha, informe o etiqueta, las tablas o consultas relacionadas
con ellas se añaden automáticamente al catálogo y Visual dBASE establece una
asociación de archivos en el catálogo.

Visualización de asociaciones de archivos


Una asociación indica algún tipo de dependencia entre los archivos. Por ejemplo, una
ficha puede estar asociada a una consulta porque los datos de la ficha dependan de los
parámetros y opciones de la consulta.
Cuando la ventana de catálogo se encuentra activa, el menú Ver incluye el comando
Asociaciones. Si dicho comando está seleccionado, la ventana de catálogo activa
muestra las asociaciones; en caso contrario, muestra iconos de la misma manera que el
Selector de archivos.

Capítulo 2, Introducción 37
getknow.dwg Page 38 Friday, September 1, 1995 4:18 PM

Uso de catálogos
A continuación se ofrecen algunas normas generales para el uso de la ventana de
catálogo:
• El cuadro de texto de la parte superior de la ventana de catálogo contiene una
descripción del catálogo. Puede introducir esta descripción en un cuadro de diálogo
al crear el catálogo o teclearla en este cuadro de texto en cualquier momento.
El cuadro de texto Descripción del elemento contiene una descripción del elemento
que hay seleccionado en la ventana de catálogo. Puede introducir esta descripción en
un cuadro de diálogo al añadir el elemento al catálogo o bien seleccionar el elemento
posteriormente y teclearlo en el cuadro de texto Descripción del elemento.
• Para copiar un archivo de una ventana de catálogo en otra, arrástrelo a la otra
ventana.
• Para eliminar un archivo, seleccione el icono y pulse Supr o elija Edición|Borrar.
Visual dBASE primero verifica que desea eliminar el elemento del catálogo y, a
continuación, confirma que desea eliminarlo del disco.
• Es posible abrir varias ventanas de catálogo al mismo tiempo, pero sólo una de ellas
puede ser el catálogo activo. Para activar una ventana de catálogo en particular,
selecciónela haciendo clic sobre ella.

Cierre de catálogos
Para cerrar la ventana de catálogo, either elija Archivo|Cerrar o haga doble clic en el
cuadro de su menú de Control.
Como se mencionó anteriormente, es posible cerrar un catálogo sin cerrar la ventana de
catálogo tecleando SET CATALOG TO (sin argumento) en la ventana de comandos.
Consulte la página 37.

38 Guía del usuario


getknow.dwg Page 39 Friday, September 1, 1995 4:18 PM

Selección de un editor de texto


Visual dBASE tiene su propio Editor de textos interno, que permite editar archivos de
programa, archivos de texto (como memos) y los campos memo de las tablas.
El Editor de textos se describe en el Capítulo 15.
Si lo prefiere, puede especificar otro editor.
• Para especificar un editor con los menús, elija Propiedades|Propiedades del
escritorio en el cuadro de diálogo Escritorio. Haga clic en Archivos para levantar la
solapa que contiene los parámetros del editor.
Figura 2.21 Selección de un editor de texto: cuadro de diálogo Escritorio

Teclee la vía de acceso completa del


editor en el cuadro de texto apropiado, o
haga clic en el botón y seleccione el
archivo .EXE del editor en el cuadro de
diálogo que aparece.

Cuando se hace clic en Aceptar para salir del cuadro de diálogo, los parámetros del
editor se guardan en el archivo DBASEWIN.INI.
• Para especificar un editor de programa en la ventana de comandos, utilice el
comando SET EDITOR TO. Para especificar un editor de campos memo, emplee
SET WP TO. Cada comando debe ir seguido de la vía de acceso completa del
archivo .EXE del editor entre comillas. En los siguientes ejemplos, la primera línea
especifica el Bloc de notas de Windows como editor de archivos de programa y de
texto, mientras que la segunda especifica el Bloc de notas como editor de campos
memo:
SET EDITOR TO "C:\WINDOWS\NOTEPAD.EXE"
SET WP TO "C:\WINDOWS\NOTEPAD.EXE"
Para ejecutar estos comandos, pulse Intro con el punto de inserción en la misma línea
que el comando.
Nota Recuerde que un editor externo es un programa distinto que se ejecuta en su propia
ventana. Por ejemplo, si edita un archivo en el Bloc de notas de Windows y hace clic
sobre la ventana de Visual dBASE, ésta se coloca delante. Según el tamaño y la
posición de las dos ventanas, la del Bloc de notas puede estar abierta pero oculta por
la ventana de Visual dBASE. Para volver a colocar la ventana del Bloc de notas delante,
pulse Alt+Tab.

Capítulo 2, Introducción 39
getknow.dwg Page 40 Friday, September 1, 1995 4:18 PM

Uso de la ventana de comandos


La ventana de comandos es el punto de encuentro entre el interface de usuario de
Visual dBASE, el lenguaje dBASE y los programas escritos para versiones de
dBASE para DOS. Como se muestra en la Figura 2.22, la ventana de comandos
consta de dos paneles.
Figura 2.22 Ventana de comandos

Panel de entrada

Arrastre esta barra en sentido vertical para ajustar el tamaño


de los paneles de entrada y de resultados. Haga doble clic
en ella para que vuelvan a tener el mismo tamaño.

Panel de resultados

El panel de entrada tiene tres funciones principales:


• Es una línea de comando donde puede teclear y ejecutar comandos del lenguaje
dBASE.
• En el interface de usuario, muestra los comandos de dBASE ejecutados para cada
acción (consulte la Figura 2.3 de la página 19). Puede volver a utilizar estos comandos
directamente desde la ventana de comandos.
• Para los usuarios de versiones de dBASE para DOS, el panel de entrada equivale al
punto indicativo.
El panel de resultados tiene dos funciones principales:
• Muestra los resultados de muchos comandos (como DIRECTORY) que se introducen
en el panel de entrada.
• Es donde se ejecutan los programas de dBASE para DOS, salvo los que abren sus
propias ventanas.
Para minimizar la ventana de comandos, haga doble clic en su cuadro de menú de
control. La ventana de comandos no se cierra, sólo se minimiza. Para abrirla cuando está
minimizada, elija Ventana|Comandos, haga clic en el botón de la barra rápida o haga
doble clic sobre el icono de la ventana de comandos en el escritorio.
La ventana de comandos se describe detalladamente en el Capítulo 16.

40 Guía del usuario


getknow.dwg Page 41 Friday, September 1, 1995 4:18 PM

Ayuda en línea
Para familiarizarse con las diferentes funciones de Visual dBASE, consulte el sistema de
Ayuda en línea.
Este sistema se instala durante la instalación de Visual dBASE (es posible no instalarlo,
pero debería incluir la Ayuda si dispone de suficiente espacio en disco).
La ayuda contiene diferentes temas, que describen algún aspecto del interface de
usuario o elementos de lenguaje. Después de consultar un tema, puede volver a
Visual dBASE o pasar a un tema relacionado.
Para obtener una descripción completa del sistema de Ayuda de Windows, elija
Ayuda|Uso de la ayuda desde Visual dBASE.

Localización de temas
Para localizar los temas que le interesan en la Ayuda en línea, puede:
• Presentar la pantalla principal Indice de Ayuda, que sirve como punto de partida
para el resto del sistema de Ayuda; elija Ayuda|Indice.
• Buscar el tema que desea; elija Ayuda| Buscar o haga clic en el botón Buscar que
aparece en la parte superior de las ventanas de ayuda. La búsqueda se describe en la
página 43.
• Introducir HELP y un argumento en la ventana de comandos y pulsar Intro.
Por ejemplo, HELP BROWSE muestra un tema que describe el comando BROWSE.

Ayuda sensible al contexto


Pulse F1 para ver ayuda sensible al contexto de una ventana o cuadro de diálogo activos.
Si un cuadro de diálogo tiene varias páginas (vea la Figura 2.23), aparecerá infomación
sobre la página actual.
Figura 2.23 Cuadro de diálogo de varias páginas

Haga clic sobre este botón


para consultar la ayuda
sobre este cuadro de
diálogo.

Solapas de página

Capítulo 2, Introducción 41
getknow.dwg Page 42 Friday, September 1, 1995 4:18 PM

Si el cuadro de diálogo procede de un comando de menú, como Propiedades|Escritorio,


la Ayuda sensible al contexto también muestra información sobre el comando.
Asimismo, la Ayuda sobre comandos de menú incluye Ayuda sobre los cuadros de
diálogo que surgen a partir de ellos.

Desplazamiento en la Ayuda
En esta sección se describe cómo desplazarse entre los temas del sistema de Ayuda
en línea. Las principales herramientas de desplazamiento son las zonas interactivas y
menús de ventana en el texto y la barra de botones situada en la parte superior de la ventana
de Ayuda.
Figura 2.24 Zonas interactivas, menús de ventanas y la barra de botones

Barra de botones
Jumps

menús de Ventana Mano (puntero del ratón)

Cambio de temas de Ayuda


Las zonas interactivas se indican mediante una línea continua bajo la palabra clave que
identifica el tema relacionado. Si hace clic con el ratón sobre una zona interactiva, el
sistema de Ayuda cambia al tema correspondiente.
A menudo aparece una zona interactiva bajo el título del tema actual. Esta zona es una
referencia a temas relacionados. Por ejemplo, en la Ayuda de Lenguaje, el tema de la
función TRIM() (Figura 2.24) incluye una zona interactiva a Datos de cadena, categoría a
la que pertenece. Si hace clic en esta zona interactiva, la Ayuda muestra una lista de
zonas interactivas que llevan a todos los elementos de lenguaje de Datos de cadena.

Visualización de menús de ventanas de Ayuda


Estas ventanas, indicadas por una línea de puntos, son cuadros de texto que contienen
información, generalmente la definición de un término o saltos a temas relacionados.
Los menús de ventana aparecen sobre el tema de la Ayuda, que permanece visible.
Para visualizar esta ventana, haga clic con el ratón sobre la palabra clave con la línea
de puntos. Para cerrarla, pulse Esc o haga clic con el botón del ratón.

42 Guía del usuario


getknow.dwg Page 43 Friday, September 1, 1995 4:18 PM

Uso de la barra de botones


La barra de botones proporciona varios métodos para desplazarse en la Ayuda:
• El botón Indice lleva directamente a la pantalla Indice de la Ayuda.
• El botón Buscar muestra el cuadro de diálogo Buscar, que se describe en la siguiente
sección.
• El botón Atrás cambia al tema anterior en una secuencia de saltos, por lo que permite
retroceder a través de los pasos seguidos.
• El botón Historial presenta una lista con los temas visualizados en la sesión de Ayuda
actual. Para desplazarse a cualquier tema de la lista, haga doble clic sobre él.
• Los botones de retroceso y avance (<< y >>) aparecen cuando existen temas
relacionados que forman un grupo lógico; puede utilizar estos botones para pasar al
tema siguiente o anterior del grupo. Si uno de los botones está atenuado, indica que
ha llegado al comienzo o al final del grupo.

Búsquedas en la Ayuda
Si hace clic sobre el botón Buscar de la barra de botones, aparecerá el cuadro de diálogo
Buscar, que muestra y explica la Figura 2.25.
Figura 2.25 Cuadro de diálogo Buscar

1. Introduzca el nombre del 2. Haga clic sobre Mostrar temas.


tema que desea buscar o En la mitad interior del cuadro de diálogo
selecciónelo en el cuadro aparece la lista de temas.
de lista.

3. Seleccione el tema que desea en la lista inferior y haga clic en Ir a.

Capítulo 2, Introducción 43
getknow.dwg Page 44 Friday, September 1, 1995 4:18 PM

Copia de texto de Ayuda


Puede copiar texto de un tema de la Ayuda y pegarlo en un editor de textos, procesador
de textos, la ventana de comandos o cualquier elemento que permita pegar desde el
Portapapeles. Por tanto, puede pegar sintaxis desde la Ayuda en un programa o en la
línea de comandos.
Para copiar texto de la Ayuda en el Portapapeles de Windows:
1 Vaya al tema de la Ayuda que desea copiar.
2 Elija Edición|Copiar. Aparecerá un cuadro de diálogo con el texto del tema actual.
3 Para copiar todo el tema, haga clic sobre el botón Copiar del cuadro de diálogo.
Si sólo desea copiar parte del texto, utilice el ratón para seleccionarlo. El texto de la
ventana se desplaza automáticamente si mueve el ratón fuera de la ventana.
Para pegar el texto, inicie el editor de textos o haga clic sobre la ventana de comandos y
elija Edición|Pegar.

Impresión de temas de Ayuda


Para imprimir el tema de Ayuda actual, elija Archivo|Imprimir tema.
Muchos temas incluyen zonas interactivas, menús de ventana e imágenes en mapa
de bits. Cuando imprime un tema de la Ayuda, el texto subrayado para zonas
interactivas y menús de ventana se imprime prácticamente como aparece en
pantalla: los subrayados y difuminados como tramas de puntos, en lugar de negro
liso. No puede imprimir el texto del menú de ventana. Las imágenes de mapa de
bits se imprimen con la resolución de la impresora, si admite gráficos.

44 Guía del usuario


getknow.dwg Page 45 Friday, September 1, 1995 4:18 PM

Uso de Tutores interactivos


Los Tutores interactivos™ permiten aprender las funciones de Visual dBASE mientras se
trabaja en el programa. Puede crear tablas, consultas, informes y catálogos de bases de
datos con datos reales y guardar los resultados y utilizarlos una vez finalizados los
Tutores interactivos.
Elija Ayuda|Tutores interactivos para visualizar la lista de los tutores principales.
Para iniciar un tutor, haga clic sobre el botón situado junto a su nombre. El tutor
contiene instrucciones detalladas que llevan hasta la conclusión.
Figura 2.26 Lista de tutor principal

Capítulo 2, Introducción 45
getknow.dwg Page 46 Friday, September 1, 1995 4:18 PM

Archivos de ejemplo de Visual dBASE


El producto viene acompañado por un conjunto de archivos de ejemplo que muestran
muchas de las funciones del programa. Están situados en el directorio EJEMPLOS bajo
el directorio principal de Visual dBASE (en una instalación por defecto, la vía es
C:\DBASEWIN\EJEMPLOS).
Estos archivos se describen en EJEMPLOS.TXT, que se encuentra en el mismo
directorio. Para consultar este archivo (que está en formato texto) en el Bloc de notas de
Windows:
1 Elija Archivo|Abrir.
2 Si es necesario, defina la vía al subdirectorioEJEMPLOS en el cuadro de diálogo
Abrir archivo y cambie el parámetro de Tipos de archivo a “Todos (*.*)”.
3 Haga doble clic sobre EJEMPLOS.TXT en el cuadro de lista.
Para ejecutar un programa de ejemplo, defina Directorio actual en el Selector como
EJEMPLOSy haga doble clic sobre el icono del programa de ejemplo en que está
interesado.
Para ver el código de un programa seleccionado en el Editor de textos de Visual dBASE,
haga doble clic con el botón derecho sobre el icono del programa.
En el siguiente capítulo se ofrece una breve introducción al lenguaje dBASE. Si desea
crear aplicaciones Windows, este capítulo le servirá como introducción al lenguaje antes
de leer la Guía del programador. Si no tiene previsto programar con dBASE o prefiere
comenzar a crear tablas y consultas ya, puede pasar por alto este capítulo.

46 Guía del usuario


p_table.dwu Page 47 Friday, September 1, 1995 4:20 PM

Parte

II
Tablas
Parte II

Las tablas bien diseñadas constituyen los cimientos de todo sistema de gestión de datos
eficaz. Si organiza minuciosamente los datos desde el principio, necesitará menos
tiempo para crear y mantener la base de datos y los resultados serán mucho más fiables.
Los capítulos de la Parte I le enseñarán a crear tablas bien diseñadas para utilizarlas
tanto como elementos independientes como fundamentos de aplicaciones complejas.
• Capítulo 3, “Creación de tablas”
• Capítulo 4, “Indexación y ordenación de datos”
• Capítulo 5, “Introducción y edición de datos”
• Capítulo 6, “Operaciones con grupos de registros”
• Capítulo 7, “Seguridad de tablas”

Parte II, Tablas 47


p_table.dwu Page 48 Friday, September 1, 1995 4:20 PM

48 Guía del usuario


cretabl.dwu Page 49 Friday, September 1, 1995 4:21 PM

Capítulo

Creación de tablas
Capítulo 3
3
dBASE proporciona al usuario potentes herramientas para la gestión de datos, tanto si
desea crear una aplicación completa como si sólo necesita realizar una búsqueda en una
tabla de datos de clientes. La base de cualquier aplicación es el sistema de tablas que
almacenan la información.
En este capítulo se describe la forma en que se diseñan y se crean las tablas, con
información sobre los siguientes temas:
• Términos y conceptos de tablas.
• Líneas maestras del diseño de tablas.
• Creación de tablas.
• Cambio de estructuras de tabla.
• Establecimiento de la integridad referencial
• Impresión de estructuras de tabla.

Capítulo 3, Creación de tablas 49


cretabl.dwu Page 50 Friday, September 1, 1995 4:21 PM

Acerca de las tablas


Antes de crear una tabla deben comprenderse ciertos conceptos básicos. No olvide leer
el Capítulo 2 para una introducción a los conceptos básicos y las definiciones de tablas.

Términos y conceptos
A continuación exponemos los términos esenciales que describen la estructura de una
tabla:
• Una aplicación es un sistema completo de tablas, con las fichas, consultas, informes y
demás componentes relacionados necesarios para la gestión de datos.
• Una base de datos es un conjunto de información relacionada y estructurada para un
fin específico. En dBASE una base de datos se compone de una o varias tablas que
almacenan y clasifican información, además de archivos relacionados como índices y
memos. Cada tabla de una base de datos es un archivo con extensión .DBF.
• Una tabla se compone de uno o varios registros, cada uno de los cuales contiene
información sobre una entrada concreta de la tabla, como una persona, una empresa
o una factura.
• Cada registro tiene uno o varios campos, cada uno de ellos con una categoría de
información, como puede ser el nombre de una persona, el número de teléfono de
una empresa o la fecha de una factura.
• El tipo de campo describe la clase de información almacenada en él. Por ejemplo, se
emplea un campo de carácter para el nombre o el número de teléfono de una
empresa y un campo de fecha para la fecha de una factura.
La siguiente figura muestra los componentes de una tabla tal como aparecen en la
ventana Registros de tabla.
Figura 3.1 Componentes de una tabla
Nº de registro Campos (columnas)

Nombre del campo


(cabecera de columna)

Registros (filas)

Valor del campo seleccionado (datos).

50 Guía del usuario


cretabl.dwu Page 51 Friday, September 1, 1995 4:21 PM

En este ejemplo cada registro o fila contiene la entrada correspondiente a una empresa.
Una tabla puede tener muchos registros o ninguno. Cada registro tiene un número de
registro único que lo identifica en la tabla.
Cada campo o columna contiene una categoría de información que se aplica a las
empresas de la tabla. Dentro de una misma empresa cada campo puede estar vacío o
contener información, la cual se conoce a veces como valor del campo.
La estructura de una tabla incluye el tipo de tabla (dBASE, Paradox o alguno de los tipos
SQL) y uno o varios campos. Para cada campo se define el nombre, el tipo y el ancho.
También se pueden crear índices que permitan ordenar los registros de forma útil.

Tipos de tabla admitidos


Visual dBASE admite tablas de dBASE, Paradox y cualquier tabla a la que se pueda
acceder a través de ODBC, como las tablas de Microsoft Access. Si dispone de la edición
cliente/servidor de Visual dBASE, también puede trabajar con tablas de Sybase, Oracle,
Informix e InterBase.
El interface de Visual dBASE se adapta automáticamente al tipo de tabla que utiliza.
Por ejemplo, si la tabla con la que trabaja admite limitaciones de entrada de datos, puede
especificarlas en el Diseñador de tablas. Si la tabla no las admite, tampoco están
disponibles en el diseñador.

Capítulo 3, Creación de tablas 51


cretabl.dwu Page 52 Friday, September 1, 1995 4:21 PM

Líneas maestras del diseño de tablas


Antes de empezar a diseñar una tabla se deben considerar las necesidades específicas,
identificando la información que se desea controlar para diseñar la tabla con arreglo a
dichas necesidades.
Las tablas deben diseñarse para almacenar toda la información necesaria de forma
eficaz y accesible, facilitando la introducción, el proceso y la extracción de datos.
Además, un buen diseño debe conservar espacio en disco y proporcionar un
rendimiento óptimo.
En este manual se estudian temas comunes de diseño, con ejemplos basados en un
pequeño negocio ficticio, una tienda que vende equipo de buceo. dBASE proporciona
tres tablas de ejemplo que representan parte de una aplicación diseñada para registrar
los pedidos de clientes y las ventas de la tienda de submarinos. Estas tablas se llaman
CLIENTE.DBF, PEDIDOS.DBF y ELEMENTO.DBF.

Identificación de la información necesaria


Para desarrollar un sistema como la aplicación de la tienda de submarinos hay que
identificar toda la información que se necesita gestionar. Debe incluirse sólo la
información relevante, ya que los datos innecesarios ocupan espacio en disco y distraen
la atención del usuario.
Puede empezar mirando la hoja de pedidos que utiliza todos los días. Escriba la
información que crea que necesita, sin intentar organizarla todavía, tal como muestra el
siguiente ejemplo:
• Productos pedidos
• Nombre, dirección, teléfono y nivel de crédito del cliente
• Número de pedido
• Información del envío, incluyendo la fecha
• Productos adquiridos
• Fecha y hora de adquisición
• Vendedor que atendió el pedido
• Firma del cliente
• Observaciones relativas al cliente
A continuación, vuelva a leer esta lista para ver cuáles de estos puntos son realmente
necesarios y cuáles se pueden suprimir. Por ejemplo, el nombre del vendedor puede no
ser importante, o quizá decida que no necesita apuntar la hora exacta de compra.

52 Guía del usuario


cretabl.dwu Page 53 Friday, September 1, 1995 4:21 PM

Clasificación de la información
Una vez determinada la información que necesita, repase la lista y empiece a clasificar la
información por grupos, identificando cada entidad (como personas, lugares y cosas) y
actividad (como hechos, transacciones y otros sucesos). En general cada tabla debe
contener sólo un tipo de entidad o actividad. Los campos de cada tabla identifican los
atributos de esa entidad o actividad.
En la aplicación de ejemplo de la tienda de submarinismo, la lista presenta dos
entidades distintas (clientes y productos) y una actividad (pedidos). Cada uno de estos
componentes tiene unos atributos únicos. Una vez reorganizada la lista según estas
categorías, podríamos obtener un resultado similar al siguiente:
• Clientes, con nombre, dirección, población, provincia, código postal, número de
teléfono, nivel de crédito, firma, observaciones, etcétera.
• Pedidos, con fecha del pedido, número, fecha de venta, importe pagado, etcétera.
• Productos encargados, con nombre del producto, precio de venta, cantidad, etcétera.

Determinación de relaciones entre las tablas


Para definir mejor las tablas es necesario conocer y entender la forma en que se
relacionan entre ellas.

Una o varias tablas


Cada tabla debe tener un fin específico. A menudo es mejor crear varias tablas pequeñas
y vincularlas que intentar almacenar todo en una tabla grande, ya que esto último suele
obligar a almacenar datos repetitivos.
Por ejemplo, si cada pedido lleva incluida toda la información del cliente, tendremos
que introducir su nombre y su dirección en todos los pedidos que realice.
Este procedimiento, además de facilitar que se produzcan errores, dificulta la
actualización de la información en casos tan simples como el cambio del número de
teléfono de un cliente, además de desperdiciar espacio en disco debido al
almacenamiento de datos repetidos.
La utilización de varias tablas reduce al mínimo la cantidad de información que aparece
más de una vez, además de facilitar la actualización de datos relativos a clientes, ya que
éstos se encuentran en una sola tabla. Los pedidos realizados por los clientes se sitúan
en otra tabla, vinculada al nombre y dirección del cliente mediante una consulta.
En la aplicación de la tienda de submarinismo se han creado tres tablas para almacenar
la información: una para clientes, otra para pedidos y una tercera para los artículos
encargados.

Capítulo 3, Creación de tablas 53


cretabl.dwu Page 54 Friday, September 1, 1995 4:21 PM

Relaciones de valores únicos y múltiples


Cuando una aplicación tiene varias tablas es importante entender las relaciones entre
entidades y actividades. Puede haber relaciones con correspondencia de entrada a
entrada o de una entrada a varias, o incluso puede no haber ninguna relación directa.
Por ejemplo, en la aplicación de tienda de atículos de buceo, un cliente puede realizar
varios pedidos y un pedido puede contener uno o más elementos. Éstas son las
relaciones de valores múltiples. Cada uno de los pedidos está asociado a un solo cliente,
relación de valores únicos (para más información sobre las relaciones en tablas, consulte el
Capítulo 9).
En la figura siguiente, la información NOMBRE procede de la tabla Clientes, el campo
NUM_PED de la tabla Pedidos y EXISTENC y PRECIO de la tabla Elemento.
Figura 3.2 Relaciones de valores múltiples

Cada cliente
tiene varios pedidos.

Cada pedido
tiene varios artículos.

Tablas principales y secundarias


Al relacionar dos tablas se define una como principal y la otra como secundaria, de forma
que al seleccionar un registro de la principal vemos el registro o registros
correspondientes de la secundaria.
El uso de este tipo de relaciones para vincular tablas facilita la búsqueda de registros en
la tabla secundaria. En la aplicación de la tienda de artículos de buceo podemos definir
la tabla Cliente como principal y Pedidos como secundaria. Así, al situarnos sobre un
registro de la tabla Cliente, el puntero de registro de la tabla Pedidos se desplaza
automáticamente a los pedidos de ese cliente. De igual forma, la tabla Pedidos se
convierte en la principal de la tabla Elemento, con lo que al seleccionar un pedido
seleccionamos también los artículos que lo componen.
Las tablas principales y secundarias se vinculan por medio de un campo común
denominado campo de vinculación. En la aplicación de ejemplo, las tablas Cliente y
Pedidos están vinculadas mediante una consulta basada en el campo NUM_CLI
(número de cliente). En dBASE el campo de vinculación de la tabla secundaria debe
tener un índice. Como muestra el ejemplo, una misma tabla puede ser principal y
secundaria a la vez en la misma consulta.

54 Guía del usuario


cretabl.dwu Page 55 Friday, September 1, 1995 4:21 PM

Minimización de redundancias
La utilización de varias tablas reduce la cantidad de información almacenada más de
una vez. Además, no debe almacenarse información que pueda calcularse con facilidad,
a menos que los cálculos requieran un gran esfuerzo de procesamiento o un control de
contabilidad. Por ejemplo, al crear la aplicación de la tienda de submarinismo puede ser
interesante almacenar el importe total de las facturas, pero no los impuestos totales
sobre las ventas, algo que dBASE puede calcular con facilidad.
En general, la única información redundante de las tablas relacionadas debe ser la de los
campos indexados que se emplean para establecer los vínculos. Esto se debe a que
dichos datos son necesarios para vincular las tablas y así poder utilizar, por ejemplo, el
número de cliente para identificar a los clientes en una tabla y a los pedidos en otra.

Identificación de los campos de índice


Los índices facilitan y aceleran el proceso de la información de las tablas. Cuando se
utilizan varias tablas son también necesarios para establecer las relaciones entre ellas.
La mayoría de las tablas deben tener al menos un índice para organizar los registros y
vincularlos con tablas relacionadas, pero un número excesivo de índices puede
ralentizar el rendimiento.
Para identificar los campos que deben indexarse, estudie los siguientes puntos:
• Datos que conocerán los usuarios cuando vayan a buscar información. Por ejemplo,
en la aplicación de la tienda de submarinismo los usuarios pueden basar la búsqueda
en el nombre del cliente, su número, el número del pedido o su fecha. Considere la
posibilidad de crear índices en estos campos.
• Datos que actúan como vínculo entre los distintos tipos de información. Por ejemplo,
en la aplicación de la tienda de submarinismo el número del cliente es común para
clientes y pedidos, mientras que el número del pedido es común para pedidos y
artículos.
Para obtener información sobre los índices, consulte la página 62.

Capítulo 3, Creación de tablas 55


cretabl.dwu Page 56 Friday, September 1, 1995 4:21 PM

Definición de campos individuales


A cada campo se le asigna un nombre, tipo, tamaño, número de cifras decimales
(si es numérico o de coma flotante) e índice (opcional). En la siguiente sección se
describen los aspectos específicos de los tipos de campo, cuyas directrices básicas
son las siguientes:
• Introduzca sólo un dato en cada campo. Por ejemplo, población, provincia, código
postal y país deben ir en campos distintos, ya que puede ser útil procesar de forma
distinta la información de cada campo. No obstante, hay datos que no deben
dividirse, como por ejemplo calle y número, a menos que se desee procesar los
registros por calle o número individualmente.
• El tamaño de los campos debe ser el mínimo necesario, aunque sin restringirlo en
exceso, para conservar espacio en disco. No obstante, recuerde que si desea calcular
el total de un campo numérico su tamaño debe ser suficiente para acoger el total, y no
sólo cada valor.
• Para los campos indexados, utilice códigos abreviados en lugar de largos campos de
carácter siempre que sea posible. Por ejemplo, en lugar de duplicar el nombre
completo de un cliente en cada pedido, utilice un código de cliente breve que le
permita simplificar la introducción de datos y la creación de índices y vínculos.
Este procedimiento da como resultado índices más eficaces y facilita la actualización
de los datos.
• Defina los campos de la tabla en un orden lógico, que será el modo por defecto en que
los usuarios verán la tabla. En general, deben colocarse los campos indexados al
principio de la tabla y deben mantenerse en una secuencia lógica los campos que
contengan información relacionada (como por ejemplo calle, población, provincia,
código postal y país).
• Utilice nombres de campo únicos y descriptivos. Sea coherente al asignar nombre a
los campos que contengan datos similares. Siempre que sea posible, utilice los
mismos nombres para los campos que aparezcan en distintas tablas (algunas bases de
datos SQL no lo permiten).

56 Guía del usuario


cretabl.dwu Page 57 Friday, September 1, 1995 4:21 PM

Conceptos básicos de la estructura de tabla


Antes de crear una tabla, conviene que estudie la estructura sobre papel. La estructura
se define al crear la tabla e incluye el nombre de la tabla, el tipo y los campos.

Nombres de tabla
Las tablas de dBASE tienen un nombre de archivo DOS, normalmente con la extensión
.DBF (.DB para las tablas de Paradox), que debe indicar su contenido. Por ejemplo, una
tabla que contenga información sobre los empleados podría llamarse EMPLEADO.DBF
o PERSONAL.DBF. Utilice nombres descriptivos y fáciles de recordar.

Tipos de tabla
El tipo de tabla determina su formato de archivo. Además de las tablas de dBASE, puede
utilizar tablas de Paradox y algunos tipos de tablas SQL. (dBASE también admite tablas
creadas con versiones anteriores de dBASE.)
El tipo de tabla se define dependiendo de la forma en que se vaya a emplear la tabla.
Si piensa utilizarla sólo con aplicaciones de dBASE, escoja el formato dBASE, pero si
piensa usarla con otras aplicaciones, seleccione el formato que mejor se adapte a todas
ellas.

Tipos de campo
Cada campo tiene un tipo de campo definido que determina la clase de información que
puede almacenar. Por ejemplo, un campo de carácter admite todos los caracteres
imprimibles, incluidos los espacios. Puede definir hasta 1.024 campos en cada tabla.
Las tablas .DBF de Visual dBASE pueden contener los siguientes tipos de campo.
Tabla 3.1 Tipos de campo .DBF en Visual dBASE
Tipo de Tamaño por Tamaño Admite
campo Símbolo defecto máximo índice Valores que admite
Carácter C 10 caracteres 254 caracteres Sí Todos los caracteres del
teclado.
Numérico N 10 dígitos, 20 dígitos Sí Números positivos o
0 decimales negativos.
Coma F 10 dígitos, 20 dígitos Sí Números positivos o
flotante 0 decimales negativos.
Fecha D 8 caracteres N/D Sí Fechas en formato
válido, como
DD/MM/AA.
Lógico L 1 carácter N/D No Verdadero (T, t), falso
(F, f), sí (S, s) y no (N, n).

Capítulo 3, Creación de tablas 57


cretabl.dwu Page 58 Friday, September 1, 1995 4:21 PM

Tabla 3.1 Tipos de campo .DBF en Visual dBASE (continuación)


Tipo de Tamaño por Tamaño Admite
campo Símbolo defecto máximo índice Valores que admite
Memo M 10 caracteres N/D No Normalmente sólo texto,
pero también todos los
caracteres del teclado;
puede contener datos
binarios (aunque es
mejor usar un campo
binario).
Binario B 10 caracteres N/D No Archivos binarios
(por ejemplo, datos de
imágenes y sonido).
OLE O 10 caracteres N/D No Objetos OLE de otras
aplicaciones para
Windows.

El tipo de campo determina lo que se puede hacer con la información que contiene.
Por ejemplo, pueden realizarse cálculos matemáticos con los valores de campos
numéricos, pero no con los de campos lógicos.
También determina el modo en que aparecen los datos en el campo. Por ejemplo, un
campo de fecha aparece por defecto en formato DD/MM/AA (como 14/02/96).
Este formato también depende de los parámetros internacionales seleccionados en el
archivo WIN.INI, los parámetros de la página País del cuadro de diálogo Propiedades
del escritorio y los definidos mediante la Utilidad de configuración IDAPI.
Las tablas .DB de Paradox utilizan distintos tipos de campo con normas diferentes,
como se describe en la tabla siguiente:
Tabla 3.2 Tipos de campo .DB en Paradox
Tipo de
campo Tamaño de campo Descripción
Alpha 1–255 (obligatorio) Contiene letras, números, símbolos especiales (como %, &, # y
=) o cualquier carácter imprimible.
Number Ninguno Contiene números situados en el rango de –10307 a 10308, con
un máximo de 15 dígitos significativos.
Money Ninguno Contiene números situados en el rango de –10307 a 10308, con
un máximo de 15 dígitos significativos.
Short Ninguno Contiene números enteros situados en el rango de –32,767 a
32,767
Long Integer Ninguno Entero con signo de 32 bits. Contiene números enteros
(no fraccionarios) con precisión total en el rango de —
2147483648 a 2147483647 (más/menos 2 a la 31 potencia).
BCD 0–32 (número de Contiene datos numéricos en formato BCD (decimal
dígitos tras la coma codificado en binario). Este tipo de campo se proporciona
decimal) principalmente para asegurar la compatibilidad con otras
aplicaciones que utilizan datos BCD.
Date Ninguno Contiene cualquier fecha válida (incluidas fechas AC) hasta el
31 de diciembre de 9999
Time Ninguno Contiene horas del día, almacenadas en milisegundos, desde
medianoche y limitadas a 24 horas. Este tipo de campo es de
sólo lectura en Visual dBASE.

58 Guía del usuario


cretabl.dwu Page 59 Friday, September 1, 1995 4:21 PM

Tabla 3.2 Tipos de campo .DB en Paradox (continuación)


Tipo de
campo Tamaño de campo Descripción
Timestamp Ninguno Contiene un valor de fecha y hora. Visual dBASE sólo escribe
valores de fecha en este campo, no fecha y hora.
Memo 1–240 en archivo .DB; Contiene texto de longitud variable sin formato.
sin límite en archivo
.MB
Formatted 1–240 en archivo .DB; Similar a los campos memo, excepto que también incluyen
memo sin límite en archivo formato de texto (tipo de letra, estilos, colores, tamaño,
.MB tabulaciones, justificación...).
Graphic 1–240 en archivo .DB; Contiene imágenes gráficas creadas con otra aplicación.
sin límite en archivo
.MB
OLE 1–240 en archivo .DB; Contiene objetos OLE procedentes de otra aplicación
sin límite en archivo Windows.
.MB
Logical Ninguno Contiene valores que representan verdadero o falso (sí o no).
Autoincrement Ninguno Contiene valores enteros largos en un campo de sólo lectura
(no editable), que comienza con el número 1 y se incrementa
automáticamente. La eliminación de un registro no cambia los
valores de campo de los demás.
Binary 1–240 en archivo .DB; Contiene datos que Paradox no puede interpretar o mostrar.
sin límite en archivo Un uso habitual de estos campos es el almacenamiento de
.MB sonido.
Bytes 1–255 Contiene datos que Paradox no puede leer o interpretar. Un
uso habitual de estos campos es el almacenamiento de códigos
de barra o bandas magnéticas. A diferencia de los campos
binarios, éstos se almacenan en las tablas de Paradox (en lugar
del archivo .MB), por lo que admiten un acceso más rápido.
Visual dBASE no lee o escribe este tipo de campo.

Otros tipos de tablas, como las tablas de servidor SQL, pueden presentar tipos de campo
diferentes. Consulte la documentación del servidor para obtener información más
detallada.

Capítulo 3, Creación de tablas 59


cretabl.dwu Page 60 Friday, September 1, 1995 4:21 PM

Campos de carácter
Los campos de carácter son los que se emplean con más frecuencia. Admiten cualquier
carácter imprimible, como letras, números, espacios, y signos de puntuación, y pueden
almacenar hasta 254. Para textos más largos se emplean los campos memo.
Nota Al definir el tamaño de un campo debe recordar que, en cada registro, el campo ocupa la
misma cantidad de espacio, tanto si contiene datos como si no. Utilice toda la anchura
que necesite para almacenar la información, pero no cree campos mayores de lo
necesario. Este principio debe tenerse muy en cuenta, sobre todo con tablas grandes o en
sistemas con capacidad de almacenamiento limitada. Por ejemplo, en una tabla con
100.000 registros, un campo de 30 caracteres necesita casi 1 Mb más de espacio en disco
que otro de 20 caracteres.
Utilice los campos de carácter para almacenar números que no se empleen en cálculos,
como números de teléfono, identificación fiscal, departamentos, cheques, facturas,
etcétera. Utilice también este tipo de campo para datos numéricos que empiecen por
cero, como el código postal 02139, ya que los campos numéricos no tienen en cuenta los
ceros a la izquierda.

Campos numéricos y de coma flotante


Los campos numéricos contienen números que se emplean en cálculos. Se puede
introducir cualquier dígito del 0 al 9, separadores decimales, el signo menos (-) para
valores negativos y el signo más (+) para valores positivos. Para almacenar números
puede utilizarse cualquiera de estos tipos de campo:
• Campos numéricos. Son los más comunes y sirven para almacenar el valor exacto de un
número, como cantidades de dinero. También se les conoce como campos fijos, ya
que contienen el valor exacto del número con un número fijo de dígitos.
• Campos de coma flotante. Se emplean para almacenar números muy pequeños o muy
grandes que se utilizan en cálculos científicos, como 7,3152e12 (7,3152 por 10 elevado
a 12 o 7.315.200.000.000).
Nota A diferencia de dBASE IV, Visual dBASE trata los datos numéricos y de coma flotante de
forma idéntica, con la misma precisión (19 dígitos) en ambos tipos. El tipo de coma
flotante se incluye principalmente para asegurar la compatibilidad con versiones
anteriores de dBASE.

Campos de fecha
Los campos de fecha admiten fechas del calendario, normalmente en formato
DD/MM/AA. Permiten realizar operaciones aritméticas simples, como restar
una fecha a otra para averiguar el número de días que hay entre ellas, o sumar días
a una fecha para obtener otra. Los campos de fecha son siempre de ocho caracteres.

Campos lógicos
Los campos lógicos, también conocidos como campos booleanos, aceptan los valores
correspondientes a verdadero, falso, sí o no (T, t, F, f, S, s, N, n). Son los más adecuados
para contener las respuestas del tipo verdadero/falso o sí/no a preguntas como Casado,
Terminado, Aceptado, etcétera. Tienen una anchura fija de un carácter.

60 Guía del usuario


cretabl.dwu Page 61 Friday, September 1, 1995 4:21 PM

Campos memo
Los campos memo contienen información de formato libre y longitud variable, por lo
general texto. Sus datos se almacenan en un archivo específico con el nombre de la tabla
a la que está asociado, pero con extensión .DBT. El campo memo de la tabla no contiene
la información en sí, sino sólo un puntero que identifica los datos en el archivo .DBT
correspondiente. Una misma tabla puede tener varios campos memo.
Un único archivo .DBT contiene los datos de todos los campos memo, binarios y OLE de
la tabla.
En la tabla los campos memo tienen una anchura de 10 caracteres para almacenar el
puntero al archivo .DBT. El tamaño de la información incluida en el archivo .DBT sólo
está limitado por la capacidad del sistema. Los campos memo pueden ser más eficaces
que los campos de carácter para grandes cantidades de texto, como notas, documentos,
anotaciones, comentarios, etcétera. Dado que estos campos se almacenan en un archivo
aparte, la búsqueda y visualización del texto puede ser más lenta que la de los datos
almacenados en la propia tabla.
dBASE actualiza el archivo .DBT de manera automática cada vez que se añaden,
modifican o eliminan registros de la tabla.

Campos binarios
Los campos binarios contienen datos almacenados en formato binario, como imágenes
de mapa de bits o datos de sonido. En la ventana Registros de tabla puede hacer doble
clic en el campo (o seleccionarlo y pulsar F9) para ejecutarlo (mostrar la imagen o activar
el sonido). Los campos binarios admiten archivos de imagen .BMP, .PCX, .WMF, .TIF
y .EPS, así como archivos de sonido .WAV. Se pueden añadir formatos binarios
definidos por el usuario.
En la tabla los campos binarios tienen una anchura de 10 caracteres para almacenar el
puntero a la entrada correspondiente del archivo .DBT.
Para obtener información sobre los campos binarios, consulte el Capítulo 5.

Campos OLE
Los campos OLE contienen objetos insertados en la tabla desde otras aplicaciones para
Windows que admiten la función OLE (Vinculación e incrustación de objetos).
Los objetos se pueden vincular mediante referencias o bien incrustados en el campo.
Para iniciar la aplicación en la que se creó el objeto vinculado puede hacerse doble clic
en el campo (o seleccionarlo y pulsar F9) en la ventana Registros de tabla.
Los campos OLE tiene una anchura de 10 caracteres para almacenar el puntero a la
entrada correspondiente del archivo .DBT.
Para obtener información sobre el uso de los campos OLE, consulte el Capítulo 5.

Capítulo 3, Creación de tablas 61


cretabl.dwu Page 62 Friday, September 1, 1995 4:21 PM

Indices
Los índices organizan los registros de una tabla siguiendo un orden concreto
especificado por el usuario. Se almacenan en un archivo aparte que se crea
automáticamente al definir el primer índice de la tabla. También permiten vincular
tablas relacionadas por medio de una consulta basada en un campo común.
Los registros de una tabla se pueden indexar según los valores de uno o varios campos.
Por ejemplo, para ordenar los registros de clientes por código postal, cree un índice que
utilice el campo COD_POST.
Los índices simples ordenan los datos según un solo campo, mientras que los índices
complejos pueden ordenar la información por medio de expresiones compuestas por uno
o varios campos y funciones de dBASE (para obtener definiciones de estos términos,
haga clic en Glosario, en el menú Indice de la Ayuda en línea). Los índices se explican
con más detalle en el Capítulo 4.

Finalización del diseño de las tablas


Una vez terminado el diseño de las tablas de una aplicación, es posible imprimir el
resultado para utilizarlo como referencia en el futuro.
Las tablas siguientes muestran las estructuras utilizadas en la aplicación de la tienda de
submarinismo.
Tabla 3.3 Campos de la tabla de ejemplo Cliente
Nombre del Tipo de
campo campo Tamaño Decimales Indice
NUM_CLI Carácter 4 Ascendente
NOMBRE Carácter 30
CALLE Carácter 30
CIUDAD Carácter 15
PROVINCIA Carácter 20
COD_POST Carácter 20
PAIS Carácter 20
TELEFONO Carácter 15
FECH_CONT Fecha 8
VENTAS_AC Numérico 12 2
CREDITO Lógico 1
FIRMA Binario 10
NOTAS Memo 10

62 Guía del usuario


cretabl.dwu Page 63 Friday, September 1, 1995 4:21 PM

Tabla 3.4 Campos de la tabla de ejemplo Pedidos


Nombre del Tipo de
campo campo Tamaño Decimales Indice
NUM_PED Carácter 4 Ascendente
NUM_CLI Carácter 4 Ascendente
FECH_VENTA Fecha 8
FECH_ENVIO Fecha 8
MODO_ENVIO Carácter 7
AMT_PAID Numérico 9 2
TERMS Carácter 6
PAY_METHOD Carácter 7
TOTAL Numérico 10

Tabla 3.5 Campos de la tabla de ejemplo Elemento


Nombre del Tipo de
campo campo Tamaño Decimales Indice
NUM_PED Carácter 4 Ascendente
EXISTENC Carácter 5
PRECIO Numérico 4 0
CANTIDAD Numérico 4 0

Capítulo 3, Creación de tablas 63


cretabl.dwu Page 64 Friday, September 1, 1995 4:21 PM

Creación de tablas
Tanto para crear nuevas tablas como para cambiar las estructuras de las existentes se
emplea el Diseñador de tablas. Si lo prefiere, también puede utilizar el Experto de tablas,
que facilita el diseño de la tabla.
Para crear una tabla:
1 Haga doble clic en el icono (Sin título) del panel Tablas en las ventanas Selector o
Catálogo (también puede teclear CREATE en la ventana de comandos).
Aparece un cuadro de diálogo con dos opciones: el Experto de tablas o el Diseñador
de estructura de tabla.
2 Elija Experto si desea una ayuda paso a paso durante el diseño de la tabla.
Elija Diseñador de tabla si prefiere diseñar la tabla personalmente.
El diseño de tablas con el Experto incluye explicaciones; sólo deben seguirse las
instrucciones de los cuadros de diálogo (para evitar que el Experto de tablas se abra
cada vez que crea una tabla, utilice la configuración de la página Aplicación en el cuadro
de diálogo Propiedades del escritorio). En el resto del capítulo se describe la creación de
una tabla desde el principio con el Diseñador de tablas.
Elija Diseñador de tablas para abrir la ventana Estructura de tabla.
Figura 3.3 Diseñador de tablas

Define toda la estructura de tabla,


incluyendo el tipo de tabla

Define cada campo


de la tabla

64 Guía del usuario


cretabl.dwu Page 65 Friday, September 1, 1995 4:21 PM

Creación de la estructura de tabla


La parte superior de la ventana de estructura de tabla representa las propiedades que se
aplican a toda la tabla:
• Nombre indica el nombre de la tabla, Sin título si aún no se ha guardado el diseño.
El nombre se asigna al guardar la tabla. Siga para ello las convenciones de
denominación de archivos del DOS.
• Tipo indica el tipo de tabla que desea crear. Siempre puede crear tablas de dBASE o
Paradox. Si ha instalado un controlador ODBC o SQL Link, también puede crear
estos tipos de tabla.
• Actualizado indica la fecha en la que se actualizó y se guardó la tabla por última vez.
• Registros indica el número de registros de la tabla.
• Bytes utilizados indica el número total de bytes utilizado por los campos definidos
en la tabla.
• Bytes restantes indica el tamaño máximo que pueden tener los registros del tipo de
tabla seleccionado menos los bytes ocupados por los campos. Los registros de dBASE
pueden tener hasta 32.767 bytes (un byte se utiliza para marcar los registros
borrados).

Definición de campos
La parte inferior de la ventana de estructura de tabla muestra la lista de campos
definidos en la tabla. Cada campo aparece en una fila, tal como muestra la figura
siguiente.
Figura 3.4 Propiedades que se definen para cada campo de una tabla de dBASE

Número de campo.
Cada fila de la
ventana de
estructura de tabla
tiene información
sobre un campo
de la tabla.

Escriba nombres descriptivos. Haga clic si desea crear un


índice con este campo.
Seleccione un tipo.
Seleccione la anchura de los Seleccione el número de cifras
campos de carácter, decimales para los campos
numéricos y de coma flotante. numéricos y de coma flotante.

Capítulo 3, Creación de tablas 65


cretabl.dwu Page 66 Friday, September 1, 1995 4:21 PM

Para cada campo se definen las propiedades siguientes:


• Campo es el número del campo en la tabla. Los números son consecutivos,
automáticos y de sólo lectura. Determinan el orden por defecto en que aparecen los
campos en la ventana Registros de tabla. Si desea cambiar ese orden, consulte
“Desplazamiento de campos” en la página 69.
• Nombre es el nombre del campo, que puede tener hasta 10 caracteres. Sólo pueden
utilizarse letras, números y el carácter de subrayado. El primer carácter debe ser una
letra.
Siempre que sea posible, utilice nombres de campo cortos y descriptivos.
Es aconsejable utilizar nombres similares para campos que contienen información
relacionada, como DIREC1 y DIREC2 o ENE, FEB, MAR, etcétera. Cada nombre debe
ser único dentro de la tabla, es decir, no puede haber dos campos con el mismo
nombre en una tabla. Los nombres de campo no hacen distinción entre mayúsculas y
minúsculas; para el Diseñador de tablas, APELLIDO y Apellido son el mismo
nombre.
Los nombres de campo en las tablas de Paradox pueden incluir un máximo
de 25 caracteres. Puede utilizar la mayor parte de los caracteres del teclado, incluidos
espacios, siempre que éstos no se sitúen al comienzo del nombre. No puede utilizar
los caracteres siguientes: corchetes[ ], llaves { }, paréntesis ( ), sólo # o la
combinación - >.
Consulte la documentación del servidor para conocer las convenciones en los
nombres de otras tablas.
• Tipo es el tipo de campo, que se selecciona en la lista. El tipo seleccionado determina
la clase de datos que puede contener ese campo y si se pueden modificar las opciones
de índice, tamaño y número de cifras decimales. Consulte la página 57 para obtener
más detalles.
• Ancho es el ancho del campo, que sólo se puede modificar en los campos de carácter,
numéricos y de coma flotante (todos los demás tienen un ancho fijo).
• Decimales es el número de dígitos permitidos a la derecha del separador decimal,
que sólo se aplica a los campos numéricos y de coma flotante. Por defecto estos
campos no tienen cifras decimales. Puede ajustarlos hasta un máximo de 2 cifras por
debajo del ancho total, que puede ser de hasta 20 caracteres incluyendo los decimales,
el separador y el signo menos opcional.
• Indice determina si se van a indexar los registros utilizando los valores de este campo
(sólo para campos de carácter, fecha, coma flotante y numéricos).Seleccione
Ascendente para indexar este campo en orden ascendente (orden ASCII para campos
de carácter, o bien el orden determinado por el controlador de idioma instalado).
Descendente indexa este campo en orden descendente y Ninguno (valor por defecto)
no lo indexa (o suprime el índice asociado a este campo en caso de que existiese).
Si selecciona Ascendente o Descendente, el Diseñador de tablas crea un índice para
este campo en el archivo de índice múltiple (.MDX) asociado a la tabla.

66 Guía del usuario


cretabl.dwu Page 67 Friday, September 1, 1995 4:21 PM

Especificación de restricciones de entrada de datos


Las restricciones de entrada de datos son normas que rigen los valores que pueden
introducirse en un campo. Si desea asegurarse de que los valores que introducen los
usuarios en un campo cumplen determinadas condiciones, especifique un límite de
entrada de datos para dicho campo.
Puede especificar estas restricciones en el Inspector cuando crea o modifica una tabla
que las admita, como las tablas de Paradox (donde se denominan validaciones).
Los archivos .DBF no admiten las restricciones de entrada de datos.
Figura 3.5 Restricciones de entrada de datos en el Inspector

Especifique restricciones de
entrada de datos para cada
campo en el Inspector.
Las restricciones disponibles
varían según el tipo de campo.

El Inspector muestra diferentes restricciones de entrada de datos según el tipo de


campo. Los tipos de restricciones posibles se incluyen en la Tabla 3.6.
Tabla 3.6 Restricciones de entrada de datos
Validación Significado
Necesario Todos los registros de la tabla deben incluir un valor en este campo.
Mínimo Los valores introducidos en este campo deben ser iguales o mayores que el mínimo
especificado aquí.
Máximo Los valores introducidos en este campo deben ser menores o iguales que el máximo
especificado aquí.
Por defecto El valor que especifique aquí se introduce automáticamente en este campo.
Puede sustituirlo por otro valor.

Desplazamiento por la ventana de estructura de tabla


Cada fila de la ventana de estructura de tabla representa un campo de la tabla que se
está diseñando. Para añadir, cambiar o eliminar la información de un campo en el
Diseñador de tablas hay que seleccionarlo antes.
Haga clic en el campo que desee modificar, desplazando el contenido de la pantalla si es
necesario. También puede utilizar las teclas siguientes:
Tabla 3.7 Desplazamiento por la ventana de estructura de tabla
Para ir a Pulse
Columna siguiente Tab o Intro
Columna anterior Mayús+Tab
Primera fila Ctrl+RePág
Ultima fila Ctrl+AvPág

Capítulo 3, Creación de tablas 67


cretabl.dwu Page 68 Friday, September 1, 1995 4:21 PM

Tabla 3.7 Desplazamiento por la ventana de estructura de tabla


Para ir a Pulse
Fila siguiente Ø
Fila anterior ë¦

El campo que seleccione aparecerá resaltado.


Si conoce el número del campo, puede desplazarse a él directamente, algo muy útil en
tablas con muchos campos. Para ello, escoja Estructura|Ir a número de campo o bien
pulse Ctrl+G. Seleccione el número del campo al que desee desplazarse y pulse Aceptar.

Adición e inserción de campos


Se pueden añadir nuevos campos a una tabla agregando filas al final de la lista o bien
insertándolas en cualquier parte de ella.
Para añadir un campo al final de la lista, escoja Estructura|Añadir campo (o haga clic
con el botón derecho del ratón en cualquier punto de la ventana de estructura de tabla y
seleccione Añadir campo en el menú rápido™).
Figura 3.6 Menú rápido de la ventana de estructura de tabla
Opciones para añadir
e insertar un campo

Tras esto aparece una nueva fila al final de la tabla.


Para insertar un campo, haga clic en la fila sobre la que quiera situarlo. A continuación,
escoja Estructura|Insertar campo o haga clic con el botón derecho del ratón y seleccione
Insertar campo en el menú rápido. En ambos casos aparecerá sobre la fila seleccionada
una nueva, que pasará a ser la fila actual para editarla.

68 Guía del usuario


cretabl.dwu Page 69 Friday, September 1, 1995 4:21 PM

Desplazamiento de campos
Se pueden desplazar los campos para cambiar su orden en la tabla.
Para desplazar un campo, señale a su número en la columna del extremo izquierdo.
Cuando el puntero se convierta en una mano, arrastre la fila hasta su nueva ubicación.
Figura 3.7 Cambio del orden de los campos

Utilice el puntero de mano para


subir o bajar el número del
campo a su nueva posición.

Eliminación de campos
Para eliminar campos de una tabla, haga clic en cualquier posición de la fila que
contiene el campo que desea eliminar y, a continuación, escoja Estructura|Borrar campo
seleccionado, o bien haga clic con el botón derecho del ratón y escoja Borrar campo
seleccionado en el menú rápido.
El Diseñador de tablas elimina la definición del campo. Si la tabla contiene registros, los
datos de este campo se eliminan al guardar la estructura de tabla.

Aspecto del Diseñador de tablas


El Diseñador de tablas permite cambiar el tamaño o la posición de las columnas,
desplazar filas y ocultar líneas de división.
• Para cambiar el tamaño de una columna, señale a su borde. Cuando el puntero se
convierta en una flecha de dos puntas, arrastre el borde hasta conseguir el tamaño
deseado.
• Para cambiar la posición de una columna, señale a su título. Cuando el puntero
adopte forma de mano, arrástrela hasta su nueva ubicación.
• Para mostrar u ocultar líneas de división, escoja Propiedades|Ventana de estructura
de tabla, o bien haga clic con el botón derecho del ratón y escoja Propiedades de la
ventana de estructura de tabla en el menú rápido. Aparecerá el cuadro de diálogo
Propiedades de la estructura de tabla, en el que podrá activar o desactivar las
opciones Líneas de cuadrícula horizontal o Líneas de cuadrícula Vertical.

Capítulo 3, Creación de tablas 69


cretabl.dwu Page 70 Friday, September 1, 1995 4:21 PM

Figura 3.8 Cuadro de diálogo Propiedades de la estructura de tabla

Almacenamiento de la estructura de tabla


Para conservar la estructura creada hay que guardar el diseño de la tabla. Al hacerlo por
primera vez se crean la tabla y todos los archivos asociados (como .DBT y .MDX).
Una vez guardada la estructura de la nueva tabla, utilice Tabla|Añadir registros para
introducir los primeros registros.
Para guardar los cambios realizados en el diseño de una tabla, efectúe alguna de las
siguientes acciones:
• Para guardar la tabla con un nuevo nombre, escoja Archivo|Guardar como.
• Para actualizar una tabla ya existente y mantener abierto el Diseñador de tablas,
escoja Archivo|Guardar.
• Para guardar los cambios y cerrar el Diseñador de tablas, escoja Archivo|Guardar y
cerrar.
Al guardar por primera vez o al escoger Guardar como aparece el cuadro de diálogo
Guardar tabla.
Figura 3.9 Cuadro de diálogo Guardar tabla

Introduzca el
nombre de la
tabla.

Introduzca un nombre de archivo válido. Se recomienda emplear la extensión por


defecto .DBF para todas las tablas. Elija la unidad y el directorio destino en caso
necesario y a continuación escoja Aceptar. dBASE crea o actualiza la tabla y los archivos
asociados.
Nota Las extensiones de los archivos no pueden acabar en T.
Si utiliza Ctrl+W para guardar una nueva tabla, aparecerá otro cuadro de diálogo al
introducir el nombre del archivo para que pueda añadir registros.

70 Guía del usuario


cretabl.dwu Page 71 Friday, September 1, 1995 4:21 PM

Figura 3.10 Cuadro de diálogo Añadir o generar registros

Haga clic en Añadir si desea añadir registros. La opción Generar se explica en el


Capítulo 6.

Cancelación de los cambios


Si desea cancelar la creación de una tabla o las modificaciones realizadas a otra ya
existente, anule los cambios efectuados en el diseño con alguna de las siguientes
acciones:
• Escoja Archivo|Abandonar y cerrar o pulse Ctrl+Q.
• Escoja Archivo|Cerrar, o pulse Esc para cerrar la ventana de estructura de tabla, y a
continuación, elija No cuando se le pregunte si desea guardar los cambios.

Restructuración de tablas
Cuando se empieza a utilizar una tabla pueden descubrirse formas de mejorar su
diseño, como añadir campos, eliminar los que ya no se necesitan o asignar nombres más
descriptivos. Por suerte resulta fácil cambiar la estructura de una tabla, incluso cuando
tiene registros.
Si la tabla está vacía, puede realizar cualquier cambio válido en la estructura, excepto
cambiar el tipo de tabla; pero si contiene registros hay que tener más cuidado al realizar
los cambios y antes debe hacerse una copia de seguridad de la tabla.
Al cambiar la estructura de una tabla, el Diseñador de tablas realiza una copia de
seguridad de ella, crea otra con el diseño modificado, intenta copiar en ella todos los
datos de la copia de seguridad y al terminar elimina esta última.

Normas importantes
Al cambiar la estructura de una tabla, el Diseñador de tablas utiliza el nombre y la
posición de cada campo para determinar el modo en que debe transferir la información
a la nueva estructura.
Advertencia Si el Diseñador de tablas no encuentra el campo correspondiente en la nueva tabla,
no copia en ella los datos que se encuentran en los campos de la copia de seguridad, por lo que
se perderá la información al eliminar ésta.
Para evitar la pérdida de información necesaria guarde con frecuencia la estructura al
realizar cambios en ella, confirmando así que se realizan correctamente.

Capítulo 3, Creación de tablas 71


cretabl.dwu Page 72 Friday, September 1, 1995 4:21 PM

Si se modifica el tipo de un campo, el Diseñador de tablas hace lo posible por convertir


los datos al nuevo tipo. Algunas conversiones son relativamente fáciles, como por
ejemplo convertir campos numéricos, de coma flotante o de fecha en campos de
carácter. Sin embargo, las conversiones radicales (como convertir campos memo en
campos de fecha) pueden producir resultados inesperados. Además, el Diseñador de
tablas no copia los datos que el nuevo tipo de campo no admite. Por ejemplo, no se
puede copiar el valor “123ABC” de un campo de carácter en un campo numérico, ya
que los campos numéricos no admiten letras.
Además de estas normas básicas, conviene recordar que si se elimina un campo de una
tabla que contiene registros se pierde definitivamente la información de dicho campo y
sólo es posible recuperarla si se ha realizado antes una copia de seguridad de la tabla.

Cambio de la estructura
Para cambiar la estructura de una tabla realice los siguientes pasos:
1 Abra la tabla en modo diseño. Para ello, elija Archivo|Abrir, haga clic en el nombre
de la tabla y seleccione Diseñar estructura de tabla. Si la tabla ya está abierta en una
ventana Registros de tabla, escoja Ver|Estructura de tabla.
Se abre la ventana de estructura de tabla con la definición actual de la tabla.
(Si está trabajando en un entorno compartido, aparecerá un mensaje instándole a
abrir la tabla de forma exclusiva. Escoja Abrir exclusiva para abrir la ventana de
estructura de tabla.)
2 Realice una copia de la tabla para trabajar en ella (escoja Archivo|Guardar como y
especifique un nuevo nombre para la tabla).
3 Cambie las definiciones de campos que desee, tal como ya se ha explicado en este
mismo capítulo.
No se puede cambiar el tipo de tabla (de dBASE a Paradox, por ejemplo).
4 Cuando termine, escoja Archivo|Guardar y cerrar. Además de guardar los cambios,
el Diseñador de tablas copia los archivos asociados (como .MDX y .DBT).
Nota Abra la tabla con la nueva estructura en la ventana Registros de tabla y compruebe si los
datos están como los quiere. Si no es así, puede volver a la tabla original si ha efectuado
los cambios en una copia.

72 Guía del usuario


cretabl.dwu Page 73 Friday, September 1, 1995 4:21 PM

Integridad referencial
La integridad referencial significa que un campo o grupo de campos de una tabla
(la tabla “secundaria”) debe hacer referencia a la clave de otra tabla
(la tabla “principal”). Sólo los valores existentes en la clave de la tabla principal son
válidos para los campos especificados de la tabla secundaria.
Figura 3.11 Integridad referencial

CLIENTE Num_Cli Nombre Ciudad

Los usuarios no puede introducir un valor


en el campo Num_Cli de la tabla Pedidos
si no coincide con un valor existente en el
campo Num_Cli de la tabla Cliente.
PEDIDOS Num_Ped Num_Cli

Sólo puede establecer integridad referencial entre campos semejantes que contengan
valores coincidentes. Por ejemplo, puede establecer integridad referencial entre las
tablas de ejemplo Cliente.db y Pedidos.db mediante los campos Num_cli. El nombre de los
campos no tiene relevancia en tanto los tipos y tamaños de campo sean los mismos.
Visual dBASE permite establecer integridad referencial en cualquier tipo de archivo que
lo admita. No puede establecer integridad referencial en archivos .DBR; sin embargo,
puede utilizar archivos .DB y algunas tablas de servidor SQL. Consulte la
documentación del servidor para determinar si el tipo de tabla admite la integridad
referencial.

Definición de la integridad referencial


Puede establecer integridad referencial entre tablas de la base de datos actual. Si no ha
especificado ninguna base de datos, puede establecerla entre tablas del directorio actual.
Para definir una relación de integridad referencial,
1 Elija Archivo |Administración de base de datos.
Aparecerá el cuadro de diálogo Administración de base de datos.
2 Especifique un tipo de tabla que admita la integridad referencial, como Paradox y
elija Integridad referencial.

Capítulo 3, Creación de tablas 73


cretabl.dwu Page 74 Friday, September 1, 1995 4:21 PM

Aparecerá el cuadro de diálogo Reglas de integridad referencial.


Figura 3.12 Cuadro de diálogo Reglas de integridad referencial

3 Elija Nuevo.
Aparecerá el cuadro de diálogo Nueva regla de integridad referencial, con todas las
tablas de la base de datos o el directorio actual en las listas Tabla principal y Tabla
secundaria.
Figura 3.13 Cuadro de diálogo Nueva regla de integridad referencial

4 Elija la tabla principal en la lista Tabla principal. En el área Campos de clave primaria
del cuadro de diálogo aparecerán los campos clave de la tabla.
5 Elija la tabla secundaria en la lista Tabla secundaria. Los campos disponibles para
establecer integridad referencial aparecerán en la lista Campos secundarios
disponibles.

74 Guía del usuario


cretabl.dwu Page 75 Friday, September 1, 1995 4:21 PM

6 En la sección Relación especifique si las tablas mantienen una relación de valores


únicos o múltiples. La relación que seleccione determinará los campos disponibles en
la tabla secundaria.
• Las relaciones de valores únicos pueden definirse entre el campo de clave primaria
de la tabla principal y el campo de clave primaria de la secundaria, o en cualquier
campo de la tabla secundaria que cuente con índice único.
• Las relaciones con valores múltiples pueden definirse entre un campo indexado
distinto del campo de clave primaria de la tabla secundaria y el campo de clave
primaria de la tabla principal.
7 En la lista Campos secundarios disponibles elija el campo de la tabla secundaria y
haga clic en la flecha Añadir campo. El nombre de campo aparecerá en el área
Campos secundarios relacionados del diagrama de integridad referencial.
También puede establecer integridad referencial con una clave compuesta. Si la tabla
principal incluye una clave compuesta, añada los campos de la lista Campos que
correspondan a todos los campos de la clave principal.
8 Seleccione la acción de actualización y borrado que desee
(consulte “Acciones de actualización y borrado” en esta sección).
9 Puede cambiar el nombre que define Visual dBASE.
10 Elija Aceptar para guardar la relación de integridad referencial.
Nota Si intenta definir integridad referencial en una tabla que ya contiene datos, es posible
que algunos valores no coincidan con los que existen en el campo clave de la tabla
principal. Cuando esto sucede, la operación no puede completarse y aparece un mensaje
de error.

Acciones de actualización y borrado


Puede especificar las normas siguientes para actualizar y borrar datos de una tabla
principal que cuenta con registros dependientes en una tabla secundaria:
• Restringir: No puede cambiar o borrar un valor de la clave principal si existen
registros que coincidan con dicho valor en la tabla secundaria.
Por ejemplo, si el valor 1356 existe en el campo Num_cli de Pedidos, no puede cambiar
este valor en el campo Num_cli de Cliente (sólo puede cambiarlo si previamente borra
o cambia todos los registros de la tabla Pedidos que lo contienen). Sin embargo, si el
valor no existe en ningún registro de la tabla secundaria, puede cambiar la tabla
principal.
• Cascada: Cualquier cambio que realice en el valor de la clave de la tabla principal se
efectúa automáticamente en la tabla secundaria. Si borra un valor de la tabla
principal, también se borran los registros dependientes de la tabla secundaria.

Capítulo 3, Creación de tablas 75


cretabl.dwu Page 76 Friday, September 1, 1995 4:21 PM

La disponibilidad de las actualizaciones y eliminaciones en cascada varía según el tipo


de tabla:
• Paradox: Sólo actualizaciones en cascada
• Oracle: Sólo eliminaciones en cascada
• Sybase: No se permiten actualizaciones ni eliminaciones en cascada
• InterBase: No se permiten actualizaciones ni eliminaciones en cascada

Cambio o eliminación de la integridad referencial


Puede elegir cualquier nombre de integridad referencial en la lista de relaciones de
integridad referencial con nombre del cuadro de diálogo Reglas de integridad
referencial para modificarlo o eliminarlo.
• Elija Editar para abrir el cuadro de diálogo Editar regla de integridad referencial con
la información de la relación de integridad referencial seleccionada. Debe obtener
acceso exclusivo a todas las tablas relacionadas en la integridad referencial cuando la
modifica.
• Elija Soltar para eliminar la relación de integridad referencial seleccionada.

Impresión de la estructura de una tabla


Una vez terminado el diseño de una tabla, puede imprimir su estructura para utilizarla
como referencia en el futuro. Para ello, abra la tabla en el Diseñador de tablas, escoja
Archivo|Imprimir, seleccione las opciones de impresión y elija Aceptar.

76 Guía del usuario


idxsort.dwu Page 77 Friday, September 1, 1995 4:23 PM

Capítulo

Indexación y ordenación de datos


Capítulo 4
4
Los registros de las tablas pueden organizarse mediante su ordenación o indexación.
Ambos métodos colocan los registros en un orden concreto, pero de maneras totalmente
distintas.
En el Capítulo 2 se presentaban las definiciones y conceptos de índice. En este capítulo
se describen las formas de organizar los registros de una tabla y se proporciona
información sobre los siguientes temas:
• Orden natural e indexado
• Indexación frente a ordenación
• Indices simples y complejos
• Líneas maestras y conceptos básicos del diseño de índices
• Adición, modificación y eliminación de índices
• Reindexación de tablas
• Ordenación de datos en tablas distintas
• Creación de índices para tablas de Paradox
Nota El material de este capítulo se aplica a los índices de dBASE y, en algunos casos, a los de
Paradox y SQL. No obstante, algunos procedimientos y normas específicas pueden ser
diferentes. Si utiliza tablas de Paradox consulte la página 96. Si utiliza tablas SQL,
consulte el Apéndice E y la documentación de SQL.

Capítulo 4, Indexación y ordenación de datos 77


idxsort.dwu Page 78 Friday, September 1, 1995 4:23 PM

Acerca de la indexación y la ordenación


La indexación y la ordenación son dos formas de establecer el orden de los datos de una
tabla que cubren distintas necesidades dentro de una aplicación.
La indexación clasifica los registros en una secuencia específica, por lo general en sentido
ascendente o descendente, basándose en un campo. Este procedimiento crea una lista de
registros organizados en un orden lógico, como por fecha o por nombre, y almacena esta
lista en un archivo específico denominado archivo de índice. Cada uno de estos archivos,
cuya extensión es .MDX, puede tener hasta 47 índices, pero sólo uno, denominado
índice principal actual, controla el orden de los registros en un momento dado.
La ordenación crea una copia completa de la tabla actual con los registros en otro orden.
Este procedimiento suele utilizarse poco, sólo cuando se desea crear una nueva tabla
con otro orden natural.
A continuación se indican las características principales de la indexación en
Visual dBASE
• Archivos de índice múltiples. Visual dBASE almacena los índices en archivos de
índice múltiples (.MDX) y reconoce los archivos .MDX creados en versiones
anteriores de dBASE. Se pueden diseñar y mantener varios índices utilizando el
cuadro de diálogo Mantenimiento de índices.
• Archivos de índice individuales. Los archivos .NDX contienen un solo índice.
Para mantener la compatibilidad, Visual dBASE puede utilizar archivos .NDX,
pero hay que abrirlos mediante comandos de dBASE, ya sea desde la ventana de
comandos o desde un programa. Deben actualizarse los índices de los archivos
.NDX a archivos .MDX (por medio del comando COPY INDEXES). Para más
información, consulte el Capítulo 19 de la Guía del programador y COPY INDEXES
en la Referencia del lenguaje.
• Indexación de tablas externas a dBASE. Visual dBASE puede indexar tablas de
Paradox y SQL. Para más información, consulte la página 96 y el Apéndice E.

Definición del orden de los registros


El orden de los registros se define de una de las dos formas siguientes:
Orden natural es la secuencia física de los registros en la tabla, es decir, el orden en que se
introdujeron, y viene determinado por su número de registro. En el orden natural los
registros aparecen consecutivamente por su número. Este orden también se denomina
orden de introducción de datos u orden físico.
Orden lógico o indexado es una secuencia que se crea, una secuencia lógica de los registros
independiente de su posición física. En el orden indexado se organizan registros de
forma numérica o alfabética, en sentido ascendente o descendente. Un índice ordena los
registros según los datos de uno o varios campos, manteniendo una referencia de la
posición lógica del registro junto con su posición física en la tabla.
El orden lógico es independiente del orden natural que los registros ocupan en la tabla.

78 Guía del usuario


idxsort.dwu Page 79 Friday, September 1, 1995 4:23 PM

En la siguiente figura se compara una serie de registros en orden natural e indexado.


Figura 4.1 Orden natural e indexado

Registros en orden Registros en orden


natural, como se indexado (según el
introdujeron. Sus campo NOMBRE).
números aparecen Están ordenados por
de forma nombre, no por
consecutiva. número de registro.

Al abrir una tabla en el Selector de archivos aparece en orden natural. Para activar un
índice en la ventana Registros de tabla, selecciónelo en el cuadro de diálogo
Tabla|Utilidades de tabla|Mantenimiento de índices (consulte “Selección del índice
maestro” en la página 87).
Es mejor tener un índice activo al trabajar con las tablas. El orden indexado proporciona
mayor eficacia, sobre todo en tablas grandes con muchos registros. Los índices facilitan
y aceleran la búsqueda de datos, procesan sólo los registros con los que el usuario
necesita trabajar y organizan la información visualmente en la pantalla y en los
informes. El orden natural es más apropiado para tareas como exportar datos a otras
aplicaciones, crear tablas temporales y trabajar con tablas que tienen pocos registros.

Indexación frente a ordenación


Las tablas suelen indexarse con vistas a establecer un orden específico para los registros,
que ayude a localizar y procesar con rapidez la información. La ordenación sólo debe
utilizarse cuando se desee crear otra tabla con un orden natural distinto.
A continuación exponemos algunas diferencias clave entre ambos procedimientos:
• Creación de tablas. La indexación crea un archivo de índice formado por una lista de
registros en orden lógico, junto con su correspondiente posición física en la tabla.
La ordenación crea una tabla distinta y pone en ella los datos de la original en otro
orden.
• Estructuración de los registros. Ambos procedimientos organizan los registros en un
orden concreto, con la diferencia de que mientras la indexación cambia sólo el orden
lógico y mantiene el natural, la ordenación cambia el orden natural de los registros en
la nueva tabla.
• Proceso de operaciones. Los índices aceleran enormemente algunas operaciones,
tales como la búsqueda de datos, ejecución de consultas, etcétera. Hay operaciones,
como la vinculación de tablas, que requieren el uso de índices.
• Uso de las funciones. Los índices permiten ordenar los registros utilizando tanto los
campos como los operadores y funciones de dBASE. La ordenación sólo permite usar
los campos, ya sea en orden ascendente o descendente.

Capítulo 4, Indexación y ordenación de datos 79


idxsort.dwu Page 80 Friday, September 1, 1995 4:23 PM

• Adición de registros. Al añadir registros a una tabla indexada, el índice se actualiza


automáticamente, de forma que los registros aparecen en el orden correcto. Si añade
o cambia registros en una tabla ya ordenada, tendrá que volverla a ordenar.
• Combinación de tipos de campo. Con la indexación deben convertirse los valores
de los campos a un tipo de campo común, por ejemplo convirtiendo la fecha de
venta en un campo de carácter por medio de la función DTOS (de fecha a cadena):
NUM_CLI + DTOS (FECH_VENTA). Por el contrario la ordenación permite ordenar
los registros según diferentes tipos de campo; por ejemplo, se puede ordenar una
tabla por número de cliente (campo de carácter) y por fecha de venta (campo de
fecha), sin tener que convertir los datos a un tipo de campo común.
• Combinación de tipo de orden. Los índices son en su totalidad ascendentes o
descendentes, mientras que la ordenación permite combinar campos en orden
ascendente y descendente.
• Filtros rápidos. Visual dBASE utiliza un proceso de optimización de filtro llamado
Filtros rápidos para agilizar el acceso en la selección de un subconjunto de registros
de una tabla. La indexación permite que Visual dBASE mejore en gran medida el
rendimiento de los filtros rápidos. Consulte la Ayuda en línea para obtener más
información sobre los filtros rápidos.
En general, los índices se utilizan para mejorar el procesamiento de operaciones como la
introducción de datos, fichas, consultas e informes. Los únicos inconvenientes
significativos son la mayor necesidad de espacio en disco y el tiempo de procesamiento
necesario para el mantenimiento automático.

80 Guía del usuario


idxsort.dwu Page 81 Friday, September 1, 1995 4:23 PM

Conceptos básicos sobre los índices


Antes de crear índices conviene familiarizarse con algunos conceptos generales.
• Archivos de índice múltiples (.MDX). Los índices que se crean se almacenan en un
archivo con extensión .MDX. Cada índice tiene un nombre (denominado a veces
etiqueta) que lo identifica dentro del archivo .MDX.
Existe un archivo .MDX principal para cada tabla, denominado archivo de
índice de producción, que se abre automáticamente al abrir la tabla. Por tanto, sus
índices están disponibles desde el primer momento, si bien ninguno estará activo
mientras no se seleccione como índice maestro. Al actualizar los registros de la tabla
también se actualizan los índices afectados del archivo de índice de producción.
Si se utilizan otros archivos .MDX es necesario abrirlos de forma expresa mediante la
introducción del correspondiente comando en la ventana de comandos.
El archivo de índice de producción tiene el mismo nombre que la tabla y la
extensión .MDX.
• Expresiones clave. Una expresión clave es un nombre de campo o una combinación
de nombres de campo, funciones y operadores que determina la forma en que un
índice ordena los registros de una tabla. Debe ser un campo de carácter, numérico, de
fecha o de coma flotante, o bien una expresión equivalente a uno de estos tipos.
Puede utilizar el Generador de expresiones, descrito en el Capítulo 15, para crear una
expresión clave válida. Estas expresiones pueden tener hasta 220 caracteres.
• Indices simples. Los índices simples utilizan un solo nombre de campo para la
expresión clave.
• Indices complejos. Los índices complejos utilizan uno o varios campos o bien una
expresión que incluya funciones y operadores de dBASE.
• Orden ascendente y descendente. Los registros se pueden ordenar en orden
ascendente, de menor a mayor (por defecto), o descendente, de mayor a menor.
En los campos de caracteres, el orden es ASCII o el establecido por el controlador de
idioma instalado por el BDE (consulte la página 440).
Nota El mantenimiento de muchos índices puede afectar al rendimiento, ya que
Visual dBASE tiene que actualizarlos cada vez que se revise la tabla. Si necesita mejorar
el rendimiento quizá deba suprimir del archivo de índice de producción los índices que
use con menos frecuencia. Consulte “Eliminación de índices” en la página 88.

Capítulo 4, Indexación y ordenación de datos 81


idxsort.dwu Page 82 Friday, September 1, 1995 4:23 PM

Planificación de índices
Al diseñar los índices de una tabla considere la forma en que se van a utilizar y procesar
los datos, ya que los índices condicionan las funciones que proporciona la aplicación:
introducción de datos, consultas e informes. Se puede evitar mucho trabajo de
modificación de índices si al principio se resuelven una serie de cuestiones.

Uso de los índices en la introducción de datos


Dado que los índices afectan al orden en que aparecen los registros, permiten al usuario
encontrar y actualizar la información con rapidez. Para que la introducción de datos sea
más eficaz deben tenerse en cuenta los siguientes puntos:
• Orden en que los usuarios esperan encontrar los datos. Por ejemplo, quizá esperan
ver una lista de empresas por orden alfabético, una lista de pedidos de compra
ordenados por número de pedido o una lista de facturas en orden cronológico.
Los índices deben reflejar el orden de la información que el usuario espera. Si cada
usuario espera encontrar la misma información en distinta secuencia pueden crearse
varios índices, uno para cada secuencia. Por ejemplo, en la tabla Pedidos pueden
crearse índices por número de pedido, por fecha del pedido y por número de cliente.
• Información que conocerán los usuarios al buscar registros en la tabla. Por ejemplo,
cuando los usuarios busquen una factura pueden conocer su número, su fecha
aproximada o la empresa que la emitió. Para acelerar el proceso de búsqueda pueden
crearse índices basados en las formas más usuales de búsqueda de información.
• Tipo de cálculo que los usuarios van a realizar con los datos de la tabla. Por ejemplo,
quizá los usuarios deseen calcular los promedios de ventas por provincia o las ventas
totales por mes. La palabra “por” le da una pista para saber el índice que necesita
crear: en el primer caso debe basar el índice en el campo de provincia, mientras que
en el segundo debe utilizar el campo de la fecha de venta. Los índices pueden colocar
registros similares en orden consecutivo para facilitar a los usuarios la búsqueda del
primer registro de una serie y detenerse al llegar al último. Por ejemplo, si los
usuarios desean calcular los pagos totales realizados a un proveedor, se puede crear
un índice basado en el nombre o en el número del proveedor.

82 Guía del usuario


idxsort.dwu Page 83 Friday, September 1, 1995 4:23 PM

Uso de índices en consultas


Además de ser necesarios para definir vínculos entre tablas relacionadas, los índices
pueden aumentar la velocidad de proceso de las consultas. Para mejorar la eficacia de
las consultas se deben tener en cuenta los puntos siguientes:
• Tipo de preguntas que los usuarios van a realizar. Por ejemplo, si desean saber el
número de existencias de un producto, puede crear un índice por nombre de
producto o por número de identificación.
• Tipo de información que conocerán los usuarios al realizar la consulta. Por ejemplo,
un usuario puede conocer el nombre del producto, su número de identificación o su
tipo, por lo que se pueden crear índices según los tipos de información.
• Si necesita un índice de manera ocasional o para consultas muy específicas, puede
crearlo al realizar la consulta en lugar de mantener siempre un índice concreto.
Una vez realizada la consulta puede eliminarlo para recuperar espacio en disco.

Uso de índices en informes


Los índices afectan al orden en que aparecen los registros en los informes.
Además, permiten calcular totales y subtotales (cuando cambian los valores clave).
Para facilitar el diseño de los informes se deben tener en cuenta los siguientes puntos:
• Orden en que los usuarios esperan ver los datos en el informe. Por ejemplo, puede
crearse un índice para que las facturas emitidas aparezcan en orden cronológico.
• Tipo de cálculo que realizará el informe. Por ejemplo, un informe puede mostrar el
número total de ventas por vendedor o la venta media por cliente. La palabra “por”
le da una pista para saber el índice que necesita crear: en el primer caso debe basar el
índice en el campo de vendedor, mientras que en el segundo debe utilizar el campo
del número de cliente. El uso de índices facilita el cálculo de totales variables.
Se pueden utilizar índices complejos para los informes con subtotales dentro de los
totales.
• Si necesita un índice de manera ocasional o para informes muy específicos, puede
crearlo al realizar el informe en lugar de mantener siempre un índice concreto.
Una vez realizado el informe puede eliminarlo para recuperar espacio en disco.

Capítulo 4, Indexación y ordenación de datos 83


idxsort.dwu Page 84 Friday, September 1, 1995 4:23 PM

Uso de índices para vincular tablas


Si desea realizar consultas multitabla necesitará índices que establezcan los vínculos
entre las tablas relacionadas. Para vincular tablas se deben tener en cuenta los siguientes
puntos:
• Relaciones existentes entre las tablas: de valores únicos, de valores múltiples o
muchos a muchos. En nuestro ejemplo, las tablas Pedidos y Elemento tienen una
relación de valores únicos, siendo Pedidos la tabla principal y Elemento la
secundaria.
• Campos comunes de las tablas relacionadas. Para vincular tablas es necesario tener
un índice por un campo de la tabla secundaria que aparezca también en la principal.
Por ejemplo, las tablas Pedidos y Elemento tienen un campo NUM_PED y en él se
basa el índice de la tabla Elemento.
• Posibilidad de utilizar códigos en lugar de largos campos de carácter. Por ejemplo,
para vincular los pedidos de la tabla Pedidos con los clientes de la tabla Cliente la
aplicación utiliza el número de cliente, un campo de carácter corto que identifica a
cada cliente.
Para obtener información sobre las relaciones entre tablas, consulte el Capítulo 3 y el
Capítulo 9.

84 Guía del usuario


idxsort.dwu Page 85 Friday, September 1, 1995 4:23 PM

Creación de índices simples


Los índices simples se basan en un solo campo. Al crear un índice se crea una etiqueta
de índice nueva en el archivo de índice de producción. No se modifican los datos de la
tabla, sólo se crea un índice nuevo en el archivo correspondiente.
La expresión clave de un índice simple coincide con el nombre del campo. Por ejemplo,
si creamos un índice por el campo NUM_CLI de la tabla Cliente, la expresión clave será
NUM_CLI.
Se pueden crear índices simples mediante el Diseñador de tablas o bien mediante el
cuadro de diálogo, como se muestra en las dos secciones siguientes.

Uso del Diseñador de tablas


Para crear un índice simple en el Diseñador de tablas, escoja un orden (ascendente o
descendente) para el campo que vaya a usar, tal como muestra el siguiente ejemplo:
Figura 4.2 Creación de índices simples en el Diseñador de tablas

Para crear un índice simple, seleccione un


orden (ascendente o descendente) en la
columna Indice del campo.

Visual dBASE añade el índice al archivo de índice de producción al guardar el diseño de


la tabla.

Uso del cuadro de diálogo Mantenimiento de índices


Para abrir el cuadro de diálogo Mantenimiento de índices, realice una de las siguientes
acciones:
• En la ventana Registros de tabla, escoja Tabla|Utilidades de tabla|Mantenimiento de
índices.
• En la ventana Estructura de tabla, escoja Estructura|Mantenimiento de índices.
• En el Diseñador de consultas, escoja Consulta|Mantenimiento de índices.
• Al ejecutar una ficha escoja Ficha|Utilidades de tabla|Mantenimiento de índices.
Como resultado aparece el cuadro de diálogo Mantenimiento de índices.

Capítulo 4, Indexación y ordenación de datos 85


idxsort.dwu Page 86 Friday, September 1, 1995 4:23 PM

Figura 4.3 Cuadro de diálogo Mantenimiento de índices

Lista de índices. Resaltado


Haga clic para crear
el índice principal actual.
nuevos índices.
Nombre del índice.
Expresión clave del índice.

Para crear un índice simple, escoja Nuevo y, a continuación, proceda tal como muestra
la siguiente figura.
Figura 4.4 Cuadro de diálogo Definir índice
Mueva el campo a lista de Campos de clave
de índice con los botones de flecha.

Elija los campos en la lista Escoja orden


de Campos disponibles, ascendente o
uno a la vez. descendente.

Elija Especificar con


Introduzca un nombre, lista de campos si
como NUMECLIE. desea un índice
simple.

El nombre del índice puede tener hasta 10 caracteres, ya sean letras, números o
caracteres de subrayado, siempre que el primero sea una letra. Este nombre debe ser
único dentro del archivo de índice. Para índices simples procure utilizar el nombre del
campo.
Por defecto Visual dBASE indexa los registros en orden ascendente. El orden exacto
depende del controlador de idioma especificado en BDE (consulte la page 368).
Al escoger Aceptar en el cuadro de diálogo Mantenimiento de índices, Visual dBASE
construye los índices creados o modificados y suprime los eliminados.
Si se ha seleccionado algún índice, pasará a ser el índice principal actual
(vea la siguiente sección).
Nota Es posible que tenga que esperar mientras se crean los índices, sobre todo si la tabla
tiene muchos registros o si las expresiones clave son largas y complejas.

86 Guía del usuario


idxsort.dwu Page 87 Friday, September 1, 1995 4:23 PM

Selección del índice maestro


Al abrir una tabla por primera vez en el Selector de archivos aparece en su orden
natural. El archivo .MDX de producción se abre de forma automática junto con la tabla,
pero los índices que contiene no causan ningún efecto hasta que se selecciona uno.
Para asignar a los registros un orden concreto hay que seleccionar un índice, que se
convierte así en el índice maestro.
El índice maestro es el que controla toda la tabla, y sólo puede haber uno activo en cada
momento. Este índice determina el orden de los registros al examinarlos y al realizar
cualquier operación mientras no se seleccione otro como índice maestro.
Para seleccionar un índice maestro, escoja Tabla|Utilidades de tabla|Mantenimiento de
índices y a continuación seleccione un índice de la lista o haga clic en Nuevo para crear
uno nuevo.
Figura 4.5 Selección del índice maestro

Elija el índice que desea utilizar en la lista.

A continuación haga clic en Establecer índice de


control para cambiar el índice.

Capítulo 4, Indexación y ordenación de datos 87


idxsort.dwu Page 88 Friday, September 1, 1995 4:23 PM

Tareas relativas a los índices


Además de crear y seleccionar índices, existen otras tareas que debe conocer.

Modificación de índices
Los índices se pueden modificar para hacerlos más útiles o eficaces. Por ejemplo, si crea
un índice simple en el Diseñador de tablas, es posible que desee convertirlo en complejo
añadiendo campos o expresiones. También puede suceder que, después de usar un
índice, descubra que sería más adecuado emplear otra expresión clave.
Para modificar un índice selecciónelo en el cuadro de diálogo Mantenimiento de índices
y escoja Editar. Aparecerá el cuadro de diálogo Definir índice. Realice los cambios
necesarios y elija Aceptar.

Eliminación de índices
Los índices que ya no se necesiten se pueden eliminar para ahorrar espacio en disco y
mejorar el rendimiento. Al eliminar un índice no se eliminan registros de la tabla, sino
sólo una forma de ordenarlos..
Para eliminar un índice simple en el Diseñador de tablas puede:
• Elegir Ninguno como tipo de índice para el campo, o bien
• En el cuadro de diálogo Mantenimiento de índices (Figura 4.3), seleccione el índice
que desee suprimir y haga clic en Borrar.
El Diseñador de tablas elimina el índice asociado del archivo de índice de producción.
Si elimina el único índice del archivo, también se borra el archivo .MDX.

Reindexación
Los índices se pueden reconstruir para asegurar su precisión y puesta al día.
Este procedimiento no suele ser necesario, ya que Visual dBASE actualiza de forma
automática el archivo de índice de producción cuando el usuario abre y modifica las
tablas. De igual forma, Visual dBASE reconstruye los índices al cambiar la estructura en
el cuadro de diálogo Mantenimiento de índices.
No obstante, en algunos casos los índices pueden resultar dañados o volverse inexactos.
Por ejemplo, una tabla puede tener índices almacenados en archivos .MDX distintos al
de producción (estos archivos .MDX, al igual que los .NDX, se abren mediante la
introducción de comandos de dBASE). Visual dBASE actualiza estos índices si el usuario
los abre antes de realizar cambios en la tabla, por lo que dejarán de ser exactos si no
están abiertos en el momento de añadir o eliminar registros de la tabla o cambiar valores
de los campos indexados. En estos casos debe actualizar el índice de forma expresa.

88 Guía del usuario


idxsort.dwu Page 89 Friday, September 1, 1995 4:23 PM

De igual forma, los índices se pueden corromper si se produce un fallo en el sistema,


como un error de disco o un corte de la corriente, que impida a Visual dBASE guardar
correctamente los cambios. Si esto ocurre deberá reconstruir el índice antes de utilizarlo.
Visual dBASE detecta los errores graves y avisa de que el índice está dañado o no se
encuentra al abrir la tabla asociada a él.
Es aconsejable actualizar los índices de vez en cuando para asegurarse de que son
exactos.
Para actualizar un índice, abra la tabla correspondiente y a continuación escoja
Tabla|Utilidades de tabla|Reindexar. (Si no se trata del índice de producción, debe
abrirse desde la ventana de comandos). En el peor de los casos será necesario eliminar
el archivo .MDX y volver a crear todos los índices.

Indices basados en subconjuntos de registros


En la mayoría de los casos, los índices incluyen todos los registros de la tabla, pero en
circunstancias especiales pueden contener sólo parte de ellos. Los índices basados en
subconjuntos de registros pueden facilitar el proceso de la información. Por ejemplo, si
desea trabajar con los datos presupuestarios de su departamento de ventas, puede crear
un índice que incluya sólo los registros en los que ID_DEP sea VENTAS.
Para crear índices que incluyan sólo ciertos registros, hay que determinar antes los
registros que se desea incluir y reflejarlo en una expresión válida de dBASE. Por
ejemplo, si desea crear un índice de clientes de la región de ventas Sur puede utilizar
una expresión de condición For como REG_VEN=“SUR”, con lo que sólo se procesará la
información relativa a los clientes de la región Sur.
Para obtener información sobre las condiciones For y otros temas relacionados, consulte
el Capítulo 6; para las expresiones de dBASE, consulte el Capítulo 15.

Capítulo 4, Indexación y ordenación de datos 89


idxsort.dwu Page 90 Friday, September 1, 1995 4:23 PM

Ocultación de valores duplicados


Un índice puede tener varios registros que presenten el mismo valor en el campo
indexado. Por ejemplo, la tabla Elemento puede tener muchas entradas con igual
NUM_PED o EXISTENC.
En algunos casos se puede necesitar un índice único, que muestre sólo la primera vez
que aparezca un valor en el campo indexado y omita los demás registros que tengan el
mismo valor. Este tipo de índice es útil cuando la información de un registro se repite en
los siguientes.
Por ejemplo, si todos los productos de la tabla Elemento que tengan igual EXISTENC se
venden al mismo precio, podemos utilizar un índice único para ocultar los valores
repetidos, con lo que sólo aparecerá el primer registro con el precio.
La figura siguiente compara índices únicos y no únicos.
Figura 4.6 Presentación y ocultación de valores duplicados

Un índice no único incluye valores Un índice único oculta los valores


duplicados. El campo indexado es duplicados. Sólo aparece el primer
EXISTENC. Cada existencia puede registro para cada EXISTENC.
aparecer varias veces.

Si selecciona Incluir sólo val. de clave únicos en el cuadro de diálogo Definir índice
(consulte la Figura 4.7) se excluirán del índice todos los registros que tengan valores
duplicados en el campo indexado, incluyéndose solo el primero de ellos.
Nota Visual dBASE utiliza el término único para referirse a la ocultación de valores
duplicados. Este uso no coincide con el concepto de creación de índices únicos que se
emplea en las tablas de Paradox y SQL. Los registros de los índices de dBASE pueden
tener valores duplicados en el campo indexado, lo cual no ocurre en los índices
primarios de Paradox. Los índices de SQL, por su parte, requieren que exista unicidad si
se definen como índices únicos.

90 Guía del usuario


idxsort.dwu Page 91 Friday, September 1, 1995 4:23 PM

Creación de índices complejos


Los índices complejos utilizan uno o varios nombres de campo y expresiones válidas de
dBASE. Utilice índices complejos cuando no haya ningún campo que identifique de
forma única a cada registro o cuando necesite la flexibilidad de una expresión para
definir la condición del índice. Los índices en las tablas de Paradox también pueden
utilizar varios campos; en esta aplicación, se denominan índices compuestos. Sin embargo,
a diferencia de los índices complejos en Visual dBASE, en la expresión de índice de
Paradox no pueden utilizarse funciones ni operadores.

Reglas de los índices complejos


La complejidad de la expresión de estos índices varía según cómo se emplee el índice.
Tenga el cuenta las siguientes reglas a la hora de definir índices complejos:
• Los valores de índices pueden tener hasta 100 caracteres y el texto de las expresiones
clave puede llegar a los 200 caracteres.
• El índice complejo debe ser una expresión de dBASE válida, con una sintaxis
correcta según las reglas de las expresiones descritas en el Capítulo 1 de la
Referencia del lenguaje dBASE. No olvide que un nombre de campo es una expresión
válida en dBASE.
• La expresión debe ser equivalente a un valor de carácter, fecha, numérico o de coma
flotante.
• Por lo general, aunque no siempre, debe contener al menos un nombre de campo.
• Si va a utilizar varios campos de carácter, concaténelos, o combínelos, mediante un
signo más (+), tal como muestran los ejemplos siguientes:
APELLIDO + NOMBRE + INICIAL
CLIENTE + NUM_PED
• Para concatenar campos de distinto tipo, conviértalos a un tipo común. En el
siguiente ejemplo, la expresión clave concatena el campo de carácter NUM_CLI y el
campo de fecha NUM_PED. La función DTOS() convierte el valor de fecha en una
cadena de caracteres con el formato AAAAMMDD. Este orden (primero el año, luego
el mes y después el día) asegura una indexación precisa; para expresiones de índice
es preferible emplear la función DTOS en lugar de DTOC, ya que DTOC() puede dar
como resultado órdenes distintos según los valores seleccionados en SET DATE.
NUM_CLI + DTOS(NUM_PED)
Para convertir campos numéricos, utilice la función STR(). Incluya la anchura y el
número de cifras decimales de los campos para asegurar la precisión del índice.
Por ejemplo, utilice la siguiente sintaxis para crear un índice que incluya el campo de
carácter NBELEM y el campo numérico CANTIDAD, que tiene una anchura de 10
cifras, 2 de ellas decimales (para obtener información, consulte el tema STR() en la
Ayuda en línea):
NBELEM+STR(CANTIDAD,10,2)

Capítulo 4, Indexación y ordenación de datos 91


idxsort.dwu Page 92 Friday, September 1, 1995 4:23 PM

Puede crear la expresión del índice mediante el Generador de expresiones para


asegurarse de que su sintaxis es correcta.

Creación del índice


Para crear un índice complejo, escoja Nuevo en el cuadro de diálogo Mantenimiento de
índices:
Figura 4.7 Creación de un índice complejo

Escoja Unico si desea ocultar las claves duplicadas


(consulte “Ocultación de valores duplicados” en la
página 90).
Introduzca una condición para usar un subconjunto
de registros o haga clic en el botón Utilidades para
usar el Generador de expresiones
(consulte “Indices basados en subconjuntos de
registros” en la página 89).
Escoja Especificar con la expresión para crear un
indice.
Introduzca una expresión clave o haga clic en el
botón Utilidades para crear una mediante el
Generador de expresiones (consulte la sección
“Expresiones clave”).
Puede introducir una expresión clave, como por ejemplo PROVINCIA+CIUDAD, para
crear un índice complejo basado en esos dos campos. Haga clic en el botón Utilidades si
desea utilizar el Generador de expresiones. La expresión clave puede emplear varios
nombres de campo, operadores y funciones de dBASE.
El índice se guarda al hacer clic en Aceptar para salir del cuadro de diálogo
Mantenimiento de índices.

Expresiones clave
La tabla siguiente muestra varios ejemplos de expresiones clave y los campos
utilizados.
Tabla 4.1 Ejemplos de expresiones clave
Expresión clave Campos utilizados Notas
NUM_CLI NUM_CLI
NUM_CLI + NUM_PED NUM_CLI, NUM_PED
NUM_CLI + DTOS(FECH_VENTA) NUM_CLI, FECH_VENTA DTOS convierte el
campo de fecha en
campo de carácter
para indexar.
UPPER(APELLIDO)+UPPER(NOMBRE) APELLIDO, NOMBRE UPPER cambia a
mayúsculas todos
los valores del
campo de carácter.

92 Guía del usuario


idxsort.dwu Page 93 Friday, September 1, 1995 4:23 PM

El primer ejemplo utiliza un solo nombre de campo como expresión clave. Por otro lado,
los índices complejos pueden utilizar uno o varios campos, así como operadores y
funciones de dBASE.
• NUM_CLI + NUM_PED es una expresión clave compleja que utiliza varios campos y
el operador de dBASE de concatenación(+).
• NUM_CLI + DTOS(FECH_VENTA) es una expresión clave compleja formada por
varios nombres de campo y una función de dBASE.
• UPPER(APELLIDO)+UPPER(NOMBRE) convierte todos los caracteres en
mayúsculas mediante la función UPPER antes de concatenar los campos, con lo que
se evitan problemas de orden si aparecen entradas en mayúsculas y en minúsculas.
Puede introducir la expresión directamente o utilizar el Generador de expresiones para
crearla.
En el Diseñador de consultas puede crear índices complejos que utilicen campos de
distintas tablas. Para más información, consulte el Capítulo 9.

Orden de los índices complejos


Los índices basados en varios campos aplican el orden a todos ellos en conjunto, no a los
campos individuales. Por ejemplo, todo el índice de la expresión anterior, incluyendo
NUM_CLI y FECH_VENTA, está en orden ascendente o descendente.
NUM_CLI + DTOS(FECH_VENTA)
No se puede crear un índice con NUM_CLI en orden ascendente y FECH_VENTA en
orden descendente.

Capítulo 4, Indexación y ordenación de datos 93


idxsort.dwu Page 94 Friday, September 1, 1995 4:23 PM

Uso de funciones
Las expresiones de índices pueden contener funciones de dBASE (incluidas las
definidas por el usuario) que modifiquen el formato de la información.
• En los campos de carácter, sobre todo los de nombres, conviene convertir todas las
letras en mayúsculas o en minúsculas, para así asegurar un orden coherente y
aumentar las posibilidades de encontrar valores coincidentes al realizar una
búsqueda. Ejemplos:
UPPER(APELLIDO)
UPPER(APELLIDO) + UPPER(NOMBRE) + UPPER(INICIAL)
• Los campos de carácter, sobre todo si son largos, conviene indexarlos por una parte y
no por todo el campo, ya que así se consiguen índices más eficaces. Utilice sólo la
parte del campo que necesite para asegurar valores únicos. El siguiente ejemplo de
expresión clave crea un índice basado en los diez primeros caracteres
(una subcadena) de los campos APELLIDO y NOMBRE más la inicial.
SUBSTR(APELLIDO,1,10) + SUBSTR(NOMBRE, 1,10) + M_INICIAL
• Los campos numéricos y de coma flotante conviene indexarlos por una parte de su
valor y no por el valor entero, ya que así se reduce el tamaño del índice y se aumenta
su eficacia. Utilice sólo la parte del campo que necesite para asegurar valores únicos o
para obtener el grado de precisión que desee. El siguiente ejemplo de expresión clave
suprime la parte fraccionaria de una cantidad de dinero:
INT(PAGADO)
• Los campos de fecha, que normalmente se introducen en formato DD/MM/AA
pueden convertirse a un formato cronológico que dé como resultado un orden
significativo (como AAAAMMDD). Consulte la explicación de la función DTOS
en la página 91.
• Para los campos lógicos, utilice una expresión de dBASE que dé como resultado un
tipo de datos válido para el índice (carácter, fecha, numérico o coma flotante).
El siguiente ejemplo de expresión clave comprueba un valor lógico (EXENTO), pero
en lugar de devolver T o F devuelve un tipo de carácter, que puede ser “E” o una
cadena vacía.
IIF(EXENTO, "E","")
Nota El uso de funciones en una expresión no afecta a los valores de los campos de la tabla,
sino sólo al orden en que los registros aparecen en el índice. Para obtener información
sobre las funciones de dBASE, consulte la Guía del programador.

94 Guía del usuario


idxsort.dwu Page 95 Friday, September 1, 1995 4:23 PM

Ordenación de datos
Al ordenar una tabla se copia su contenido en otra distinta y se organizan los registros
según el orden que se haya especificado. En este procedimiento, la tabla origen es la que
contiene los datos que se van a copiar, mientras que la tabla destino es la que contendrá
los datos copiados. La ordenación no cambia los datos en el archivo origen.
Al ordenar una tabla se copian todos los campos de la tabla origen. El usuario selecciona
los campos por los que quiere ordenar los registros y también puede escoger los
registros que desea incluir en la tabla destino por medio de las opciones de ámbito
(véase la siguiente figura).
Visual dBASE ordena los datos por orden alfabético, distinguiendo entre mayúsculas y
minúsculas, según el orden especificado por el controlador de idioma de la Utilidad de
Configuración BDE. La ordenación comienza por el primer carácter de la expresión
clave y continúa de izquierda a derecha. Los signos de puntuación preceden a los
números, éstos a las letras y, por último, las mayúsculas a las minúsculas.
En general sólo debe usarse la ordenación para exportar datos a otra aplicación o crear
una tabla distinta para realizar informes u otras operaciones. A fin de mejorar y acelerar
la introducción de datos y la generación de consultas e informes se utiliza la indexación.
Encontrará una comparación en page 69. Para obtener información acerca de la
exportación de datos, consulte el Capítulo 6.
Nota Asegúrese de tener suficiente espacio libre en el disco destino para almacenar la tabla.
Para ordenar datos, abra la tabla apropiada y a continuación escoja
Tabla|Utilidades de tabla|Ordenar registros, con lo que aparece el cuadro
de diálogo Ordenar registros.
Figura 4.8 Cuadro de diálogo Ordenar registros

Introduzca o seleccione la tabla


destino.
Opciones para escoger el
rango de registros, o
ámbito, que se van a incluir
en la nueva tabla.
Escoja los campos en los que
desee basar el orden
y haga clic en el botón de flecha
para pasarlos a la lista Campos
clave. Suprime uno o
todos los campos de la lista
Campos clave
Escoja los campos clave que
desee y a continuación el orden
de clasificación.

Seleccione los campos por los que desee ordenar los registros y haga clic en el botón >
para pasarlos a la lista Campos clave. El puesto en el que los campos aparecen en la lista
Campos clave determina la secuencia en que se aplicarán. En el ejemplo, los registros se
ordenarán primero por código postal y luego por nombre. La tabla destino contiene
todos los campos de la tabla origen.

Capítulo 4, Indexación y ordenación de datos 95


idxsort.dwu Page 96 Friday, September 1, 1995 4:23 PM

Seleccione los campos clave y especifique el tipo de orden y si la ordenación es sensible a


mayúsculas.
Las opciones de Ambito permiten escoger los registros que se desea incluir en la tabla .
Para obtener información, consulte el Capítulo 6.
Cuando termine pulse Aceptar. Visual dBASE crea una nueva tabla. Si ya existe el
archivo destino, Visual dBASE pregunta si quiere sobreescribirlo. Los registros
seleccionados se copian en la tabla destino por el orden especificado, a partir del primer
campo clave.

Indices primarios y secundarios


Visual dBASE permite crear índices primarios y secundarios en cualquier tipo de tabla
que los admita; por ejemplo, las tablas de Paradox.
• El índice primario es el índice principal de una tabla. Consta de uno o más campos
consecutivos, a partir del primer campo de la tabla.
• El índice secundario es complementario del índice principal.
Paradox y otros tipos de tabla permiten especificar si los índices secundarios son o no
sensibles a mayúsculas. Esta características afecta a la ordenación y la exclusividad de
los valores. En Visual dBASE, sólo pueden crearse índices sensibles a mayúsculas,
aunque conserva los índices no sensibles cuando se editan tablas que los utilizan.

Indices primarios de Paradox


Si crea tablas de Paradox, cada tabla debería incluir un índice primario, aunque no es
imprescindible. En una tabla de Paradox, el índice primario se guarda en un archivo con
la extensión .PX.

Claves únicas
Al contrario que los índices de Visual dBASE, los índices primarios de Paradox necesitan
valores únicos, es decir, no admiten valores clave duplicados. Por ejemplo, si una tabla
de Paradox tiene un índice primario por el campo NUM_PED, no se pueden añadir dos
pedidos con el mismo número (sólo puede haber uno en la tabla). En los índices
compuestos de Paradox, los valores de campo individuales pueden estar duplicados,
pero el valor combinado de todos los campos clave debe ser único. (Los índices
secundarios sí admiten valores duplicados.)
Al crear índices primarios, utilice un campo que tenga un valor único para cada registro,
como por ejemplo el campo del número de cliente en la tabla Cliente.db.
Cada tabla sólo puede tener un valor en blanco (vacío) en el campo clave, ya que si
hubiese más se considerarían valores duplicados. Por tanto, las entradas de los campos
clave son por lo general obligatorias.

96 Guía del usuario


idxsort.dwu Page 97 Friday, September 1, 1995 4:23 PM

Tipos de campos clave


Las claves de Paradox no permiten utilizar estos tipos de campo: memo, formatted
memo, graphic, OLE, binary, logical, or bytes.

Orden de los registros


Visual dBASE admite orden ascendente y descendente, pero Paradox sólo admite orden
ascendente, por lo que no se pueden crear índices descendentes en las tablas de
Paradox.

Indices Mantenidos y No mantenidos


Algunas tablas, como las de Paradox, pueden incluir dos tipos de índices secundarios:
• Indices secundarios Mantenidos, índices que se actualizan automáticamente cuando
cambian los datos de la tabla, similares a los índices de Visual dBASE en el archivo
.MDX de producción. Visual dBASE permite crear índices secundarios mantenidos y
los actualiza automáticamente cuando se edita una tabla.
• Indices secundarios No mantenidos, índices que no se actualizan automáticamente
cuando se abre una tabla, similares a los archivos .NDX en versiones anteriores de
dBASE. Visual dBASE no permite crear este tipo de índices, pero admite los
existentes. Para actualizar estos índices, debe reindexarlos mediante la ventana de
comandos (consulte el Capítulo 23 en la Guía del programador).
Sólo puede crear índices secundarios mantenidos si la tabla dispone de índice primario.
Puede crear tantos índices de campo único (simples) como campos haya en la tabla y un
máximo de 255 índices de campo múltiples (llamados compuestos) por tabla.

Capítulo 4, Indexación y ordenación de datos 97


idxsort.dwu Page 98 Friday, September 1, 1995 4:23 PM

Creación de índices primarios


Puede crear índices primarios en el Diseñador de tablas o en el cuadro de diálogo
Mantenimiento de índices. Si el tipo de tabla que está creando no admite índices
primarios, estas opciones no estarán disponibles.

Uso del Diseñador de tablas


Para crear un índice primario en el Diseñador de tablas, elija Estructura |Definir clave
primaria; accederá al cuadro de diálogo Definir clave primaria. A continuación, proceda
como se indica en la figura siguiente.
Figura 4.9 Cuadro de diálogo Definir clave primaria
Desplace el campo a la lista
Campos de clave primaria
con los botones de flecha.

Elija los campos, uno cada vez, en la


lista Campos disponibles.
La clave primaria debe estar compuesta
por campos consecutivos, a partir del
primero.

Uso del cuadro de diálogo Mantenimiento de índices


Para crear un índice primario sin el Diseñador de tablas:
1 Elija Tabla|Utilidades de tabla |Mantenimiento de índices.
Aparecerá el cuadro de diálogo Mantenimiento de índices.
2 Elija Nuevo.
Aparece el cuadro de diálogo No se definió clave primaria si no existe ningún índice
primario, como muestra la figura siguiente.
Figura 4.10 Cuadro de diálogo No se definió clave primaria

3 Elija Sí para crear la clave primaria.


Aparece el cuadro de diálogo Definir clave primaria, donde puede introducir los
datos que se indican en la Figura 4.9.

98 Guía del usuario


idxsort.dwu Page 99 Friday, September 1, 1995 4:23 PM

Creación de índices secundarios


Si ha creado un índice primario, puede crear uno o más índices secundarios en el cuadro
de diálogo Mantenimiento de índices.
1 Presente el cuadro de diálogo Mantenimiento de índices.
2 Elija Nuevo.
Aparecerá el cuadro de diálogo Definir índice.
3 Incluya la información que se muestra en la figura siguiente.
Figura 4.11 Creación de un índice secundario
Sitúe el campo en la lista Campos de clave
de índice con los botones de flecha.

Elija los campos en la lista


Campos disponibles, uno
cada vez.

Capítulo 4, Indexación y ordenación de datos 99


idxsort.dwu Page 100 Friday, September 1, 1995 4:23 PM

100 Guía del usuario


dataent.dwu Page 101 Friday, September 1, 1995 4:32 PM

Capítulo

Introducción y edición de datos


Capítulo 5
5
La ventana Registros de tabla permite al usuario ver y manipular los datos. Se pueden
utilizar tres tipos distintos de formato para ver los campos y registros. Las propiedades
de esta ventana también sirven para definir muchas características de los datos,
incluyendo qué campos y registros desea ver en pantalla.
En este capítulo se describe la forma en que se introducen y editan los datos en la
ventana Registros de tabla, con información sobre los temas siguientes:
• Líneas maestras para la introducción de datos en tablas
• Formas de presentación de los datos
• Desplazamiento por los registros de la tabla
• Adición y eliminación de registros
• Modificación de datos de los registros
• Almacenamiento y cancelación de los cambios
• Uso del cuadro de diálogo Propiedades de los registros de tabla
• Utilización de datos OLE (Vinculación e incrustación de objetos)
Para obtener información sobre cómo encontrar, calcular o modificar datos en varios
registros a la vez, consulte el Capítulo 6.
Nota El material de este capítulo se aplica a las tablas de dBASE y, en muchos casos, a las de
Paradox y SQL. No obstante, algunos procedimientos específicos pueden ser diferentes
para cada tipo de tabla. Si utiliza tablas SQL, consulte el Apéndice E.

Capítulo 5, Introducción y edición de datos 101


dataent.dwu Page 102 Friday, September 1, 1995 4:32 PM

Acerca de la introducción de datos


En el proceso de introducción de datos son esenciales la precisión y la rapidez.
El usuario quiere introducir sus datos de forma rápida y eficaz, pero a la vez correcta y
completa. Antes de empezar a introducir datos deben tenerse en cuenta los siguientes
aspectos:
Uso de la ventana Registros de tabla o de una ficha. La ventana Registros de tabla
proporciona acceso fácil, rápido y directo a las tablas. También se puede utilizar el
cuadro de diálogo Propiedades de los registros de tabla para seleccionar la información
que se necesita, asignarle opciones de formato y validar las entradas. La edición en la
ventana Registros de tabla es rápida y eficaz para la introducción ocasional de datos y
para el mantenimiento de tablas aisladas.
Las fichas proporcionan un mayor control sobre el proceso de introducción de datos,
incluyendo la posibilidad de editar varias tablas vinculadas en la misma ventana y así
reforzar la validación de entradas y la integridad de los datos. Si aún no tiene una ficha
de entrada de datos puede crearla al instante en el Experto de fichas. Para la
introducción y el mantenimiento de datos continuos suele ser útil dedicar antes algún
tiempo a diseñar una ficha.
Edición de todos los registros o selección exclusiva de los necesarios. A veces se
necesita procesar sólo una parte de los registros, sobre todo si la tabla es muy grande.
Por ejemplo, quizá desee modificar los pedidos realizados este mes. Para ello tenga en
cuenta lo siguiente:
• El cuadro de diálogo Propiedades de los registros de tabla le permite seleccionar los
registros que desea modificar.
• Las consultas también sirven para seleccionar determinados registros y omitir los que
no se necesiten para la tarea en cuestión. Tienen la ventaja de que se pueden
almacenar las condiciones especificadas y aplicarlas a varias tablas .
• Puede utilizar índices únicos o condicionales que incluyan sólo los registros que
desee.
Uso de tablas principales y secundarias. La eliminación de registros o la modificación
de los valores de los campos clave o vinculados puede provocar que Visual dBASE
pierda las referencias entre datos. Por ejemplo, si elimina un pedido de la tabla Pedidos,
pero no los registros asociados de la tabla Elemento, éstos quedarán sueltos y
producirán desajustes en los cálculos. Igualmente, puede cambiar de forma involuntaria
el número de un pedido en la tabla Pedidos y no hacerlo en la tabla Elemento, con lo que
el resultado será el mismo que en el caso anterior.
Si la tabla que está editando forma parte de una relación principal-secundaria, procure
utilizar una consulta para vincular ambas tablas en lugar de editar una sola. Esto le
ayudará a ver y conservar los vínculos entre registros relacionados.
Ordenación de registros. Durante el proceso de introducción de datos puede utilizar el
orden natural de la tabla o bien un índice. El método más eficaz para buscar registros
que se van a actualizar es el uso de índices, sobre todo con tablas muy grandes.

102 Guía del usuario


dataent.dwu Page 103 Friday, September 1, 1995 4:32 PM

Selección del formato para introducir datos en la ventana Registros de tabla.


Puede pasar fácilmente de un formato a otro (Browse, Ficha y En columnas) para
utilizar el que más se adapte a sus necesidades.
Valores repetidos. Para introducir el mismo valor varias veces puede utilizar la opción
Sustituir y actualizar muchos registros a la vez.

Configuración del entorno Visual dBASE


Muchos de los parámetros que afectan a la introducción de datos se pueden ajustar en
las páginas Tabla y Entrada de datos del cuadro de diálogo Propiedades del escritorio.
Figura 5.1 Cuadro de diálogo Propiedades del escritorio

Haga clic para obtener


información sobre las
opciones.

Haga clic en la
solapa para
seleccionar la
página que desee.

Para obtener información sobre el cuadro de diálogo Propiedades del escritorio, haga
clic en el botón Ayuda.

Capítulo 5, Introducción y edición de datos 103


dataent.dwu Page 104 Friday, September 1, 1995 4:32 PM

Apertura y cierre de tablas


Para poder trabajar con los datos de una tabla debe abrirla. Una vez realizadas las
modificaciones pertinentes, se cierra para guardar los cambios y liberar recursos del
sistema. El modo de apertura y cierre de las tablas depende en parte de si están
activadas o no las sesiones.

Sesiones
Las sesiones proporcionan una forma de aislar archivos y ventanas al realizar varias
tareas. Si se utilizan o no las sesiones depende de las necesidades concretas y de los
métodos de trabajo.
Las sesiones están activadas por defecto al iniciar dBASE para ofrecer un
comportamiento semejante al de otras aplicaciones para Windows. Se activan y
desactivan en la página Archivos del cuadro de diálogo Propiedades del escritorio
(escoja Propiedades|Escritorio y haga clic en la solapa Archivos).
Figura 5.2 Casilla de verificación Sesiones

Casilla de verificación Sesiones...

…en la página Archivos del cuadro de diálogo


Propiedades del escritorio.

Las sesiones están diseñadas para manejar varias tareas en el interface de usuario.
Si realiza una sola tarea, las sesiones tendrán muy poco impacto en su trabajo, pero si
tiende a realizar varias a la vez, las sesiones condicionan la forma en que unas tareas
afectan a otras. Para obtener información sobre el uso de las sesiones en programación,
consulte el Capítulo 17 de la Guía del programador.

104 Guía del usuario


dataent.dwu Page 105 Friday, September 1, 1995 4:32 PM

Sesiones activadas
Cuando las sesiones están activadas, Visual dBASE gestiona las tablas y ventanas como
cabe esperar en el interface de Windows. Si está acostumbrado a usar Windows, es
probable que le interese activar esta opción.
El uso de las sesiones presenta las características siguientes al trabajar en el Selector de
archivos:
• Se puede ver y editar la misma tabla en varias ventanas Registros de tabla al mismo
tiempo. Por ejemplo, una ventana puede mostrar la tabla ordenada por apellido y
otra por fecha. Visual dBASE mantiene las dos vistas de la tabla como si se estuviese
utilizando de forma compartida en una red. Cada ventana es una sesión de edición
distinta, pero al modificar información en una ventana se actualiza en la otra.
Puede trabajar con registros distintos en cada vista (porque tienen punteros
diferentes) y puede emplear índices maestros distintos. (El puntero de registro se
explica en la página 121; para obtener información sobre la compartición de tablas,
consulte el Capítulo 17.)
• Al cerrar la ventana Registros de tabla, Visual dBASE cierra su tabla
automáticamente, siempre que no haya otras ventanas que hagan referencia a ella en
la misma sesión.
• Puede modificar los parámetros de Propiedades del escritorio de forma distinta para
cada sesión, lo cual le permite personalizar por separado el entorno de cada tabla.
Los últimos cambios que realice se guardan en el archivo DBASEWIN.INI y se
aplican a las sesiones que abra a partir de ese momento.
Nota La ventana de comandos tiene su propia sesión, con independencia de lo que se haga en
el Selector de archivos o en cualquier otro lugar del interface de usuario. Así puede ver
los comandos generados en la ventana de comandos al trabajar en el interface.
No obstante, la introducción de un comando en esta ventana no tendrá ningún efecto en
la tabla abierta en el Selector si las sesiones están activadas.
El uso de sesiones permite a la ventana de comandos retener su entorno durante un
periodo de tiempo. Por ejemplo, una tabla abierta con USE en la ventana de comandos
seguirá allí después de abrir una ventana Registros de tabla desde el Selector.
Si pasa de la ventana de comandos al interface de usuario o viceversa mientras realiza
varias tareas teniendo activadas las sesiones, es posible que se produzca un
comportamiento inesperado. Si ésta es su forma de trabajo, quizá le convenga desactivar
las sesiones.

Capítulo 5, Introducción y edición de datos 105


dataent.dwu Page 106 Friday, September 1, 1995 4:32 PM

Sesiones desactivadas
Cuando las sesiones están desactivadas tiene, de hecho, una sola sesión. Entre las
consecuencias de la desactivación de las sesiones se encuentran las siguientes:
• Al cerrar la ventana Registros de tabla, su tabla permanece abierta para otras
operaciones. Por ejemplo, si crea una consulta, la tabla aparece en el Diseñador de
consultas, ya que está abierta. Para cerrarla, utilice uno de los comandos de cierre
(consulte la página 109).
• Los comandos introducidos en la ventana de comandos pueden afectar a las tablas de
todas las ventanas abiertas.
Si desactiva las sesiones, aún podrá editar la misma tabla en más de una ventana, pero
todas las vistas tendrán el mismo registro actual (ya que tienen un solo puntero de
registro) y el mismo índice maestro.

Sesiones y áreas de trabajo


Visual dBASE utiliza áreas de trabajo para permitir el acceso a varias tablas. Se asigna un
área de trabajo a cada archivo abierto, hasta un máximo de 225. Si están activadas las
sesiones, cada una de ellas podrá tener 225 áreas específicas. (Para obtener información
sobre las áreas de trabajo, consulte el Capítulo 17 de la Guía del Programador.)
La relación entre sesiones y áreas de trabajo puede verse con las consultas.
Cada consulta utiliza tablas en áreas de trabajo, empezando por la número 1. Se pueden
ejecutar varias consultas a la vez aunque cada una de ellas utilice el área de trabajo 1, ya
que cada consulta se ejecuta en una sesión distinta con su propio conjunto de áreas.
Esta situación es similar a la de los programas, que a menudo gestionan tareas en áreas
de trabajo. Sin las sesiones, un programador tendría que hacer un gran esfuerzo para
guardar y restaurar el entorno al responder a los sucesos.
Cuando las sesiones están desactivadas, todas las actividades se producen en un mismo
conjunto de áreas de trabajo.

Apertura de tablas
Las tablas se pueden abrir en modo ejecutar (ventana Registros de tabla) para editar los
datos o en modo diseño (ventana Estructura de tabla) para modificar la estructura.
Si desea añadir registros, utilice alguna de las opciones de Añadir registros que se
describen en la página 104.
Al abrir una tabla de dBASE se abren también automáticamente el archivo de índice de
producción (.MDX) y el archivo memo (.DBT) asociados, en caso de que existan.
Tanto una misma tabla como varias distintas se pueden abrir en más de una ventana.
El número total de archivos abiertos a la vez depende del parámetro FILES especificado
en el archivo CONFIG.SYS y del número de archivos que ya estén abiertos (para obtener
información sobre CONFIG.SYS, consulte la documentación de Windows).
Si intenta realizar una operación que necesite una tabla abierta y no hay ninguna en ese
momento, aparecerá el cuadro de diálogo Abrir tabla necesario, donde podrá
seleccionar una.

106 Guía del usuario


dataent.dwu Page 107 Friday, September 1, 1995 4:32 PM

Apertura de tablas desde el Selector de archivos


Para abrir una tabla desde el Selector de archivos, haga clic en su icono Tablas (o Todo).
Si es necesario, cambie Directorio actual o Base de datos actual (Figura 5.3).
Figura 5.3 Selector de archivos de Visual dBASE

Escoja la vía de acceso y el directorio.


Indique si desea abrir la tabla desde un directorio o una base de
datos.
Haga clic en el icono Tablas o Todo.

Abra la tabla usando uno de los métodos descritos en el texto.

A continuación realice una de las siguientes acciones:


• Haga doble clic en el icono de la tabla que desee para verla o editarla en la ventana
Registros de tabla.
• Haga doble clic con el botón derecho en el icono para abrirla en modo diseño en una
ventana Estructura de tabla.
• Haga clic con el botón derecho en el icono para abrir el menú rápido tabla y a
continuación escoja la opción que desee (véase la figura siguiente).
Figura 5.4 Menú rápido tabla
Escoja Editar registros para ver o editar datos.
Escoja Añadir registros para abrir la
Escoja Diseñar estructura de tabla para añadir tabla y añadirle registros.
índices o cambiar la estructura.
Abre una tabla de Registros de tabla.
Cierra una ventana Registros de tabla.
Elimina una tabla.
Muestra las propiedades de la tabla.

Aparecerá la ventana Registros de tabla con la tabla en formato Browse.

Capítulo 5, Introducción y edición de datos 107


dataent.dwu Page 108 Friday, September 1, 1995 4:32 PM

Apertura de tablas desde el menú Archivo


Para abrir una tabla desde el menú Archivo escoja Archivo|Abrir, con lo que aparecerá
el cuadro de diálogo Abrir archivo. Introduzca o seleccione la tabla que desee y escoja
Registros de tabla (para editarla) o Diseñar estructura de tabla (para cambiar su
estructura).
Figura 5.5 Cuadro de diálogo Abrir archivo

Introduzca un nombre
o seleccione una
tabla. Haga clic para escoger
tablas de bases de datos.
Seleccione un directorio.
Seleccione una unidad.

Elija un tipo de archivo Para cambiar registros.


de tabla. Para cambiar la estructura
de tabla.

Apertura de tablas mediante consultas


Las tablas se pueden abrir mediante consultas para editarlas. Con las consultas se puede
seleccionar sólo la información necesaria, en lugar de toda la tabla, y además permiten
editar varias tablas vinculadas por campos comunes.
Al ejecutar una consulta, Visual dBASE selecciona los registros y campos especificados y
muestra la información resultante en una ventana Registros de tabla. En el Capítulo 8 se
muestra cómo crear consultas.

Apertura de tablas más de una vez


En Visual dBASE se puede abrir una tabla más de una vez. Si las sesiones están
activadas, cada copia de la tabla tiene su propia sesión, por lo que el desplazamiento a
un registro en una ventana no conlleva el mismo desplazamiento en la otra. Las dos
sesiones de edición son independientes, aunque los cambios realizados en una se
reflejen en la otra.
Si las sesiones están desactivadas, el desplazamiento del puntero de registro en una
ventana sí conlleva el mismo desplazamiento en la otra, por lo que ambas ventanas
tienen siempre el mismo registro activo. Esto permite, por ejemplo, utilizar dos ventanas
para ver los datos de un mismo registro en dos formatos distintos (como Browse y
Ficha).

108 Guía del usuario


dataent.dwu Page 109 Friday, September 1, 1995 4:32 PM

Apertura de una tabla protegida


Cuando se abre una tabla cifrada, puede aparecer un cuadro de diálogo de registro.
Consigne la información en los campos Grupo, Usuario y Contraseña del cuadro de
diálogo y elija Aceptar. El administrador de la base de datos es quien se encarga de
asignar estos datos para activar la protección de tabla. Consulte “Seguridad de tablas”
para obtener más información sobre las tablas protegidas y el cifrado.
Figura 5.6 Cuadro de diálogo Registro

Introduzca el Grupo,
Usuario y Contraseña
asignados por el
administrador de base
de datos

Cierre de tablas
Al cerrar una tabla se guardan los cambios realizados y se liberan recursos del sistema.
Para cerrar una sola tabla, escoja una de las opciones Cerrar del menú Archivo o
Menú rápido, o cierre Visual dBASE.
Nota Si tiene activadas las sesiones, puede cerrar la tabla cerrando la ventana Registros de
tabla (a menos que otra ventana haga referencia a la misma tabla).
Para cerrar todas las tablas escoja Tabla|Utilidades de tabla|Cerrar todas las tablas o
salga de Visual dBASE.

Capítulo 5, Introducción y edición de datos 109


dataent.dwu Page 110 Friday, September 1, 1995 4:32 PM

Uso de la ventana Registros de tabla


La ventana Registros de tabla permite añadir, cambiar y editar registros en una tabla.
Figura 5.7 Barra rápida de la ventana Registros de tabla
Guardar Botones del Ejecutar Formatos (•) Añadir Botones de Ventana de
Nuevo Portapapeles tabla registro desplazamiento comandos
(Figura 5.18)

Abrir Imprimir Diseñar Buscar Crear Selector


tabla consulta

Formatos de datos
La ventana Registros de tabla presenta los datos con tres formatos distintos:
• El formato Browse muestra varios registros de la tabla en forma de filas, con los
campos en forma de columnas.
• El formato Ficha muestra un solo registro de la tabla, con los campos en sentido
horizontal y el nombre de cada uno de ellos sobre los datos correspondientes.
• El formato En columnas muestra un solo registro de la tabla, con los campos en
sentido vertical, el nombre de campo en la columna de la izquierda y los datos a la
derecha.
El formato utilizado depende de la tarea que se vaya a realizar. Por ejemplo, puede
utilizar Browse para buscar el registro que desee editar y, a continuación, Ficha o En
columnas para realizar los cambios.
Todas las funciones de edición de tablas se encuentran disponibles con independencia
del formato elegido. Por ejemplo, al seleccionar un campo memo y pulsar F9 en
cualquiera de los formatos, se abre el campo. No obstante, algunas características de
visualización se aplican sólo a uno de los formatos. Por ejemplo, el formato Browse
permite cambiar el tamaño de las columnas, lo cual no ocurre con Ficha y En columnas
(ya que no tienen columnas de campos).
Las barras de desplazamiento aparecen en la ventana Registros de tabla cuando su
contenido sobrepasa el ancho o el alto de la ventana.
La ventana Registros de tabla muestra todos los registros de la tabla a menos que haya
especificado parámetros que excluyan ciertos valores.
Nota En lugar de utilizar la ventana Registros de tabla para introducir datos, puede crear una
ficha. El Diseñador de fichas permite añadir colores, gráficos, texto y controles para
crear una pantalla de introducción de datos más manejable y atractiva. También puede
añadir programas que proporcionen un mayor control sobre el proceso de introducción
de datos, como realizar cálculos, validar entradas, vincular con otras tablas, etcétera.
Para obtener información, consulte el Capítulo 11.

110 Guía del usuario


dataent.dwu Page 111 Friday, September 1, 1995 4:32 PM

Cambio de formato
Al pasar del modo diseño al modo ejecutar o al abrir una tabla, ésta aparece en formato
Browse. La ventana Registros de tabla permite cambiar con facilidad de un formato a
otro, realizando una de las siguientes acciones:
• Pulse F2 para alternar entre los formato (Browse, Ficha y En columnas).
• Escoja el formato que desee en el menú Ver o haga clic en el botón de formato de la
Barra rápida.
Figura 5.8 Botones de la barra rápida para seleccionar el formato

Formato Browse Formato En columnas

Formato Ficha

Formato Browse
El formato Browse presenta los datos en forma de filas (registros) y columnas (campos).
Utilice este formato para examinar la información de los registros de la tabla.
Este formato es el único que muestra varios registros al mismo tiempo en la ventana
Registros de tabla.
Figura 5.9 Ventana Registros de tabla en formato Browse
Campos (columnas)

Nombre de campo (cabecera de columna)

Registros (filas)

Para ver más campos puede arrastrar los bordes derecho e izquierdo de la ventana hasta
ocupar toda la pantalla; también puede reducir el tamaño de las columnas como se
explica a continuación.

Cambio del tamaño de las columnas


Puede reducir el tamaño de las columnas para mostrar en pantalla más información al
mismo tiempo. Para ello señale al borde de la columna y, cuando el puntero se convierta
en una flecha de dos puntas, arrástrelo hasta conseguir el tamaño adecuado.
Nota La modificación del tamaño de una columna no afecta a los datos que contiene ni al
tamaño definido en la tabla para el campo. Estos cambios se pierden al cerrar la ventana
Registros de tabla.

Capítulo 5, Introducción y edición de datos 111


dataent.dwu Page 112 Friday, September 1, 1995 4:32 PM

Desplazamiento de columnas
La ventana Registros de tabla permite desplazar columnas para mejorar la presentación
o para cambiar el orden de los campos y así facilitar la introducción de datos. Señale al
título de la columna que desee desplazar y, cuando el puntero se convierta en una
mano, arrastre el campo hasta su nueva ubicación.
Nota El desplazamiento de una columna en la ventana Registros de tabla no afecta al orden
definido en la tabla. Estos cambios se pierden al cerrar la ventana Registros de tabla.

Formato Ficha
El formato Ficha muestra un solo registro de la tabla con los campos en sentido
horizontal y el nombre de campo sobre el contenido de cada uno de ellos, de manera
similar a una ficha de papel.
Nota No debe confundirse el formato Ficha de la ventana Registros de tabla con las fichas de
entrada de datos, que ofrecen un mayor control sobre la introducción de valores.
Para obtener información, consulte del Capítulo 10 al 14.
Figura 5.10 Ventana Registros de tabla en formato Ficha

Nombre de campo
Valor del campo

Icono de un campo binario con datos


Icono de un campo memo con datos

Los campos aparecen en sentido horizontal de izquierda a derecha, empezando por el


primer campo del registro y continuando en filas sucesivas si es preciso. Si un registro
ocupa más de una pantalla, aparece una barra de desplazamiento vertical.
El formato Ficha es similar al formato En columnas, con la diferencia de que puede
haber más de un campo en cada fila. Si los registros tienen muchos campos, utilice el
formato Ficha para que aparezcan más campos en la pantalla.

112 Guía del usuario


dataent.dwu Page 113 Friday, September 1, 1995 4:32 PM

Formato En columnas
El formato En columnas de la ventana Registros de tabla muestra un solo registro de la
tabla, con los campos en sentido vertical y el nombre de cada uno de ellos a la izquierda
de los datos correspondientes.
Figura 5.11 Ventana Registros de tabla en formato En columnas

Nombre de campo
Valor del campo

Icono de un campo binario con datos


Icono de un campo memo con datos

Los campos aparecen en sentido vertical de arriba a abajo, empezando por el primer
campo del registro. El formato En columnas es similar al formato Ficha, con la diferencia
de que sólo puede haber un campo en cada fila, lo que a veces facilita la visualización e
introducción de datos.

Capítulo 5, Introducción y edición de datos 113


dataent.dwu Page 114 Friday, September 1, 1995 4:32 PM

Definición de las propiedades de la ventana Registros de tabla


El cuadro de diálogo Propiedades de los registros de tabla controla una serie de
opciones que permiten mejorar el proceso de edición de datos. Puede seleccionar
campos y registros para editarlos, bloquear o inmovilizar columnas en la pantalla,
validar entradas de campos, mostrar campos calculados, presentar datos mediante
plantillas, asignar campos de sólo lectura y realizar otros cambios que faciliten la
introducción de datos.
Este cuadro de diálogo proporciona además un mayor control sobre la cantidad de
información que los usuarios ven y el modo en que pueden modificarla. Por ejemplo,
puede ocultar campos que los usuarios no deban ver o incluir sólo los registros que
necesite modificar.
Muchas de estas propiedades se guardan al salir de la ventana Registros de tabla, entre
ellas los parámetros de los campos y sus propiedades, además de las siguientes:
Los parámetros de Cuadrícula se aplican a la ventana Registros de tabla actual y a todas
las siguientes, mientras que los demás parámetros se aplican sólo a la ventana actual.
Para abrir el cuadro de diálogo Propiedades de los registros de tabla desde la ventana
Registros de tabla, elija Propiedades |Ventana de registros de tabla.
El cuadro de diálogo Propiedades de los registros de tabla (Figura 5.12) tiene tres
páginas con solapa (para ver una de ellas, haga clic en su solapa):
• La página Campos muestra los campos de la tabla actual que aparecen en la ventana
Registros de tabla. Puede ocultar o mostrar campos y definir campos calculados para
que aparezcan al trabajar con la tabla.
• La página Registros permite especificar los registros que aparecerán en la ventana
Registros de tabla. Contiene parámetros que sirven para ampliar o restringir las
operaciones de edición, definir los rangos de valores admitidos para las claves de
índice y personalizar las tareas de introducción de datos.
• La página Ventana contiene opciones de presentación en pantalla, como el título de la
ventana y las cuadrículas, además de una serie de opciones que permiten establecer
el tamaño de los campos, bloquear columnas e inmovilizar campos.

114 Guía del usuario


dataent.dwu Page 115 Friday, September 1, 1995 4:32 PM

Ocultación y presentación de campos


Puede decidir si desea ocultar o mostrar campos en la ventana Registros de tabla.
Figura 5.12 Selección de campos en el cuadro de diálogo Propiedades de los registros de tabla

Campos disponibles no
seleccionados para mostrarlos. Campos seleccionados para
mostrarlos.

Haga clic para añadir campos Haga clic para definir las
calculados (consulte “Adición de propiedades del campo
campos calculados”). seleccionado actual
(consulte “Definición de
propiedades de campo”).

La lista Campos disponibles contiene los campos disponibles que el usuario no ha


seleccionado para que aparezcan en pantalla, mientras que la lista Campos
seleccionados contiene los campos que sí aparecerán en pantalla.
Para pasar un campo de una lista a la otra, selecciónelo y use uno de los botones > o <,
con lo que el campo se desplazará en el sentido de la flecha. Para pasar todos los campos
de una lista a la otra, haga clic en uno de los botones >> o <<.
Para situar un campo en una posición específica de la lista Campos seleccionados, haga
clic en el campo de esta lista tras el que desee situarlo. Por ejemplo, en la Figura 5.12, si
hace clic en el botón > con los campos que aparecen seleccionados, se cambiará
CIUDAD detrás de CALLE en la lista Campos seleccionados.
Utilice la casilla de verificación Permanente para conservar la configuración que
especifique en este cuadro de diálogo. Si esta opción está marcada, los datos se graban
en el archivo DBASEWIN.INI y se utilizan la próxima vez que abre la tabla de forma
interactiva (si abre la tabla con un comando BROWSE, se ignora esta configuración.

Capítulo 5, Introducción y edición de datos 115


dataent.dwu Page 116 Friday, September 1, 1995 4:32 PM

Adición de campos calculados


La ventana Registros de tabla permite calcular valores de forma automática en la
pantalla (para realizar cálculos mediante consultas, consulte el Capítulo 8), para lo cual
es necesario añadir un campo calculado. Por ejemplo, si está editando facturas de una
tabla, puede calcular los impuestos y mostrarlos en una columna especial.
Para añadir un campo calculado a la lista Campos seleccionados escoja Añadir campo
calculado (Figura 5.12), con lo que aparece el cuadro de diálogo Campo calculado.
Figura 5.13 Cuadro de diálogo Campo calculado

Escriba un nombre para el campo calculado.


Introduzca una expresión de cálculo
o haga clic en el botón Utilidades para crearla en el
Generador de expresiones.

Introduzca una expresión de cálculo o haga clic en el botón para crearla en el


Generador de expresiones. Esta expresión suele contener como mínimo el nombre
de un campo de la tabla. Al hacer clic en Aceptar se añade el campo calculado a la
lista Campos seleccionados.
Figura 5.14 Campo calculado

Campo calculado añadido a la lista


Campos seleccionados.

Para editar un campo calculado selecciónelo en la


lista y haga clic en el botón Calculado.

Al volver a la ventana Registros de tabla aparece el campo calculado como de sólo


lectura, por lo que los usuarios lo pueden seleccionar pero no editar.

116 Guía del usuario


dataent.dwu Page 117 Friday, September 1, 1995 4:32 PM

Definición de propiedades de campo


Se pueden definir algunas propiedades de campos individuales en la lista Campos
seleccionados. Para ello, haga clic en el campo adecuado y a continuación escoja el botón
Propiedades (Figura 5.12), con lo que aparece el cuadro de diálogo Propiedades del
campo.
Figura 5.15 Cuadro de diálogo Propiedades del campo

Introduzca la cabecera del campo. Defina el ancho del campo.


Introduzca una plantilla o haga clic Marque esta casilla para que el
en el botón Utilidades. campo sea de sólo lectura.
Introduzca una condición o haga
clic en el botón Utilidades.

Introduzca una expresión para


validar los valores de los campos. Introduzca o seleccione los
Escoja un mensaje de error. límites superior e inferior.
Marque esta casilla para que la Marque esta casilla para que el
validación sea obligatoria. rango sea obligatorio.

• Encabezado cambia el título de la columna en la ventana Registros de tabla por el


texto especificado. Por ejemplo, puede cambiar el texto por defecto NUM_CLI por
Número de cliente.
• Plantilla aplica una plantilla para presentar la información y restringir la
introducción de datos. Por ejemplo, puede convertir todos los caracteres a
mayúsculas o cambiar el formato de los números grandes. Introduzca una plantilla o
haga clic en el botón para que aparezca la herramienta Plantilla. Para obtener
información, consulte la Ayuda en línea.
• Cuando es una expresión que permite editar este campo cuando es verdadera. A
menudo depende del valor de otro campo. Por ejemplo, quizá desee introducir los
datos de ESPOSA sólo si el valor del campo CASADO es verdadero.
• Ancho define el ancho del campo en la pantalla en formato Browse. Si modifica el
ancho con el ratón, varía el valor de este campo.
• Sólo lectura, si está seleccionado, convierte el campo en un campo de sólo lectura.
Por ejemplo, si muestra una tabla puede resultar útil definir sus campos como de
sólo lectura, de forma que los usuarios no puedan cambiar su contenido por error.
Los campos calculados siempre son de sólo lectura.
• Color define los colores de fondo y primer plano del campo seleccionado.
Por ejemplo, si muestra una tabla puede resultar útil asignar un color diferente a
los campos de sólo lectura para que los usuarios no cambien su contenido por error.
Introduzca un valor hexadecimal para el color o haga clic en la utilidad para
especificar el color de forma interactiva.

Capítulo 5, Introducción y edición de datos 117


dataent.dwu Page 118 Friday, September 1, 1995 4:32 PM

• Válido es una expresión que determina si una entrada del campo es válida.
La ventana Registros de tabla comprueba este campo si cambia su valor. Por ejemplo,
quizá desee asegurarse de que se rellena el campo del número de pedido o que el
código postal tiene al menos cinco caracteres. Introduzca una expresión válida de
dBASE o haga clic en el botón para utilizar el Generador de expresiones.
• Mensaje de error es el mensaje que aparece si no se cumple Válido.
• Necesario (en el panel Válido) evita que los usuarios dejen el campo en blanco o
introduzcan valores incorrectos. Si se marca esta opción, se aplicará la prueba de
validación cuando los usuarios salgan del campo, tanto si su valor ha cambiado como
si no. Si no se marca, sólo se aplicará la prueba cuando se introduzcan o se
modifiquen los datos. Para los rangos de valores permitidos, procure utilizar Límite
inferior y Límite superior en lugar de esta opción.
• Límite inferior y Límite superior son expresiones que determinan si una entrada del
campo es válida o no. Por ejemplo, puede asegurarse de que la fecha introducida
pertenece a este año. Introduzca una expresión válida de dBASE o haga clic en el
botón para utilizar el Generador de expresiones.
• Necesario (en el panel Rango) impide que los usuarios introduzcan valores no
comprendidos en el rango especificado. Si se marca esta opción se aplicará la
comprobación del rango cuando los usuarios salgan del campo, tanto si su valor ha
cambiado como si no. Si no se marca, sólo se comprobará cuando se introduzcan o se
modifiquen los datos del campo.

118 Guía del usuario


dataent.dwu Page 119 Friday, September 1, 1995 4:32 PM

Selección de registros para mostrar en pantalla


Las opciones de la página Registros permiten seleccionar los registros que se desea
mostrar en pantalla, las operaciones de edición que se deben anular y la forma de
presentación en pantalla. Para acceder a esta página haga clic en la solapa Registros.
Figura 5.16 Opciones de la página Registros

Existen cuatro opciones de edición:


• Añadir, si está marcada, permite que los usuarios añadan registros.
• Editar, si está marcada, permite que los usuarios cambien datos de los registros.
• Borrar, si está marcada, permite que los usuarios borren registros.
• Seguir el índice, si está marcada, mantiene el puntero de registro en su posición
actual cuando se modifiquen valores clave del índice maestro actual.
Las opciones de Rango del índice son las siguientes:
• Clave inferior/Clave superior permite definir límites o un rango de valores clave.
Si Clave inferior tiene una expresión, se seleccionan los registros iguales o superiores
a ese valor. Si Clave superior tiene una expresión, se seleccionan los registros iguales
o inferiores a ese valor. Si las dos tienen valores, se selecciona el rango especificado
por ellas, ambas incluidas.
• Excluir, si está marcada, selecciona los registros que están por encima de la clave
inferior y/o por debajo de la superior, ambas excluidas.
• Ambito, Para y Mientras especifican los registros que se seleccionan para mostrarlos
en la ventana Registros de tabla. Para obtener información, consulte el Capítulo 6.

Capítulo 5, Introducción y edición de datos 119


dataent.dwu Page 120 Friday, September 1, 1995 4:32 PM

Control de la presentación de los datos


Las opciones de la página Ventana permiten controlar la forma en que aparecen los
datos en pantalla.
Figura 5.17 Opciones de la página Ventana

• Título permite cambiar el texto de la barra de título de la ventana Registros de tabla.


• Alternar formato, si no está marcada, impide cambiar de un formato a otro en la
ventana Registros de tabla.
• Cuadrícula horizontal y Cuadrícula vertical activan y desactivan las filas y
columnas en el formato Browse.
• Bloquear bloquea un número determinado de campos seleccionados para que
permanezcan siempre visibles al desplazarse hacia la derecha en el formato Browse.
• Ancho define un ancho de pantalla uniforme para los campos.
• Forzar limita la edición del campo elegido. Para ello, haga clic en la flecha y escoja el
campo que desee inmovilizar. Para desactivar esta opción, escoja <Ninguno> en la
lista.

120 Guía del usuario


dataent.dwu Page 121 Friday, September 1, 1995 4:32 PM

Desplazamiento a otros registros


Puede desplazarse a otros registros de una tabla para ver la información que contienen.
Siempre que una tabla está abierta hay un registro actual. Este registro es el destino de
cualquier operación de edición que se realice, como añadir texto o eliminar información.
En la ventana Registros de tabla el registro actual es el único que aparece en los formatos
Ficha y En columnas, mientras que en el formato Browse es el que aparece resaltado por
la barra de selección.
Visual dBASE utiliza un puntero de registro para identificar el registro actual.
Al desplazarnos por la tabla no se mueven los registros, sino el puntero, que se
sitúa en otra posición, seleccionando así un registro distinto.
Utilice los siguientes métodos para desplazar el puntero de registro en una tabla:
Tabla 5.1 Desplazamiento a otros registros de la tabla
Para ir a Menú Ratón Teclado
Registro Tabla|Registro siguiente Haga clic en el ↓ (Browse) o AvPág
siguiente registro siguiente (Ficha o En columnas)
Registro Tabla|Registro anterior Haga clic en el ↑ (Browse) o RePág
anterior registro anterior (Ficha o En columnas)
Primer registro Tabla|Primer registro Vaya al principio de Ctrl+RePág
la tabla y haga clic en
el primer registro
Ultimo registro Tabla|Ultimo registro Vaya al final de la Ctrl+AvPág
tabla y haga clic en el
último registro
Registro Tabla|Ir a registro Haga clic en el Ctrl+G
específico registro
Página anterior Tabla|Página anterior Haga clic en la barra RePág (Browse)
de desplazamiento
Página siguiente Tabla|Página siguiente Haga clic en la barra AvPág (Browse)
de desplazamiento

Puede utilizar también los siguientes botones de la barra rápida:


Figura 5.18 Botones de la barra rápida para desplazarse por los registros

Primer registro Ultimo registro


Página anterior Página siguiente
Registro anterior Registro siguiente

Capítulo 5, Introducción y edición de datos 121


dataent.dwu Page 122 Friday, September 1, 1995 4:32 PM

Nota La configuración de su entorno puede provocar que la ventana Registros de tabla omita
ciertos registros de la tabla. Por ejemplo, si está seleccionada la opción Borrado de la
página Tabla del cuadro de diálogo Propiedades del escritorio, el puntero de registro se
salta los registros eliminados, es decir, no aparecen en pantalla. De igual forma, si ha
especificado un ámbito en el cuadro de diálogo Propiedades de los registros de tabla, el
puntero de registro omite los que estén fuera de él. También se omiten los valores que
no cumplan las condiciones del filtro de la tabla, en caso de que se haya especificado
alguno. Para más información, consulte el Capítulo 6.

Desplazamiento a un registro específico


Visual dBASE proporciona otros medios para desplazarse a un registro específico.

Ir a
Para desplazarse a un registro, elija Tabla|Ir a número de registro.
Figura 5.19 Cuadro de diálogo Ir a registro

Seleccione el número o indicador del


registro destino.

Si se especifica un registro no válido aparece un mensaje de error.

Buscar
Haga clic en el botón Buscar o escoja Tabla|Buscar registros para buscar datos
específicos en un campo determinado. Para obtener información, consulte el Capítulo 6.

122 Guía del usuario


dataent.dwu Page 123 Friday, September 1, 1995 4:32 PM

Adición de registros a una tabla


La adición de registros se realiza incluyendo al final de la tabla registros vacíos nuevos
en los que se puede introducir información. Si una tabla tiene cien registros y añade
otro, éste tendrá el número 101 y se convertirá en el registro actual para editarlo.
Nota Para añadir los primeros registros a una tabla vacía es necesario utilizar Añadir, ya que
no se pueden abrir tablas vacías en la ventana Registros de tabla.
Para añadir un registro, realice una de las siguientes acciones:
• Escoja Tabla|Añadir registros.
• En el formato Browse, desplácese hasta el último registro y pulse ↓.
• Haga clic en el botón Añadir registro de la barra rápida.
• En el Selector de archivos, haga clic con el botón derecho en el icono de la tabla y
escoja Añadir registros en el menú rápido.
El resultado es que aparece un registro vacío en el que podrá introducir información
según los procedimientos que se detallan bajo el epígrafe “Modificación de datos en los
registros”, más adelante en este mismo capítulo.
También puede añadir registros importándolos de otra tabla o archivo. Para obtener
información al respecto, consulte el Capítulo 6.
Nota Si la tabla tiene un índice activo, los registros que añada aparecerán al final de ella, pero
al terminar de introducir los datos Visual dBASE actualizará el índice y situará el
registro nuevo en su lugar correcto. El último registro añadido seguirá siendo el registro
actual.

Eliminación de registros de una tabla


Los registros de la tabla que ya no se necesiten se pueden eliminar, lo cual reduce el
tamaño de la tabla y mejora el rendimiento del sistema. En esta sección se describe la
forma en que se eliminan y recuperan registros individuales. Para eliminar o recuperar
grupos de registros, consulte el Capítulo 6.

Marcado de registros para borrado


Al eliminar registros en las tablas de dBASE no se suprime la información del archivo
inmediatamente, sino que se marca borrado.
Los registros marcados para borrado no aparecen en pantalla, como si ya no estuvieran
en la tabla. Para verlos es necesario desactivar la casilla Borrados en la página Tabla del
cuadro de diálogo Propiedades del escritorio. Al hacerlo aparece una nueva columna
Supr en el formato Browse. Los registros marcados para borrado presentarán una marca
en esta columna, como muestra la figura siguiente.

Capítulo 5, Introducción y edición de datos 123


dataent.dwu Page 124 Friday, September 1, 1995 4:32 PM

Figura 5.20 Casilla Borrados y Columna Supr en formato Browse

Desactive la casilla Borrados


para ver los registros
marcados para borrado.

Columna Supr y
registros
marcados para
borrado

Para suprimir definitivamente los registros borrados, se utiliza un comando diferente,


Eliminar registros marcados. Mientras no utilice este comando, los registros marcados
para borrado pueden recuperarse. Si desea marcar un registro para borrado, selecciónelo
y escoja Tabla|Borrar registro seleccionado.
El registro permanecerá marcado para borrado hasta que suprima la marca o utilice el
comando Tabla|Utilidades de tabla|Eliminar registros marcados. Para obtener
información sobre la compactación de tablas, consulte el Capítulo 6.

Recuperación de registros
Los registros marcados para borrado de las tablas de dBASE pueden recuperarse, es
decir, suprimir la marca de borrado, siempre que no se haya compactado la tabla.
Esta función protege a los registros de eliminaciones accidentales. Al recuperar un
registro se suprime la marca de borrado.
Para recuperar un registro es necesario tener en pantalla la columna Supr
(véase la sección anterior). Seleccione un registro marcado para borrado y a
continuación haga clic en la casilla Supr para suprimir la marca, o bien escoja
Tabla|Utilidades de tabla|Eliminar marcas de borrado.

124 Guía del usuario


dataent.dwu Page 125 Friday, September 1, 1995 4:32 PM

Modificación de datos en los registros


En esta sección se describe cómo modificar los datos de los registros y cómo seleccionar
un campo y editar cada tipo de campo de una tabla de Visual dBASE.

Selección de un campo
En la ventana Registros de tabla se editan los campos del registro actual uno a uno.
Para añadir, cambiar o eliminar los datos de un campo, antes hay que seleccionarlo, con
lo que se convierte en el campo actual, el destino de los datos que se introduzcan.
En primer lugar, desplácese al registro que desee editar y haga clic en el campo que vaya
a modificar. Para abrir campos binarios, memo y OLE, haga doble clic en sus iconos.
Para seleccionar un campo con el teclado, utilice las siguientes teclas:
Tabla 5.2 Desplazamiento a campos en la ventana Registros de tabla
Todos los Sólo los formatos Ficha y En
Para ir a formatos columnas
Campo siguiente Tab o Intro ↑
Campo anterior Mayús+Tab ↓
Primer campo Ctrl+Inicio
Ultimo campo Ctrl+Fin

El campo seleccionado aparece resaltado o bien se muestra su contenido. Para ver el


contenido de un campo memo, OLE o binario, selecciónelo y pulse F9.

Vaciado de registros
Al vaciar un registro se vacía el contenido de todos sus campos, incluyendo los
indexados, pero no se elimina el registro vacío. Esto puede ahorrar el trabajo de eliminar
manualmente los datos de cada campo o de eliminar un registro y añadir otro en su
lugar.
Para vaciar un registro, escoja Tabla|Vaciar registros seleccionados. A continuación
puede introducir la información que necesite.
Nota Para anular una operación de vaciado es necesario abandonar los cambios efectuados en
el registro antes de pasar a otro.

Capítulo 5, Introducción y edición de datos 125


dataent.dwu Page 126 Friday, September 1, 1995 4:32 PM

Edición de datos
Una vez seleccionado un campo puede editar los datos que contiene.
Nota Los parámetros de la página Entrada de datos del cuadro de diálogo Propiedades del
escritorio afectan a la introducción de datos, entre ellos los siguientes: Señal sonora,
Confirmar, Carácter delimitador y Memoria de teclado. Para obtener información,
consulte la Ayuda en línea.

Validación automática de datos


Al salir del campo actual, Visual dBASE comprueba si se han producido los siguientes
errores:
• Verifica en todos los campos que los datos introducidos coincidan con el tipo de
campo.
• En los campos de fecha verifica que se haya introducido una fecha válida.
• Si ha introducido una expresión Válido o Rango obligatoria en el cuadro de
diálogo Propiedades del campo, compara el valor del campo con la expresión.
Para tablas de Paradox y SQL,
• Si el índice requiere un valor de campo, la ventana Registros de tabla comprueba que
se ha introducido uno.
• Si el índice requiere una clave única, la ventana Registros de tabla comprueba que los
valores introducidos son únicos.

Edición de campos de carácter


Los campos de carácter admiten cualquier combinación de letras, números, signos de
puntuación, espacios y otros caracteres. El texto se alinea a la izquierda.

Edición de campos numéricos y de coma flotante


Los campos numéricos (de coma fija) y de coma flotante admiten números, puntos,
comas y el signo menos. Si intenta introducir otros caracteres, aparecerá un mensaje de
error.
Los números se alinean a la derecha y, en su caso, por el separador decimal. Los ceros a
la izquierda se omiten. En los campos con separador decimal la introducción de dicho
separador traslada el punto de inserción a la derecha del mismo. Cuando introduzca
números negativos debe empezar por el signo menos.
Nota Los parámetros de las páginas País y Entrada de datos del cuadro de diálogo
Propiedades del escritorio afectan a los campos numéricos y de coma flotante, entre
ellos los siguientes: Monetario, Punto y Separador.

126 Guía del usuario


dataent.dwu Page 127 Friday, September 1, 1995 4:32 PM

Edición de campos de fecha


Los campos de fecha admiten fechas válidas con formato DD/MM/AA.
Sólo es necesario introducir los números, no las barras que los separan.
Por ejemplo, para introducir 31 de Diciembre de 1994 basta con teclear 311294.
Debe introducir un cero inicial en los valores de un solo dígito, como 03/04/95.
Nota Los parámetros de la página País del cuadro de diálogo Propiedades del escritorio
afectan a los campos de fecha, entre ellos los siguientes: Fecha, Año largo y Separador.

Edición de campos lógicos


Los campos lógicos sólo admiten datos booleanos: verdadero (.T.) o falso (.F.).
Los valores para verdadero son S, s, T y t, mientras que para falso son N, n, F y f.
Si intenta introducir otro valor oirá una señal sonora.

Edición de campos memo


Los campos memo contienen texto con formato libre. Sus datos se almacenan en un
archivo aparte con la extensión .DBT. La cantidad de texto de estos campos sólo está
limitada por los recursos del sistema. En la ventana Registros de tabla los campos memo
aparecen representados por los iconos que muestra en la siguiente figura:
Figura 5.21 Iconos de los campos memo

Memo vacío Memo con datos

Apertura de campos memo


Para introducir datos o ver el contenido de un campo memo, debe abrirlo. Para ello,
haga doble clic en su icono o elija Ver|Contenido del campo. Aparecerá el Editor de
textos.
Figura 5.22 Campo memo abierto en el Editor de textos

Los parámetros del cuadro de diálogo Propiedades del editor afectan a los campos
memo, entre ellos los siguientes: Justificación, Sangrado automático, Espaciado y
Fuente. El parámetro Bloque de memo del cuadro de diálogo Propiedades del escritorio
condiciona el tamaño del archivo .DBT, por lo que puede incidir en el rendimiento.
Para obtener información sobre el Editor de textos, consulte el Capítulo 18.

Capítulo 5, Introducción y edición de datos 127


dataent.dwu Page 128 Friday, September 1, 1995 4:32 PM

Edición de campos binarios


Los campos binarios admiten datos en formato binario, como imágenes o sonido, que el
usuario puede almacenar y recuperar. Entre los tipos binarios estándar se encuentran
los archivos BMP, .PCX, .TIF, .EPS, .WMF y .WAV. Para obtener más información,
consulte la página 129.

Edición de campos OLE


Los campos OLE admiten objetos insertados en la tabla desde otras aplicaciones de
Windows que incluyan la función OLE (Vinculación e incrustación de objetos).

Anulación de cambios
Al editar registros se pueden anular los cambios realizados en el campo actual
escogiendo Edición|Deshacer o pulsando Ctrl+Z. Para deshacer todos los cambios
realizados en un registro, consulte la siguiente sección.

Almacenamiento o cancelación de cambios


En esta sección se describe cómo se guardan o se cancelan cambios realizados en los
registros de las tablas. Se pueden guardar los cambios que se deseen y cancelar el resto.

Almacenamiento de cambios
Visual dBASE guarda de forma automática los cambios efectuados en un registro al
realizar alguna de las siguientes acciones:
• Desplazar el puntero de registro a otro registro.
• Seleccionar un formato distinto en la ventana Registros de tabla.
Si desea guardar los cambios manualmente, puede realizar alguna de estas acciones:
• Escoja Archivo|Guardar registro para guardar los cambios y seguir en la ventana
Registros de tabla.
• Escoja Archivo|Guardar registro y cerrar para guardar los cambios y cerrar la
ventana Registros de tabla.
• Haga clic en el botón Guardar de la barra rápida.
• Haga doble clic en el cuadro del menú Control o pulse Ctrl+F4 para cerrar la ventana
Registros de tabla.
Nota Si ha seleccionado la opción Autoguardar de la página Tabla del cuadro de diálogo
Propiedades del escritorio, Visual dBASE guarda automáticamente los cambios,
mientras que de lo contrario los va acumulando para guardarlos cada cierto tiempo.

128 Guía del usuario


dataent.dwu Page 129 Friday, September 1, 1995 4:32 PM

Cancelación de cambios
Puede cancelar los cambios de un registro que aún no estén guardados, siempre que no
se haya desplazado a otro registro o haya cambiado de formato.
Si desea cancelar los cambios realice una de las siguientes acciones:
• Escoja Archivo|Abandonar registro para cancelar los cambios y permanecer en la
ventana Registros de tabla.
• Escoja Archivo|Abandonar registro y cerrar o pulse Ctrl+Q o Esc para cancelar los
cambios realizados en el registro actual y cerrar la ventana Registros de tabla.
• Haga doble clic en el cuadro del menú de Control o pulse Ctrl+F4 para cerrar la
ventana Registros de tabla, con lo que se guardan automáticamente los cambios.

Utilización de sonidos e imágenes


Puede guardar y abrir archivos de imagen y sonido almacenados en campos binarios,
los cuales admiten datos en cualquiera de los siguientes formatos binarios:
• Datos de imágenes en archivos .BMP, .PCX, .TIF, .EPS o .WMF
• Datos de sonido en archivos .WAV
Visual dBASE almacena la información binaria en el archivo .DBT de la tabla.
Los campos binarios aparecen representados en la ventana Registros de tabla por iconos
que indican si el campo contiene datos o no.
Figura 5.23 Iconos que representan datos binarios

Datos de imagen Datos de sonido

Capítulo 5, Introducción y edición de datos 129


dataent.dwu Page 130 Friday, September 1, 1995 4:32 PM

Inserción de archivos de imagen en campos binarios


Para incluir en un campo binario vacío un archivo de imagen o sonido,
1 Haga doble clic en el campo binario. Aparecerá el cuadro de diálogo Tipo binario:

Seleccione el tipo de
archivo binario que desee
añadir.

2 Seleccione Visor de imágenes o Grabadora de sonidos y elija Aceptar. Se abrirá la


ventana correspondiente vacía.
3 Utilice Archivo|Insertar de archivo para seleccionar un archivo .BMP, .PCX, .WMF,
.TIF o .EPS, si se trata de una imagen, o .WAV si se trata de sonido.
4 Haga doble clic en el cuadro del menú de Control para cerrar la ventana Visor de
imágenes o Grabadora de sonido. Visual dBASE guarda los datos binarios en el
archivo .DBT de la tabla.

Visualización de imágenes
Para ver una imagen, haga doble clic en el campo. Aparecerá en el Visor de imágenes,
como muestra la siguiente figura::

Pulse Alt+F4 o haga doble clic en el cuadro del menú de Control para cerrar el Visor de
imágenes.

Ejecución de sonidos
Para ejecutar un archivo de sonido, haga doble clic en el campo, con lo que aparece el
cuadro de diálogo Grabadora de sonidos.

Escoja Ejecutar para ejecutar el sonido y Parar cuando desee pararlo. Pulse Alt+F4 o haga
doble clic en el botón del menú de Control para cerrar la Grabadora de sonidos.

130 Guía del usuario


dataent.dwu Page 131 Friday, September 1, 1995 4:32 PM

Vinculación e incrustación de objetos


La función OLE (Vinculación e incrustación de objetos) permite vincular un documento
externo a un campo de una tabla de Visual dBASE, o bien incrustar directamente el
documento en el campo. Los campos OLE admiten objetos insertados en la tabla desde
otras aplicaciones para Windows que incluyan esta misma función. Una vez realizada la
vinculación o la incrustación, puede hacer doble clic en el documento para iniciar una
sesión de la aplicación en la que se creó desde la sesión actual de Visual dBASE.
Los objetos OLE pueden ser imágenes gráficas, sonidos, archivos creados con un
procesador de textos o cualquier otro documento creado en una aplicación externa.
Esta aplicación se conoce como servidor de OLE. Por ejemplo, una imagen gráfica
creada en Paintbrush puede ser un documento OLE, por lo que Paintbrush sería el
servidor de OLE. Visual dBASE es siempre la aplicación cliente, ya que el servidor de
OLE se activa desde una sesión de dBASE.
Visual dBASE almacena la información OLE en el archivo .DBT de cada tabla.

Adición de objetos a campos OLE


Para vincular un objeto OLE, siga estos pasos:
1 Inicie la otra aplicación y abra el objeto que desee vincular.
2 Seleccione la parte del objeto adecuada y cópiela en el Portapapeles mediante
Edición|Copiar.
3 Inicie o cambie a Visual dBASE y seleccione el campo OLE donde desee situar los
datos.
4 Haga doble clic en el campo OLE. Aparecerá la ventana Visor de OLE.
5 Escoja Edición|Pegar vínculo, con lo que se guarda una referencia al objeto OLE.
Esta referencia proporciona acceso a la versión más reciente del objeto, con los
cambios que se realicen, mientras el archivo externo permanezca en la misma
ubicación. De esta forma se ahorra espacio en disco.
Para incrustar el objeto directamente en la tabla, siga estos pasos:
1 Seleccione el campo OLE en la tabla de Visual dBASE o haga doble clic en él para
abrir el Visor de OLE.
2 Escoja Edición|Insertar objeto. Indique el tipo de objeto en el cuadro de diálogo
Insertar nuevo objeto.
3 Se inicia la aplicación servidor de OLE. Cree el objeto que desee incrustar
(puede pegarlo en la aplicación servidor mediante el Portapapeles).
4 Escoja Archivo|Actualizar para insertar el objeto en el campo OLE de Visual dBASE.
5 Cierre la aplicación servidor. El objeto aparece en el campo OLE. Al estar incrustado
se guarda una copia del objeto en la tabla, con lo que se asegura que permanece
en su estado actual con independencia de los cambios que puedan realizarse después
en el archivo externo.

Capítulo 5, Introducción y edición de datos 131


dataent.dwu Page 132 Friday, September 1, 1995 4:32 PM

Figura 5.24 Ventana Visor de OLE

Para salir de la ventana Visor de OLE, escoja Archivo|Cerrar o haga doble clic en el
cuadro del menú de Control.

Carga de objetos OLE con su aplicación


Si desea cargar un objeto OLE, haga doble clic en el campo para abrir la ventana
Visor de OLE y seleccionarlo. Así se inicia una sesión de la aplicación servidor con
el documento OLE.
Por ejemplo, si tiene una imagen creada en Paintbrush incrustada en un campo OLE,
haga doble clic en el campo y se iniciará una sesión de Paintbrush con la imagen en el
área de dibujo, lista para editarla.

Supresión de objetos de campos OLE


Para suprimir de una tabla un objeto OLE, abra la ventana Visor de OLE, selecciónelo y
escoja Edición|Cortar o Edición|Borrar. Visual dBASE suprime el objeto incrustado o
los datos vinculados.

132 Guía del usuario


dataent.dwu Page 133 Friday, September 1, 1995 4:32 PM

Uso de tablas de Paradox


La ventana Registros de tabla permite introducir datos en tablas de Paradox de forma
similar a las de dBASE. En esta sección se describen las principales diferencias que
encontrará al modificar datos en tablas de Paradox.
Terminología. En las tablas de Paradox los campos se llaman columnas y los registros
filas. Visual dBASE identifica los registros mediante indicadores en lugar de números de
registro. En este capítulo se utilizan siempre términos de dBASE, pero al trabajar con
tablas de Paradox puede sustituirlos por los equivalentes de Paradox (a menos que se
especifique lo contrario).
Contraseñas y niveles de acceso. Las tablas creadas con Paradox pueden tener acceso
restringido mediante contraseña, por lo que deberá introducir la contraseña correcta al
abrirlas. Esta contraseña determina el nivel de acceso a la tabla y, en su caso, a campos
concretos de la misma.
El nivel de acceso determina si puede editar ciertos campos en la ventana Registros de
tabla. Si tiene acceso de sólo lectura sobre un campo, podrá ver su contenido, pero no
editarlo. Si no tiene acceso, el campo no aparecerá.
El nivel de acceso también determina el tipo de cambios que puede efectuar en los datos.
Si intenta realizar una operación a la que no tiene acceso, el campo de la tabla le indicará
que no puede seguir adelante.
Indicadores. Los números de registro identifican de forma exclusiva cada registro de las
tablas de dBASE. Para las tablas de Paradox, Visual dBASE identifica los registros por
medio de indicadores, que también identifican las filas pero se asignan de forma
dinámica al abrir la tabla.
Valores por defecto al añadir registros. Las tablas creadas con Paradox pueden
contener un valor por defecto en algunos campos al crear nuevos registros. La ventana
Registros de tabla admite estos valores en las tablas de Paradox, por lo que los campos
que tengan definidos valores por defecto los presentarán al añadir registros.
Eliminación de registros. En las tablas de dBASE, la eliminación de registros es un
proceso de dos pasos: primero se marca el registro para borrado y después se compacta
la tabla para suprimirlo permanentemente.
Precaución En las tablas de Paradox, la eliminación de un registro es un proceso de una sola fase.
Al eliminar el registro en la ventana Registros de tabla se suprime de forma permanente,
por lo que no se pueden recuperar los registros eliminados.
Tipos de datos de Paradox. Las tablas de Paradox tienen diferentes nombres, reglas y
tipos de datos. La ventana Registros de tabla respeta las reglas de introducción de datos
para cada uno de los tipos de Paradox. Para obtener información sobre los tipos de datos
de Paradox, consulte el Capítulo 1.
Controles de validación. Algunos campos de las tablas creadas con Paradox pueden
tener controles de validación específicos que la ventana Registros de tabla respeta.
Por ejemplo, si un campo requiere un valor máximo o mínimo, la ventana Registros de
tabla avisará si se introducen valores no válidos.

Capítulo 5, Introducción y edición de datos 133


dataent.dwu Page 134 Friday, September 1, 1995 4:32 PM

Indices de Paradox. Al abrir una tabla de Paradox se abren automáticamente todos los
índices asociados a ella (primarios y secundarios mantenidos). Los índices abiertos se
actualizan al modificar los datos de la tabla.
Los índices primarios de Paradox requieren valores únicos. La ventana Registros de
tabla impide que el usuario introduzca registros con valores clave duplicados.
Integridad referencial. Las tablas creadas con Paradox pueden tener protección
estándar para garantizar la integridad referencial entre los registros relacionados de
tablas vinculadas.
Visual dBASE respeta la integridad referencial de Paradox si se especifica en la
definición de la tabla. Por ejemplo, si intenta modificar indebidamente datos de una
tabla secundaria de Paradox, aparecerá un mensaje de error.

134 Guía del usuario


manipdta.dwu Page 135 Friday, September 1, 1995 4:34 PM

Capítulo

Operaciones con grupos de registros


Capítulo 6
6
Visual dBASE proporciona herramientas para editar grupos de registros.
En este capítulo aprenderá a:
• Seleccionar los registros que desea procesar.
• Contar los registros que cumplen unas determinadas condiciones.
• Buscar y sustituir datos en uno o varios registros.
• Realizar cálculos basados en varios registros.
• Exportar datos a otros archivos.
• Importar datos de otros archivos.
Todas estas funciones se encuentran en los menús Tabla y Tabla|Utilidades de tabla.

Acerca de los grupos de registros


Aunque a veces se utilicen todos los registros de una tabla, a menudo sólo se necesita
procesar una parte de ellos. Por ejemplo, quizá desee calcular el rendimiento medio de
un sólo departamento y no de toda la empresa, o puede que necesite averiguar el
número de directivos de la empresa cuyo sueldo esté comprendido en un determinado
rango. Puede ahorrar tiempo seleccionando sólo los registros con los que desee trabajar
y así evitar que se procesen datos innecesarios.
Muchas de las técnicas que presentamos en este capítulo son útiles tanto en vistas
creadas mediante consultas como en las propias tablas, en especial las operaciones de
resumen para cálculo de datos, búsqueda de registros, condiciones de filtro y vínculos
entre tablas principales y secundarias. Para obtener información sobre el uso de las
consultas con estas operaciones, consulte el Capítulo 8.

Capítulo 6, Operaciones con grupos de registros 135


manipdta.dwu Page 136 Friday, September 1, 1995 4:34 PM

Selección de registros para procesarlos


Para procesar varios registros de una vez es necesario seleccionarlos antes, para lo cual
hay que definir los criterios que deberán cumplir.
Por ejemplo, si desea calcular la media de ventas por cliente en Madrid, el criterio será
que el campo PROVINCIA de la tabla Cliente contenga el valor MA. De esta forma se
procesarán los registros que cumplan dicho criterio y se omitirán todos los demás.
En este ejemplo, el comando Calculate procesa todos los clientes de Madrid y omite el
resto.
Al seleccionar registros puede especificar una condición. Una condición es una expresión
que define qué registros son aptos para procesarlos (para obtener ayuda sobre la
creación de expresiones, consulte el Capítulo 15).
La Figura 6.1 muestra un ejemplo de un cuadro de diálogo que permite especificar
un ámbito, un conjunto de registros. El ejemplo presenta el cuadro de diálogo
Tabla|Utilidades de tabla|Borrar registros, pero estas mismas opciones aparecen en
otros. Las opciones de Ambito permiten seleccionar un rango de registros, todos los
registros de la tabla que cumplan la condición For o registros consecutivos que cumplan
la condición While.
Figura 6.1 Cuadro de diálogo Borrar registros

Las opciones de Ambito definen el rango de registros para procesar.

Condición For

Condición While

Selección de rangos de registros


Las primeras opciones para seleccionar un rango de registros son las siguientes:
• Todos selecciona todos los registros de la tabla, con independencia de la posición del
puntero de registro; suele ser la opción por defecto.
• Resto selecciona desde el registro actual hasta el último. Resulta útil cuando se
conoce el primer registro apto y se sabe que se han de procesar todos los demás.
• Siguiente selecciona el número de registros especificado a partir del actual o hasta el
final de la tabla si se indica un número superior al de los registros que quedan.
Resulta útil cuando se conoce el primer registro apto y la cantidad de registros que se
han de procesar.
• Registro selecciona el número de registro especificado.

136 Guía del usuario


manipdta.dwu Page 137 Friday, September 1, 1995 4:34 PM

Puede utilizar estas opciones junto con las condiciones For y While que se describen a
continuación. Por ejemplo, quizá desee procesar todos los registros que quedan
(opción Resto) con el valor MA en el campo PROVINCIA (condición FOR).

Definición de condiciones For


Las condiciones For permiten seleccionar registros que aparecen en cualquier parte de la
tabla en vez de en forma consecutiva. Estas condiciones comprueban todos los registros
para decidir cuáles se deben procesar. Empiezan al principio de la tabla y llegan hasta el
final, a menos que se especifique lo contrario mediante alguna de las opciones descritas
en la sección anterior.
Visual dBASE compara cada registro con la condición especificada para decidir si debe
procesarlo. Por ejemplo, para contar el número de pedidos de clientes que superan
800.000 pesetas puede especificar la siguiente condición For: TOT_INV > 800000.

Definición de condiciones While


Las condiciones While permiten seleccionar una serie de registros consecutivos de la
tabla. Estas condiciones sólo comprueban el registro actual y los siguientes para decidir
cuáles deben procesar. Empiezan en el registro actual y no al principio de la tabla, por lo
que el puntero de registro debe hallarse en el primer registro apto, ya que de lo contrario
no se seleccionaría ninguno.
Este método funciona mejor cuando se utiliza un índice cuya clave coincida con los
campos de esta condición. Así podrá encontrar fácilmente el primer registro y procesar
los demás de forma consecutiva. El proceso finaliza cuando la clave deja de coincidir
con la condición.
Por ejemplo, si desea realizar un cálculo sólo con los registros de los clientes de Madrid,
puede acelerar el proceso aplicando a PROVINCIA un índice que agrupe todos los
registros MA. A continuación, busque el primer MA e introduzca PROVINCIA=”MA”
en el campo Mientras para procesar desde el registro actual hasta el último de la serie
MA.
También puede crear o modificar índices para incluir subconjuntos de registros. En este
caso introduzca una condición FOR que especifique PROVINCIA=”MA” en el cuadro
de diálogo Modificar índice. Cuando active el índice sólo se seleccionarán los registros
MA. Para obtener información sobre los índices, consulte el Capítulo 4.

Capítulo 6, Operaciones con grupos de registros 137


manipdta.dwu Page 138 Friday, September 1, 1995 4:34 PM

Generación de registros
La generación de registros permite añadir rápidamente uno o varios registros a una
tabla e incluir en ellos datos aleatorios. Esto suele ser útil para probar una aplicación.
Utilice Tabla|Utilidades de tabla|Generar registros para generar datos de ejemplo con
vistas a realizar una prueba, en lugar de añadir los registros e introducir manualmente
los datos (consulte el Capítulo 3 de la Guía del programador).

Recuento de registros
Puede contar los registros para saber cuántos cumplen un determinado criterio.
Por ejemplo, quizá desee conocer cuántos clientes tienen un código postal comprendido
en un cierto rango o la cantidad de pedidos que se hicieron el martes.
Para contar los registros, escoja Tabla|Utilidades de tabla|Contar registros, con lo que
aparece el cuadro de diálogo Contar registros.
Figura 6.2 Cuadro de diálogo Contar registros

Escoja un ámbito o rango de registros.

Especifique los registros que desee contar y escoja Aceptar. Visual dBASE cuenta los
registros que cumplen los criterios y muestra el resultado en un cuadro de mensajes.
No olvide que puede combinar estas opciones. Por ejemplo, puede escoger Resto y
especificar PROVINCIA=”OR” en el campo Para para contar los registros que quedan
(empezando por el actual) con el valor OR en el campo PROVINCIA.

138 Guía del usuario


manipdta.dwu Page 139 Friday, September 1, 1995 4:34 PM

Eliminación y recuperación de registros


En las tablas de dBASE los registros borrados no se suprimen realmente hasta que se
compacta la tabla. Al borrar un registro, desaparece de la pantalla pero no de la tabla.
(Si no está seleccionada la opción Borrar del cuadro de diálogo Propiedades de los
registros de tabla, los registros borrados permanecen visibles, pero presentan una marca
de borrado; consulte el Capítulo 5.)
Los registros marcados para borrado se pueden recuperar, es decir, suprimir la marca
de borrado, siempre que no se haya compactado la tabla.
En esta sección se explica la forma en que se borran y recuperan varios registros a la vez,
se borran todos los registros de la tabla y se compacta ésta.

Borrado de grupos de registros


Para borrar varios registros, escoja Tabla|Utilidades de tabla|Borrar registros, con lo
que aparece el cuadro de diálogo Borrar registros.
Figura 6.3 Cuadro de diálogo Borrar registros

Escoja un rango de registros.

Especifique los registros que desee marcar para borrado y escoja Aceptar. Los registros
desaparecen de la pantalla (o se marcan en la columna Supr si no está seleccionada la
opción Borrado en el cuadro de diálogo Propiedades del escritorio), pero permanecen
en la tabla mientras no se compacte ésta. Si borra algún registro por error, consulte la
siguiente sección.

Recuperación de registros
En las tablas de dBASE se pueden recuperar los registros marcados para borrado, es
decir, suprimir la marca de borrado, siempre que no se haya compactado la tabla.
Esta característica protege a los registros de eliminaciones accidentales.
Nota Para que se pueda realizar la recuperación debe estar desactivada la opción Borrado de
la página Tabla del cuadro de diálogo Propiedades del escritorio.
Para recuperar un registro escoja Tabla|Utilidades de tabla|Eliminar marcas de
borrado, con lo que aparece el cuadro de diálogo Eliminar marcas de borrado.

Capítulo 6, Operaciones con grupos de registros 139


manipdta.dwu Page 140 Friday, September 1, 1995 4:34 PM

Figura 6.4 Cuadro de diálogo Eliminar marcas de borrado

Escoja un rango de registros.

Seleccione los registros que desee recuperar y escoja Aceptar.

Compactación de tablas
En las tablas de dBASE la compactación suprime permanentemente todos los registros
marcados para borrado y actualiza los índices abiertos. Una vez compactada la tabla no
se pueden recuperar los registros borrados. Por tanto, antes de hacerlo es aconsejable
realizar una copia de seguridad. Para compactar una tabla es necesario abrirla de forma
exclusiva.
Si ha marcado muchos registros para borrado es conveniente que compacte la tabla para
así reducir su tamaño y mejorar el rendimiento.
Para compactar una tabla de dBASE, escoja Tabla|Utilidades de tabla|Eliminar
registros marcados.

Borrado de todos los registros de una tabla


Además de borrar registros aislados puede vaciar una tabla, es decir, eliminar todos sus
registros de una sola vez. Esto sirve, por ejemplo, para vaciar tablas temporales cuyos
datos ya no necesite. Al vaciar una tabla se suprimen todos sus registros
permanentemente, por lo que no es necesario compactarla. Para vaciarla es necesario
abrir la tabla de forma exclusiva.
Para vaciar una tabla, escoja Tabla|Utilidades de tabla|Eliminar todos los registros, con
lo que aparecerá el siguiente cuadro de diálogo pidiendo confirmación.
Figura 6.5 Cuadro de diálogo Eliminar todos los registros

Escoja Aceptar para que Visual dBASE suprima permanentemente de la tabla todos los
registros, que ya no podrá recuperar.

140 Guía del usuario


manipdta.dwu Page 141 Friday, September 1, 1995 4:34 PM

Búsqueda y recuperación de datos


Visual dBASE proporciona herramientas que permiten buscar información en una tabla
y actualizar registros con datos nuevos.

Búsqueda de información en una tabla


Para buscar información en la ventana Registros de tabla no es necesario desplazarse
por todos los registros, sino que se puede hacer una búsqueda rápida basada en un
campo concreto. Por ejemplo, puede buscar rápidamente un pedido específico
seleccionando el campo NUM_PED e introduciendo su número. Las búsquedas pueden
basarse en campos de carácter, numéricos, de coma flotante, fecha y memo.
Para iniciar una búsqueda, haga clic en el botón correspondiente de la barra rápida o
escoja Tabla|Buscar registros.
El cuadro de diálogo Buscar registros ofrece opciones que permiten restringir y acelerar
la búsqueda. Las opciones que utilice dependerán del valor de búsqueda especificado, el
modo en que esté organizada la información en la tabla, lo específica que deba ser la
búsqueda y en qué parte de la tabla deba realizarse.
Figura 6.6 Cuadro de diálogo Buscar registros

Introduzca el valor que desee encontrar.


Seleccione el campo en el que desee basar
la búsqueda.
Haga clic para seleccionar los
registros de búsqueda
(véase la Figura 6.7).

Usar reglas estándar.


Hacer coincidir todo el texto. Seleccione el punto de
inicio de la búsqueda.
Buscar el texto en todo el campo.
Buscar texto parecido.
Coincidir mayúsculas y minúsculas.

• Buscar. En el texto de búsqueda puede incluir cualquier carácter imprimible,


incluidos los espacios. La cadena de búsqueda puede ocupar todo el campo de
búsqueda. En general, mientras mayor sea la cadena, mayor será la precisión de la
búsqueda. Si no encuentra ningún valor que coincida con la cadena actual, pruebe
con otra más corta para aumentar las posibilidades de que exista un valor similar.
• Encontrado en. Puede buscar el texto en cualquier campo, tanto si está indexado
como si no, aunque en campos indexados la búsqueda es más rápida. Antes de
empezar, seleccione el índice que desee utilizar como maestro. Consulte en el
Capítulo 4 la información sobre los índices.
La búsqueda se puede basar también en campos no indexados, como memo.
En este caso el proceso es más lento, sobre todo en tablas con muchos registros.

Capítulo 6, Operaciones con grupos de registros 141


manipdta.dwu Page 142 Friday, September 1, 1995 4:34 PM

• Estándar.Esta opción significa que la cadena de búsqueda se compara con los datos
del campo empezando por la izquierda. Por ejemplo, si la cadena de búsqueda es
“Río” y el campo contiene “Juan Río” no habrá coincidencia, ya que se compara
“Río” con “Jua” (los 3 primeros caracteres de “Juan”). Sí habría coincidencia si
estuviese seleccionada la opción Dentro del campo.
• Longitud exacta. Al seleccionar esta opción sólo habrá coincidencia cuando el valor
del campo coincida exactamente con la cadena de búsqueda. Si no se selecciona, no
será necesario que la longitud del valor del campo sea la misma.
• Dentro del campo. Con campos de carácter y memo en una búsqueda estándar, la
ventana Registros de tabla realiza una comparación carácter por carácter empezando
por el primero del campo y siguiendo hacia la derecha hasta averiguar si hay
coincidencia. Por ejemplo, si la cadena de búsqueda es ABC, Visual dBASE
encontrará coincidencia en ABC123, pero no en 9ABC. Esto acelera las operaciones de
búsqueda con índices.
Escoja Dentro del campo para que la búsqueda se realice en todo el campo.
El resultado es una búsqueda exhaustiva que puede tardar más, pero que tendrá más
probabilidades de encontrar valores coincidentes. Por ejemplo, Visual dBASE
encontraría ABC en los siguientes valores: ABC123UNME, 9ABC y XYZ 123 ABCxxx.
Esta opción es útil para realizar búsquedas en campos memo.
• Semejanza fonética. Al escoger Semejanza fonética se buscarán en todo el campo
valores fonéticamente parecidos o que suenen como la cadena de búsqueda.
• Coincidencia de mayúsculas. Esta opción requiere que el valor del campo coincida
exactamente con la cadena de búsqueda, incluyendo mayúsculas y minúsculas.
• Comenzar desde. Puede iniciar la búsqueda desde el principio de la tabla o desde el
registro actual. Al hacerlo desde el principio se asegura de incluir en el resultado
todos los registros coincidentes, mientras que si lo hace desde el registro actual puede
omitir los anteriores si sabe que no son aptos. Para especificar esta opción, seleccione
Primer registro o Registro actual en el grupo Comenzar desde. También se iniciará la
búsqueda en el registro actual si escoge un rango Siguiente o Resto en el cuadro de
diálogo.
• Filtro rápido. Visual dBASE utiliza un proceso de optimización de filtro llamado
Filtros rápidos, que agiliza el acceso en la sección de registros de una tabla. Esta parte
del cuadro de diálogo indica si los filtros rápidos están activados. Consulte la Ayuda
en línea para obtener más información.
Una vez seleccionadas las opciones que desee, haga clic en Buscar. Si se encuentra un
valor coincidente aparecerá resaltado y con el puntero de registro sobre él. Si no se
encuentra ninguno aparecerá un mensaje.
Si no encuentra valores coincidentes, acorte la cadena y modifique alguna de las
opciones de búsqueda.

142 Guía del usuario


manipdta.dwu Page 143 Friday, September 1, 1995 4:34 PM

Selección de registros para una búsqueda


Puede limitar el ámbito de registros con los que desea trabajar. Esto acelera los procesos
de búsqueda, sobre todo en campos no indexados. Para ello, haga clic en Avanzadas,
con lo que se expande el cuadro de diálogo Buscar registros, como muestra la figura
siguiente.
Figura 6.7 Opciones Avanzadas del cuadro de diálogo Buscar registros

Las opciones Avanzadas permiten especificar el


rango de registros que se desea incluir en la
búsqueda.

En la página 136 encontrará una descripción sobre la selección de un rango de registros


y la especificación de condiciones.

Sustitución de datos en registros


Se pueden realizar búsquedas y sustituciones de texto en las tablas. Por ejemplo, si
cambia el nombre de un producto, puede buscar en una tabla todas las veces que
aparezca y sustituir el nombre antiguo por el nuevo; o puede buscar también el nombre
de un departamento y sustituir su número de identificación actual por otro.
La sustitución puede realizarse en un campo distinto al que contiene la cadena de
búsqueda.
Por ejemplo, supongamos que asigna un vendedor a una nueva zona de ventas y quiere
actualizar el campo VENDEDOR para todos los clientes de esa zona. En lugar de
actualizar los registros uno a uno, puede seleccionar todos los registros de clientes de
esa zona y a continuación cambiarles el campo VENDEDOR.
Importante La actualización de campos indexados en el índice maestro puede producir resultados
imprevisibles, ya que al modificar el valor clave cambia la posición del registro (y del
puntero de registro) en el índice. En lugar de eso, utilice otro índice maestro. Además, si
se modifican los valores clave de tablas relacionadas, pueden quedar registros sueltos en
la tabla secundaria. Por tanto, tenga muy en cuenta las consecuencias de la actualización
de registros y haga copias de seguridad de las tablas antes de modificarlas.

Capítulo 6, Operaciones con grupos de registros 143


manipdta.dwu Page 144 Friday, September 1, 1995 4:34 PM

Sustitución de datos
Para sustituir datos, seleccione la tabla y a continuación escoja Tabla|Sustituir registros,
con lo que aparece el cuadro de diálogo Sustituir registros.
Figura 6.8 Cuadro de diálogo Sustituir registros

Introduzca los datos


que desee buscar. Introduzca los datos nuevos.

Seleccione el campo Seleccione el campo de


de búsqueda. sustitución.

Opciones de búsqueda
(véase la página 141).

El valor de sustitución especificado debe ser del tipo de datos del campo en el que se
situará. Asegúrese también de que el valor cabe en el campo.
• En campos de carácter, si el texto es demasiado largo se cortará.
• En campos numéricos, si el valor supera el tamaño del campo, éste se rellenará con
asteriscos.
• En campos memo se sobreescribe el texto actual con el nuevo, que debe tener formato
de carácter.
Una vez especificado el texto de sustitución, realice una de estas acciones:
• Escoja Buscar para buscar la próxima aparición del texto de búsqueda. A
continuación, escoja Sustituir para sustituirlo o Buscar para seguir buscando.
• Escoja Sustituir todo para sustituir el texto de búsqueda todas las veces que aparezca.
Puede limitar el ámbito de los registros con los que trabaja: haga clic en Avanzadas para
seleccionar los registros en los que va a efectuarse la búsqueda (consulte la página 136).

144 Guía del usuario


manipdta.dwu Page 145 Friday, September 1, 1995 4:34 PM

Figura 6.9 Opciones Avanzadas del cuadro de diálogo Sustituir registros

Las opciones Avanzadas permiten


seleccionar el rango de registros que
se desea incluir en la búsqueda.

Cálculo de datos
Puede realizar cálculos en los campos numéricos para obtener información útil de los
registros elegidos. Por ejemplo, puede calcular las ventas totales de un mes concreto,
averiguar qué ventas fueron la mayor y la menor o saber el importe medio por venta.
La tabla siguiente muestra los cálculos que puede realizar.
Tabla 6.1 Tipos de cálculo
Tipo de cálculo Resultado
Media Valor de campo medio de los registros elegidos.
Mínimo Valor de campo mínimo de los registros elegidos.
Máximo Valor de campo máximo de los registros elegidos.
Desviación estándar Desviación típica de los valores de campo de los registros
elegidos.
Suma Suma total de los valores de campo de los registros elegidos.
Varianza Varianza estadística de los valores de campo de los registros
elegidos.

La mayor parte de los cálculos pueden efectuarse sólo en campos numéricos y de coma
flotante, pero Máximo y Mínimo también pueden aplicarse a campos de fecha y de
carácter.
Para calcular valores, seleccione una tabla y a continuación escoja Tabla|Utilidades de
tabla|Calcular registros, con lo que aparece el cuadro de diálogo Calcular registros.

Capítulo 6, Operaciones con grupos de registros 145


manipdta.dwu Page 146 Friday, September 1, 1995 4:34 PM

Figura 6.10 Cuadro de diálogo Calcular registros


Seleccione el tipo de cálculo.
Seleccione uno o varios campos numéricos
para el cálculo. (Utilice Mayús+clic para
seleccionar grupos de campos o Ctrl+clic
para varios campos no consecutivos.)
Especifique un rango de registros (opcional).

Al elegir Aceptar, Visual dBASE realiza el cálculo y muestra el resultado en el cuadro de


mensajes Resultados del cálculo. Observe que puede realizar el mismo cálculo en varios
campos a la vez, como muestran las Figuras 6.10 y 6.11.
Figura 6.11 Cuadro de diálogo Resultados del cálculo

Valores calculados

Expresión de cálculo

146 Guía del usuario


manipdta.dwu Page 147 Friday, September 1, 1995 4:34 PM

Exportación e importación de datos


Puede compartir datos con otras aplicaciones mediante la importación y exportación.
Al exportar datos se copia información de una tabla en otra nueva o en otro tipo de
archivo. Para incorporar datos a Visual dBASE puede añadirlos a una tabla abierta
desde otra tabla o desde otro tipo de archivo, o bien importar datos de hojas de cálculo.

Tipos de archivo para importación, exportación y adición


Se pueden intercambiar datos utilizando los siguientes tipos de formatos de archivo:
Tabla 6.2 Tipos de archivo para importación, exportación y adición
Extensión
Tipo de archivo Descripción por defecto
dBASE Tabla de dBASE .DBF
Paradox Tabla de Paradox donde cada fila es un registro y cada columna .DB
un campo.
DBMEMO3 Archivos de tabla y .DBT de dBASE III PLUS (sólo exportación). .DBF y .DBT
Texto delimitado Los campos de carácter están delimitados por comillas u otros
caracteres; los campos están separados por comas u otros
caracteres; los campos lógicos contienen T o F y los registros
terminan en un retorno de carro y un salto de línea.
Formato de datos Los registros de longitud fija terminan en un retorno de carro y .TXT
del sistema (SDF) un salto de línea.
Quattro Pro Hoja de cálculo (sólo importación) .WB1
Lotus 1-2-3 Hoja de cálculo (sólo importación) .WK1

Utilice el tipo de archivo DBMEMO3 sólo al exportar a tablas de dBASE III PLUS.

Exportación de datos
Puede exportar datos para copiar información de una tabla en otra o en otro formato de
archivo. Esto le permite intercambiar datos con otras aplicaciones o crear copias de una
tabla sólo con un subconjunto de registros. Por ejemplo, quizá desee exportar las
facturas del mes pasado a otra tabla de dBASE o Paradox para incorporarlas luego a una
hoja de cálculo. También puede exportar a un mismo archivo registros de varias tablas
vinculadas.
Al exportar se crea un archivo destino donde se copia la información de la tabla origen.
Puede seleccionar los campos y registros que desee exportar, así como especificar el
formato del archivo destino: dBASE, Paradox, DBMEMO3, texto delimitado o formato
de datos del sistema (SDF).

Capítulo 6, Operaciones con grupos de registros 147


manipdta.dwu Page 148 Friday, September 1, 1995 4:34 PM

Consecuencias de la exportación
Al exportar datos tenga en cuenta las siguientes consecuencias:
• Si exporta campos memo de dBASE se crea un archivo específico con el mismo
nombre del archivo destino más la extensión .DBT, donde se copia el texto de memo.
Si el archivo destino es del tipo SDF o de formato delimitado no se copia el texto de
memo.
• Los registros marcados para borrado se copian a menos que se excluyan de forma
expresa mediante una condición For o While, o bien se seleccione la opción Borrado
en la página Tabla del cuadro de diálogo Propiedades del escritorio.
• Si exporta a una tabla de Paradox, cada registro del archivo origen se convierte en
una fila de la tabla de Paradox y cada campo pasa a ser una columna.
• Al exportar a formatos de archivo que no sean dBASE, DBMEMO3 o Paradox,
asegúrese de que el archivo creado esté en un formato que la otra aplicación pueda
importar. Esto incluye ancho, tipos de campo y valores permitidos. Para obtener
información, consulte la documentación de la otra aplicación.

Exportación de registros
Para exportar registros, seleccione la tabla origen y escoja Archivo|Exportar ..., con lo
que aparece el cuadro de diálogo Exportar.
Figura 6.12 Cuadro de diálogo Exportar

Introduzca o seleccione el
nombre del archivo destino.
Escoja un rango de
registros.
Seleccione el tipo de
archivo destino.

Haga clic para añadir los


campos seleccionados
Seleccione uno o varios a la lista Campos
campos para exportarlos. seleccionados.
Haga clic para suprimir
el campo seleccionado.

Escoja Aceptar para exportar los datos seleccionados.


Para exportar registros vinculados de varias tablas, ejecute una consulta que contenga el
vínculo y a continuación seleccione los campos que desee exportar. Visual dBASE crea
un nuevo registro por cada registro vinculado de la tabla secundaria y sitúa en ellos los
datos de los campos seleccionados de la tabla principal.
Nota Puede utilizar Tabla|Utilidades de tabla|Ordenar registros para crear tablas de dBASE
o Paradox con la tabla actual y definir al mismo tiempo un nuevo orden de registros.
Para obtener información sobre este procedimiento, consulte el Capítulo 4.

148 Guía del usuario


manipdta.dwu Page 149 Friday, September 1, 1995 4:34 PM

Importación de datos
El comando Archivo |Importar permite importar datos de una tabla u otro tipo de
archivo de datos.
• Si importa desde archivos dBASE, Paradox, texto delimitado o SDF (formato de datos
del sistema), los registros se añaden en una tabla existente.
• Si importa datos de una hoja de cálculo con formato Quattro Pro o Lotus 1-2-3, se crea
automáticamente una tabla nueva.

Importación desde archivos de tablas, texto y SDF


El archivo origen contiene la información que se desea añadir. Visual dBASE añade un
nuevo registro por cada fila de datos del archivo origen, copia en él la nueva
información y actualiza los índices abiertos. Los registros se añaden según el orden en
que aparecen en el archivo origen.
Para añadir datos, elija Archivo |Importar. Aparecerá el cuadro de diálogo Importar.
Figura 6.13 Cuadro de diálogo Importar

Indique si el origen es una tabla o un archivo de texto

Escoja el archivo origen.

Indique el tipo de archivo de texto y un delimitador, si es necesario

Introduzca una condición para importar sólo determinados registros.

Elija la tabla de destino.

En las tablas origen de dBASE puede especificar una condición For para excluir
determinados registros. Por ejemplo, puede importar los pedidos que corresponden a
un mes determinado. Para obtener los detalles, consulte la página 136.
Nota Si necesita datos de una base de datos SQL en formato dBASE, puede abrir antes la tabla
SQL y luego exportar la información a formato dBASE (consulte el Apéndice E).

Capítulo 6, Operaciones con grupos de registros 149


manipdta.dwu Page 150 Friday, September 1, 1995 4:34 PM

Consecuencias de la adición
Al añadir datos tenga en cuenta las siguientes consecuencias:
• Si importa datos de un archivo SDF, Visual dBASE añade al archivo destino un
registro por cada línea, clasifica los datos por el orden de los campos y rellena con
espacios la parte no utilizada de éstos.
• Si importa datos de una tabla de Paradox, cada fila del archivo origen se convierte en
un registro en la tabla destino de Visual dBASE y cada columna pasa a ser un campo.
• Si importa datos de un campo delimitado, Visual dBASE añade al archivo destino un
registro por cada línea. Los datos en formato AAAAMMDD se añaden a campos de
fecha; los que sólo sean un carácter del tipo T o F se incluyen en campos lógicos, y los
números se sitúan en campos numéricos.
• Al especificar una tabla de Visual dBASE como origen de los datos, sólo se añade el
contenido de los campos cuyo nombre y tipo coincide con el de la tabla actual.
No obstante, Visual dBASE sí añade las fechas a campos de carácter con el mismo
nombre, así como los datos de caracteres en formato de fecha a campos de fecha con
el mismo nombre.
Si los campos comunes de las tablas origen y destino no tienen el mismo tamaño,
Visual dBASE opta por una de estas soluciones:
• Si el tamaño del campo de la tabla actual es superior al del campo origen, rellena el
resto con espacios.
• Si el tamaño del campo de la tabla actual es inferior al del campo origen, trunca los
datos.
• Visual dBASE importa los registros marcados para borrado a menos que esté
seleccionada la opción Borrado de la página Tablas del cuadro de diálogo
Propiedades del escritorio.

150 Guía del usuario


manipdta.dwu Page 151 Friday, September 1, 1995 4:34 PM

Importación de datos de hojas de cálculo


La opción Archivo|Importar permite importar datos de hojas de cálculo en formato
Quattro Pro o Lotus 1-2-3. Al importar se crea una nueva tabla de Visual dBASE.
Figura 6.14 Cuadro de diálogo Importar

Especifique Hoja de cálculo como tipo de archivo de origen.


Haga clic en el botón Utilidades para especificar el tipo de
hoja de cálculo y el nombre del archivo.

Especifique si se convierte la primera fila de la hoja de cálculo


en nombres de campo.

Se crea automáticamente la tabla de destino.

La casilla de verificación Encabezados permite utilizar la primera fila de la hoja de


cálculo como nombre de campo en el nuevo archivo .DBF.

Capítulo 6, Operaciones con grupos de registros 151


manipdta.dwu Page 152 Friday, September 1, 1995 4:34 PM

152 Guía del usuario


secure.dwu Page 153 Friday, September 1, 1995 4:35 PM

Seguridad de tablas
Capítulo 7
7
Este capítulo está dedicado a los administradores de base de datos, responsables de la
seguridad de los datos. Describe la utilización de la función de seguridad Protect de
Visual dBASE para limitar el acceso a tablas confidenciales.
Las primeras secciones de este capítulo describen cómo planificar el esquema de
seguridad. Incluye los temas:
• Diferentes niveles de seguridad
• Introducción a los diferentes aspectos de la función Protect
• Planificación del acceso de grupo a cada tabla
• Planificación del registro y nivel de acceso del usuario
• Planificación del acceso de usuario a tablas y campos incluidos en las tablas
La última sección de este capítulo muestra cómo configurar el esquema de seguridad
con la función Protect de Visual dBASE. Indica cómo:
• Introducir la contraseña del administrador de base de datos
• Crear perfiles de usuario
• Definir privilegios de usuario para el acceso a tablas
• Definir privilegios de usuario para campos de tablas

Capítulo 7, Seguridad de tablas 153


secure.dwu Page 154 Friday, September 1, 1995 4:35 PM

Seguridad de Visual dBASE


El sistema Protect puede utilizarse para crear y mantener la seguridad en un sistema
dBASE. Esta función sólo tiene efecto en las tablas de dBASE (DBF) y no puede
utilizarse con otros formatos de archivo. Protect puede ejecutarse en un solo ordenador
o en un entorno de red.
Protect es opcional, no es necesario utilizarlo. Sin embargo, una vez definido, siempre
controla el acceso a las tablas afectadas.

Tres niveles de seguridad


Existen tres tipos diferentes de protección de base de datos, que se producen en el
siguiente orden:
• Seguridad de conexión limita el acceso a Visual dBASE (o a cualquier tabla protegida
de dBASE) sólo al personal autorizado.
La seguridad de conexión es el primer nivel de seguridad. Por defecto, una vez
activada, los usuarios no pueden acceder a Visual dBASE si no pasan la seguridad de
conexión. Puede definir el esquema de seguridad de forma que no sea necesario
registrarse mientras no se intente acceder a una tabla protegida.
• Cifrado de datos codifica las tablas de dBASE de forma que los usuarios no
autorizados no pueden leer la información.
El cifrado de datos codifica los datos, que no pueden leerse hasta que se decodifican.
Los archivos cifrados contienen datos convertidos del formato origen a otro formato
que hace ilegible el contenido. Si el sistema de base de datos está protegido,
Visual dBASE cifra y descifra automáticamente las tablas y sus archivos de índice y
memo asociados.
• Seguridad de tabla y campo permite definir a las tablas y los campos de éstas a los
que puede acceder el usuario.
Esta seguridad se sitúa en el último nivel. Determina qué puede hacerse con una
tabla y con los datos que contiene y puede utilizarse para controlar el procesamiento
del código de programa.
Los tipos de seguridad deben definirse en el orden indicado. Por ejemplo, no puede
establecer seguridad de tabla y campo sin crear primero la seguridad de conexión.
Asimismo, debe crear seguridad de conexión para disponer del cifrado de datos.
No es necesario definir los tres niveles de seguridad; la opción más habitual es definir sólo
seguridad de conexión.
Asegúrese de que los usuarios saben cómo solicitar la protección de tabla, si han creado
alguna que deba protegerse. Puede resultar conveniente generar un formulario que
remitirían los usuarios para realizar esta solicitud. Además, puede utilizarse como copia
impresa de la información de seguridad.

154 Guía del usuario


secure.dwu Page 155 Friday, September 1, 1995 4:35 PM

Seguridad de conexión
Protect permite crear un sistema protegido por contraseña. Si esta protección está activa:
• Los usuarios sólo pueden acceder a Visual dBASE si introducen una sentencia de
registro válida. Esta sentencia incluye tres elementos: un nombre de grupo, un
nombre de acceso y una contraseña.
• Cuando se inicia Visual dBASE, aparece la pantalla de registro de usuario. Todas las
vías de acceso del sistema de base de datos inician el proceso de registro.
Decida cómo asignar registros a los usuarios. Pueden definir ellos mismos su nombre de
registro, contraseña y grupo, o puede asignarlos personalmente. Si permite que los
usuarios seleccionen los valores, asegúrese de que conocen la longitud máxima de los
nombres y contraseñas de usuario y los caracteres que pueden utilizarse.

Archivos de contraseña
Cuando establece seguridad de conexión, Visual dBASE crea y mantiene el archivo de
contraseñas DBSYSTEM.DB, que contiene registros de los usuarios que define en la
función Protect. DBSYSTEM.DB guarda los perfiles de usuario, incluidos el nombre de
registro, nombre de cuenta, contraseña, nombre de grupo y nivel de acceso.
Cuando un usuario inicia Visual dBASE en una estación de red, dBASE busca el archivo
de contraseñas en el directorio de dBASE. Si lo localiza, se inicia el proceso de registro.
En caso contrario, el usuario no puede acceder al programa.
DBSYSTEM.DB se mantiene como archivo cifrado que puede descifrar dBASE. Sólo los
administradores de base de datos puede ver y modificar esta información.

Capítulo 7, Seguridad de tablas 155


secure.dwu Page 156 Friday, September 1, 1995 4:35 PM

Acceso de usuario y grupos


Después de establecer seguridad de conexión para Visual dBASE, puede controlar el
acceso a tablas de base de datos determinadas (y a campos de las tablas).

Acceso de tabla
En primer lugar, debe definir los grupos de usuarios y determinar qué grupo puede
acceder a qué tabla. Intente organizar los usuarios y tablas en grupos que reflejen el uso
de la aplicación (por ejemplo, por departamento o área de ventas).
• Una tabla sólo puede asignarse a un grupo. Si el grupo del usuario y el grupo de la
tabla no coinciden, el usuario no puede acceder a la tabla.
• Generalmente, a un grupo se le asocia un conjunto de tablas. Si asocia cada aplicación
con su propio grupo, podrá utilizar el grupo para controlar el acceso a los datos.
• Un usuario puede pertenecer a varios grupos. Sin embargo, debe conectarse de forma
independiente a cada grupo.
• Si un usuario debe acceder a tablas de dos grupos diferentes en la misma sesión, debe
desconectarse de un grupo y, a continuación, registrarse en el segundo. Los usuarios
pueden tener diferentes registros en diferentes grupos de sesiones independientes
para acceder a los archivos de diferentes grupos. Consulte el Capítulo 5 para obtener
una descripción de las sesiones.

Perfiles de usuario y niveles de acceso


Debe crear un perfil de usuario para cada uno de los usuarios de todos los grupos.
Como parte del perfil, asigne al usuario un nivel de acceso. Los niveles de acceso se
corresponden con el esquema de privilegios de la tabla (consulte la sección siguiente)
para determinar qué tipo de acceso tiene el usuario a la tabla y a sus campos.
Por ejemplo, si establece un privilegio de lectura de 5 para una tabla, pueden leerla
todos los usuarios cuyos niveles estén situados entre 1 y 5. No podrán leerla los usuarios
con nivel 6 o superior.
Mediante el establecimiento de niveles de acceso en los grupos, puede asignar a los
usuarios diferentes accesos a la tabla y a sus campos.
• Los niveles de acceso se sitúan en el rango entre 1 y 8 (1 es el valor por defecto).
Los números interiores proporcionan mayor acceso y viceversa. El valor de acceso es
relativo, es decir, no tiene significado intrínseco.
• Los niveles menos restrictivos (1, 2, 3) suelen asignarse a pocas personas. Para limitar
el acceso a los datos, cuantos más privilegios incluya un nivel, menos usuarios deben
asignársele.
• Puede asignar un número ilimitado de usuarios a los niveles de acceso.
• Si no necesita modificar el nivel de acceso de los usuarios de un grupo, no tiene por
qué cambiar el nivel por defecto de cada usuario.

156 Guía del usuario


secure.dwu Page 157 Friday, September 1, 1995 4:35 PM

Esquemas de privilegios de tabla


Después de establecer los niveles de acceso de los usuarios, debe definir un
esquema de privilegios para cada tabla. Estos esquemas controlan tres elementos:
• Los grupos que pueden acceder a la tabla (el nombre de grupo del usuario debe
coincidir con el nombre de grupo de la tabla para permitir el acceso).
• Los niveles de acceso de usuario que pueden leer, actualizar, ampliar y/o borrar la
tabla (privilegios de tabla).
• Los niveles de acceso de usuario que pueden modificar y/o ver los campos de la
tabla (privilegios de campo).
Después de que el usuario se registra, Visual dBASE determina qué acceso tiene a la
tabla y a sus campos mediante la correspondencia del nivel de acceso del usuario con los
derechos especificados en el esquema de privilegios de la tabla.
Por ejemplo, si ha asignado un nivel de acceso 2 a un usuario, el acceso a la tabla y a sus
campos estará determinado por los privilegios asignados al nivel 2 en el esquema de
privilegios de tabla.
Cuando defina el esquema de privilegios de tabla, no olvide que:
• La posibilidad que tiene el usuario de acceder a una tabla es una función del nivel de
acceso del grupo y del nivel de acceso individual del usuario. Sin embargo, este
último determina qué puede hacer el usuario con la tabla después de abrirla.
• Si no crea un esquema de privilegios para la tabla, todos los usuarios del grupo
podrán leer y escribir en todos los campos de la tabla.
• Los derechos de acceso no pueden sustituir el atributo de sólo lectura definido para la
tabla en el nivel de sistema operativo.

Privilegios de tabla
En el nivel de tabla puede controlar qué operaciones pueden realizar los distintos
niveles de acceso del usuario (1-8):
• Ver registros de la tabla (privilegio de lectura)
• Cambiar el contenido de registros de la tabla (privilegio de actualización)
• Añadir nuevos registros a la tabla (privilegio de ampliación)
• Borrar registros de la tabla (privilegio de borrado)
Cuando crea un esquema de privilegios de tabla, se conceden inicialmente los cuatro
privilegios de tabla. Es decir, por defecto los niveles de acceso a la tabla son 8
(nivel menos restrictivo).

Capítulo 7, Seguridad de tablas 157


secure.dwu Page 158 Friday, September 1, 1995 4:35 PM

Privilegios de campo
En el nivel de campo, puede controlar qué operaciones puede realizar cada uno de los
niveles de acceso (1-8):
• Leer y escribir en el campo de la tabla (privilegio FULL). Este es el valor inicial por
defecto.
• Leer, pero no escribir en el campo (privilegio READ ONLY).
• Sin privilegio de lectura ni escritura (privilegio NONE). NONE impide que un
usuario escriba y vea los campos que no desea mostrar.

Cifrado de datos
Las tablas se cifran cuando se seleccionan, se editan los niveles de acceso y se guarda el
esquema de privilegios.
Cuando se guarda el esquema, Visual dBASE cifra la tabla, incluidos los archivos de
índice de producción (.MDX) y memo (.DBT), si existen. dBASE también crea una copia
de la tabla original sin cifrar. Para mantener una seguridad adecuada, estas copias
deben archivarse y borrarse del sistema.

Uso de SET ENCRYPTION


Después de proteger un sistema de base de datos, el administrador de la base de datos y
el programador de aplicaciones conservan el control sobre el cifrado de los archivos
copiados.
Si se ha protegido el sistema de base de datos, SET ENCRYPTION está activado (ON)
por defecto. Si desactiva SET ENCRYPTION, no se cifran los archivos creados con el
comando COPY. SET ENCRYPTION puede definirse desde la ventana de comandos o
desde el cuadro de diálogo Propiedades del escritorio, al que se accede desde el menú
Propiedades. Consulte la Ayuda en línea para obtener más información sobre este
comando.
Advertencia Si utiliza el comando COPY TO y el archivo destino no es una tabla de dBASE
(archivo .DBF), no se cifrará, aunque SET ENCRYPTION esté activado.

158 Guía del usuario


secure.dwu Page 159 Friday, September 1, 1995 4:35 PM

Procedimientos generales
Siga los pasos que se indican a continuación para configurar un sistema de base de datos
protegido:
1 Planifique los grupos de usuario.
2 Planifique el nivel de acceso de los usuarios.
3 Planifique el esquema de privilegios de las tablas, incluidos los privilegios de tabla y
campo.
Cuando haya finalizado, siga los pasos que se indican a continuación para desarrollar
un esquema de seguridad:
1 En Visual dBASE, inicie Protect y defina la contraseña de administrador de
base de datos.
2 Defina los perfiles de usuario, incluido el grupo al que pertenece y el nivel de acceso.
3 Defina los privilegios de tabla.
4 Defina los privilegios de campo.
5 Defina el esquema de seguridad de conexión.
6 Guarde la información de seguridad.
Las secciones siguientes describen estos pasos con más detalle.

Capítulo 7, Seguridad de tablas 159


secure.dwu Page 160 Friday, September 1, 1995 4:35 PM

Planificación del sistema de seguridad


En esta sección se describe cómo planificar el sistema de seguridad. Conviene decidir los
accesos de usuario y los derechos de tabla y campo antes de comenzar la creación de
perfiles de seguridad en dBASE.

Planificación de grupos de usuario


Considere cuidadosamente los grupos en que puede dividir a los usuarios, basándose
en qué tipo de usuarios necesitan acceder a qué tablas. Por ejemplo, el personal de
administración deberá acceder a tablas que no necesita el personal de ventas y
viceversa.
La creación de una hoja de cálculo facilita esta asignación. En la tabla siguiente se
muestra un método para organizar la información, pero debe utilizar el método que le
resulte más conveniente.
Tabla 7.1 Hoja de cálculo para definir grupos y sus miembros
Nombre de
Tabla Grupo usuario
CLIENTE VENTAS AMORRIS
BBISSING
LJACUS
FFINE
PRODUCTO TODOS AMORRIS
BANDERS
BBISSING
CDORFFI
LJACUS

Planificación de los niveles de acceso de usuario


A continuación, debe decidir qué acceso a la tabla necesita el usuario.
Existen 8 niveles de acceso, pero basta con 3 niveles; uno para acceso total, otro para un
uso habitual y el último para acceso mínimo. La tabla siguiente muestra la hoja de
cálculo de ejemplo, ampliada para presentar los niveles de acceso del usuario.
Tabla 7.2 Hoja de cálculo ampliada para mostrar los niveles de acceso de usuario
Nivel 4 Nivel 8
Nombre de Nivel 1 (acceso (acceso
Tabla Grupo usuario (acceso total) habitual) mínimo)
CLIENTE VENTAS AMORRIS X
BBISSING X
LJACUS X
FFINE X
PRODUCTO TODOS AMORRIS X

160 Guía del usuario


secure.dwu Page 161 Friday, September 1, 1995 4:35 PM

Tabla 7.2 Hoja de cálculo ampliada para mostrar los niveles de acceso de usuario (continuación)
Nivel 4 Nivel 8
Nombre de Nivel 1 (acceso (acceso
Tabla Grupo usuario (acceso total) habitual) mínimo)
BANDERS X
BBISSING X
CDORFFI X
LJACUS X
FFINE X

Planificación de los privilegios de tabla


A continuación, debe planificar el esquema de privilegios de las tablas .
En cada tabla, debe determinar el nivel de acceso más restringido que puede realizar la
operación. Todos los niveles menos restringidos al especificado pueden realizar la
operación, y viceversa.
La hoja de cálculo siguiente muestra un método de planificación de qué niveles de
acceso de usuario conceden qué derechos de tabla.
Tabla 7.3 Hoja de cálculo para definir privilegios de operaciones de tabla
Tabla Lectura Actualización Ampliación Borrado
CLIENTE 8 4 4 1
PRODUCTO 8 4 4 1
PEDIDOS 8 4 4 1

Planificación de privilegios de campo


El último paso de planificación consiste en determinar qué niveles de acceso de usuario
pueden leer y/o escribir en los campos. Puede crear una hoja de cálculo similar a la
siguiente.
Tabla 7.4 Hoja de cálculo para definir privilegios de acceso a campos
Campo Acceso total Sólo lectura Sin acceso
TASA Niveles 1–2 Niveles 3–6 Niveles 7–8
NOMBRE Niveles 1–6 Niveles 7–8
APELLIDO Niveles 1–6 Niveles 7–8
NSS Niveles 1–2 Niveles 3–6 Niveles 7–8

Capítulo 7, Seguridad de tablas 161


secure.dwu Page 162 Friday, September 1, 1995 4:35 PM

Configuración del sistema de seguridad


Después de desarrollar el sistema de seguridad, debe configurarlo. En esta sección se
describe cómo definir la contraseña del administrador de base de datos, cómo introducir
y editar perfiles de usuario y cómo configurar los esquemas de privilegios de tablas.

Definición de la contraseña del administrador de base de datos


Antes de iniciar el sistema Protect, asegúrese de que están cerradas todas las tablas.
Siga los pasos que se indican a continuación para introducir la contraseña del
administrador de bases de datos:
1 Elija Archivo |Administración de base de datos.
2 En el cuadro de diálogo Administración de base de datos, asegúrese de que el campo
Base de datos actual está definido como <Ninguna> y el campo Tipo de tabla está
definido para las tablas de dBASE.
3 Haga clic sobre el botón Seguridad.
Figura 7.1 Cuadro de diálogo Contraseña del administrador

4 En el cuadro de diálogo Contraseña del administrador, introduzca una contraseña


con un máximo de 16 caracteres alfanuméricos. Puede introducir caracteres en
mayúsculas o minúsculas. La contraseña no aparece en pantalla.
La primera vez que utiliza Protect, debe introducir la contraseña por segunda vez
(en las siguientes ocasiones , el sistema proporciona tres oportunidades para
introducir la contraseña correcta antes de finalizar el registro). Aparecerá el cuadro
de diálogo Seguridad, como muestra la Figura 7.2.
Advertencia Cuando se establece el sistema de seguridad, sólo puede ser cambiado si se indica la
contraseña del administrador. No existe ningún método para recuperar esta contraseña,
por lo que conviene conservar una copia impresa en un lugar seguro.

162 Guía del usuario


secure.dwu Page 163 Friday, September 1, 1995 4:35 PM

Creación de perfiles de usuario


El cuadro de diálogo Seguridad se utiliza para crear los perfiles de usuario y establecer
el nivel de acceso de los usuarios.
Figura 7.2 Cuadro de diálogo Seguridad

Siga los pasos que se indican a continuación para añadir un perfil de usuario:
1 En el cuadro de diálogo Seguridad, seleccione la página Usuarios y haga clic sobre el
botón Nuevo.
Figura 7.3 Cuadro de diálogo Nuevo usuario

2 Introduzca un nombre de acceso de usuario (1-8 caracteres alfanuméricos).


La entrada se convierte a mayúsculas.
3 Introduzca un nombre de grupo (1–8 caracteres alfanuméricos). La entrada se
convierte a mayúsculas.
4 Introduzca una contraseña para este usuario (1-16 caracteres alfanuméricos).
5 Seleccione un nivel de acceso para el usuario (1- 8; consulte la página 156).
6 Introduzca el nombre completo del usuario (1–24 caracteres alfanuméricos).
Esta entrada es opcional.
7 Haga clic sobre Aceptar para guardar el perfil de usuario.
Debe introducir información en todos los campos excepto en el nombre completo, que
es opcional. Este elemento no se utiliza para validar el registro, por lo que puede
utilizarlo con cualquier finalidad. Generalmente, el nombre completo se utiliza para
añadir una identificación de usuario más completo. Los caracteres que se introducen en
esta opción no se convierten a mayúsculas.

Capítulo 7, Seguridad de tablas 163


secure.dwu Page 164 Friday, September 1, 1995 4:35 PM

Cambio de perfiles de usuario


Para cambiar el perfil de un usuario:
1 Abra la página Usuarios del cuadro de diálogo Seguridad.
2 Seleccione el nombre de usuario que desea modificar y haga clic sobre el botón
Editar.
3 Realice los cambios adecuados y haga clic sobre Aceptar.
Advertencia! Si edita el nombre de grupo, el usuario ya no podrá acceder a las tablas asociadas con el
grupo original. No conviene borrar el grupo. Si borra a todos los usuarios de un grupo
antes de copiar todas las tablas asociadas en formato descifrado, nadie podrá acceder a
las tablas.

Borrado de perfiles de usuario


Para borrar un perfil de usuario:
1 Abra la página Usuarios del cuadro de diálogo Seguridad.
2 Seleccione el nombre de usuario que desea borrar y haga clic sobre el botón Borrar.
3 Para confirmar la eliminación, haga clic sobre el botón Sí.

Establecimiento de privilegios de tabla


La página Tablas (Figura 7.4) del cuadro de diálogo Seguridad se utiliza para crear y
modificar esquemas de privilegios de tabla. Estos esquemas se guardan en la estructura
de tabla.
Figura 7.4 Página Tablas

Utilice esta página para:


• Asignar una tabla a un grupo determinado.
• Definir privilegios de acceso de tabla.
• Definir privilegios de acceso de campo para cada nivel de acceso de usuario.

164 Guía del usuario


secure.dwu Page 165 Friday, September 1, 1995 4:35 PM

Siga los pasos que se indican a continuación para definir los privilegios de tabla y campo
de una tabla:
1 Abra la página Tablas del cuadro de diálogo Seguridad.
2 Seleccione una tabla.
3 Asigne la tabla a un grupo.
4 Establezca el nivel de acceso más restringido en cada privilegio.
5 Seleccione los privilegios de campo para los niveles de acceso de usuario.
Las siguientes secciones describen estos pasos con mayor detalle.

Selección de una tabla


Para seleccionar una tabla:
1 Abra la página Tablas del cuadro de diálogo Seguridad.
2 En el campo Tabla, introduzca el nombre de la tabla que desea seleccionar
(o haga clic sobre el botón de Utilidades y seleccione la tabla).
3 Haga clic sobre el botón Editar tabla. Aparecerá el cuadro de diálogo
Editar privilegios de tabla.

Asignación de la tabla a un grupo


Una tabla sólo puede asignarse a un grupo. El nombre del grupo debe coincidir con el
nombre del grupo del usuario para activar el acceso a los datos.
Figura 7.5 Cuadro de diálogo Editar privilegios de tabla

Especifique el grupo
asignado a esta tabla

Para seleccionar un grupo para la tabla, debe seleccionar uno de los grupos disponibles
en la lista Grupos del cuadro de diálogo, como muestra la Figura 7.5 (estos grupos se
crearon durante la creación de perfiles de usuario).

Capítulo 7, Seguridad de tablas 165


secure.dwu Page 166 Friday, September 1, 1995 4:35 PM

Definición de privilegios de tabla


En cada tipo de operación de tabla (consulte la Tabla 7.5), especifique el nivel de acceso
más restringido que puede realizarla.
Tabla 7.5 Operaciones de tabla
Privilegio Acceso concedido
LECTURA Ver el contenido de la tabla.
ACTUALIZACIO Editar registros de la tabla.
N
EXTENDIDO Añadir registros a la tabla.
BORRAR Borrar registros de la tabla.

Para definir los privilegios de tabla, seleccione un valor (1-8) para cada operación en el
cuadro de diálogo.
Figura 7.6 Definición de privilegios de tabla en el cuadro de diálogo

Seleccione el mínimo nivel de


acceso de usuario que puede
realizar la operación.

Nota No puede especificar niveles de acceso lógicamente incompatibles. Por ejemplo, no


puede impedir que el nivel 6 tenga acceso de lectura y al mismo tiempo permitir que
tenga acceso de actualización, ya que, para disponer de acceso de actualización, el nivel
6 también necesita acceso de lectura.

Definición de privilegios de campo


Puede establecer el acceso a cada campo según el nivel de acceso de usuario. La tabla
siguiente describe los privilegios de campo disponibles.
Tabla 7.6 Privilegios de campo
Privilegio Acceso concedido
TODOS Ver y modificar el campo. Es el valor por defecto.
SOLO LECTURA Sólo ver el campo (sin posibilidad de actualización).
NINGUNO Sin acceso. El usuario no puede leer ni actualizar el campo, y éste no aparece.

166 Guía del usuario


secure.dwu Page 167 Friday, September 1, 1995 4:35 PM

Nota Los privilegios de tabla tienen preferencia sobre los de campo. Por ejemplo, si un
privilegio de tabla está definido como lectura sin actualización, los únicos privilegios de
campo que tienen sentido son Sólo lectura o Ninguno. Debe limitar los privilegios de
tabla para proteger los datos ante comandos orientados a tablas, como DELETE y ZAP.
La restricción de los privilegios de campo a Sólo lectura y Ninguno sin limitar los
privilegios de tabla no protege los datos ante estos comandos.
La lista Campos del cuadro de diálogo incluye todos los campos de la tabla. Los botones
Derechos muestran los privilegios de campo del campo actual para los niveles de acceso
de 1 a 8. Inicialmente, todos los privilegios de campo están definidos como Todos.
Siga el procedimiento que se indica a continuación para cambiar un privilegio de
campo:
1 Seleccione el campo.
2 Haga clic sobre el botón Derechos que corresponde a los privilegios que desea
conceder para el campo en cada nivel de acceso.
Por ejemplo, para definir los privilegios del campo TASA de forma que los usuarios
con niveles de acceso 1 y 2 tengan acceso total, los de niveles 3 a 6 tengan acceso de
sólo lectura y los de niveles 7 y 8 no tengan acceso, defina los derechos como se
muestra en la Figura 7.7.
3 Repita el proceso para los demás campos de la tabla.
4 Haga clic sobre Aceptar para guardar los privilegios de acceso de campo.
Figura 7.7 Definición de privilegios de campo en el cuadro de diálogo

En cada campo, seleccione los


privilegios para cada nivel de
acceso de usuario.

Advertencia! No cambie nunca los derechos de acceso del campo _DBASELOCK de ninguna tabla.
Los derechos de este campo deben ser Todos para todos los niveles de acceso. Para más
información sobre el campo _DBASELOCK, consulte el comando CONVERT en la
Ayuda en línea.

Capítulo 7, Seguridad de tablas 167


secure.dwu Page 168 Friday, September 1, 1995 4:35 PM

Definición del esquema para forzar seguridad


Por defecto, un sistema dBASE protegido requiere el registro cuando se inicia
Visual dBASE. Si lo prefiere, puede definir el sistema de seguridad de forma que sólo
solicite el registro si se intenta cargar una tabla cifrada. Así permite que todos utilicen
dBASE y carguen tablas no cifradas, a la vez que impide que usuarios no autorizados
carguen tablas protegidas.
Para cambiar el sistema de forzar seguridad, siga los pasos que se indican a
continuación:
1 Abra la página Forzar en el cuadro de diálogo Seguridad. El texto de esta página
describe el esquema activo.
Figura 7.8 Cuadro de diálogo Seguridad

2 Seleccione el esquema que desee.


3 Haga clic en Aceptar.

168 Guía del usuario


secure.dwu Page 169 Friday, September 1, 1995 4:35 PM

Incorporación de contraseñas en las tablas de Paradox


En Paradox, puede asignar contraseñas a sus tablas. Después de asignar una contraseña,
la tabla no puede abrirse en dBASE ni en Paradox sin indicar la contraseña. Para asignar
una contraseña a una tabla de Paradox desde Visual dBASE, siga estos pasos:
1 Asegúrese de que la tabla está cerrada.
2 En el menú Archivo, seleccione Administración de base de datos.
3 Asegúrese de que el campo Base de datos actual está definido como <Ninguna> y el
campo Tipo de tabla está definido para las tablas de Paradox.
4 Haga clic sobre el botón Seguridad para abrir el cuadro de diálogo Seguridad.
5 Seleccione el nombre de la tabla en el campo Tabla. Si la tabla no se encuentra en el
directorio actual, utilice la herramienta para seleccionar el directorio.
6 Haga clic sobre el botón Editar tabla para abrir el cuadro de diálogo
Contraseña principal.
7 Introduzca una contraseña en el campo Contraseña principal. La contraseña puede
incluir un máximo de 31 caracteres y contener espacios. Las contraseñas de Paradox
son sensibles a mayúsculas.
8 Vuelva a introducir la contraseña en el campo Confirmar contraseña.
9 Haga clic sobre el botón Establecer para guardar la contraseña.

Eliminación de contraseñas de las tablas de Paradox


Para eliminar una contraseña existente en una tabla de Paradox, siga los pasos 1 a 6 de la
sección anterior. Cuando se solicite, introduzca la contraseña principal de la tabla.
A continuación, haga clic sobre el botón Borrar para eliminar la contraseña.

Capítulo 7, Seguridad de tablas 169


secure.dwu Page 170 Friday, September 1, 1995 4:35 PM

170 Guía del usuario


p_quer.dwu Page 171 Friday, September 1, 1995 4:37 PM

Parte

III
Consultas
Parte III

Las consultas desempeñan un papel decisivo en Visual dBASE. No sólo le ofrecen la


respuesta a sus preguntas, sino que además son esenciales para organizar y seleccionar
datos de las tablas, que pueden vincularse en fichas. En esta parte descubrirá cómo crear
consultas y utilizarlas para estructurar la información.
• Capítulo 8, “Creación de consultas”
• Capítulo 9, “Creación de consultas multitabla”

Parte III, Consultas 171


p_quer.dwu Page 172 Friday, September 1, 1995 4:37 PM

172 Guía del usuario


crequer.dwu Page 173 Friday, September 1, 1995 4:37 PM

Capítulo

Creación de consultas
Capítulo 8
8
Las consultas permiten seleccionar, ordenar y organizar datos de una o más tablas.
Pueden emplearse de varias maneras, por ejemplo para examinar y actualizar
información, o como base para crear fichas e informes.
En este capítulo se explica el uso de las consultas, tratando los siguientes temas:
• Apertura del Diseñador de consultas y selección de una tabla.
• Visualización y edición de datos.
• Uso de filtros para especificar los registros que deben aparecer.
• Ordenación de registros.
• Modificación de la vista.
• Almacenamiento de la consulta, la vista o ambas.
La mayoría de los ejemplos de este capítulo utilizan las tablas de ejemplo de la tienda de
submarinismo, CLIENTE.DBF, PEDIDOS.DBF y ELEMENTO.DBF, que se encuentran
en el directorio EJEMPLOS. En este capítulo se emplean dichas tablas por separado
como base de consultas que seleccionan y filtran información de una sola tabla.
En el Capítulo 9 se describe cómo vincular las tablas de modo diferente según la tarea
que se vaya a realizar.

Capítulo 8, Creación de consultas 173


crequer.dwu Page 174 Friday, September 1, 1995 4:37 PM

Acerca de las consultas y las vistas


Las consultas son herramientas potentes para:
• Seleccionar información específica de una o más tablas para su examinación o
edición.
• Filtrar los registros que no se desea incluir en la vista.
• Definir una relación entre dos o más tablas vinculándolas por un campo común.
De esta forma se establece una asociación entre los registros de las tablas.
• Crear campos calculados, que permiten realizar operaciones según uno o más
campos y visualizar los resultados como un campo aparte (consulte el Capítulo 9).
• Definir el entorno, lo cual implica establecer una determinada configuración de tablas
y condiciones que, posteriormente, sirven como base para crear una ficha o informe.
• Generar sentencias del lenguaje de programación dBASE. Tras crear una consulta,
puede guardar el código en un archivo de consulta y copiarlo en un archivo de
programa donde podrá modificarlo según sus necesidades.

Contenido de las consultas


Las consultas son básicamente preguntas que se formulan sobre los datos. Se crean
utilizando el Diseñador de consultas para construir un modelo de la información que se
desea: qué tabla o tablas que hay que consultar, qué registros de éstas y qué campos de
dichos registros. A continuación, se ejecuta la consulta para obtener una vista de los
datos.
Las vistas son especificaciones de los datos que se desean ver, incluidos registros, tablas
y campos, y la configuración de los datos. Una vista puede aparecer en la ventana
Resultado de la consulta, en forma de tabla, a pesar de que puede contener datos
procedentes de varias tablas.
Cuando se ejecuta la consulta, Visual dBASE genera y ejecuta el código necesario para
seleccionar y disponer la información tal como se haya solicitado. Una vez que aparezca
la vista resultante, puede volver al modo diseño, retocar la consulta si es preciso y
ejecutarla de nuevo.
Una vista se puede emplear como cualquier otra ventana de edición para visualizar los
datos, realizar selecciones y cálculos y (en la mayoría de los casos) editar la información.
Si edita los datos, los cambios se almacenan directamente en la tabla o tablas utilizadas
en la consulta (no puede editar los datos si la vista es de sólo lectura, como ocurre
cuando se crea con el comando SORT de dBASE; consulte la página 183).

174 Guía del usuario


crequer.dwu Page 175 Friday, September 1, 1995 4:37 PM

Archivos de consulta (.QBE)


Cuando se guarda una consulta, los comandos de dBASE se almacenan en un archivo
.QBE. Los archivos .QBE contienen sentencias que especifican cómo ordenar y
seleccionar los datos almacenados en una o más tablas. La información se guarda
como comandos de dBASE en un archivo de texto que se puede abrir y leer con el
Editor de textos.
El archivo .QBE no contiene datos, ya que éstos se almacenan en tablas: archivos .DBF
(dBASE) o .DB (Paradox) o bases de datos SQL. Las tablas no contienen información
sobre las consultas basadas en ellas. Al abrir una tabla, la información no se presenta de
la manera establecida por una consulta; para ello, es preciso ejecutar la consulta.
Las consultas pueden especificar la siguiente información de entorno:
• Una o más tablas que deben utilizarse (con el comando USE de dBASE).
• Las relaciones entre las tablas (con SET RELATION).
• El conjunto de campos y campos calculados (con SET FIELDS).
• El conjunto de registros o condiciones de filtro (con SET FILTER).
• El orden de los registros (con SET INDEX, INDEX, SORT o USE...ORDER TAG...).
Puede optar por copiar la vista resultante de una consulta en otro archivo de tabla, pero
suele ser preferible guardar la propia consulta en lugar de la vista resultante. Al guardar
la vista se crea una tabla nueva que duplica al menos algunos de los datos originales;
dicha tabla no se actualiza si se realizan cambios en las tablas originales. En cambio, si
guarda la consulta en un archivo .QBE, puede tener la seguridad de que siempre que la
vuelva a ejecutar obtendrá los datos más recientes, incluidas las actualizaciones
realizadas en las tablas originales.

Uso de una consulta para crear una ficha o informe


Muchas veces las consultas sirven como punto de arranque de una ficha o informe.
En primer lugar, se crea una consulta que selecciona tablas, las vincula y selecciona
campos y registros. A continuación, se vincula la consulta con una ficha o informe, de
forma que determina qué registros y campos están disponibles (para obtener
información más detallada sobre el uso de fichas, consulte los Capítulos 10 a 14; el tema
de los informes se trata en el manual Guía del usuario de Crystal Reports paraVisual
dBASE).
Dado que las consultas controlan los datos que pueden visualizarse y modificarse en
una ficha, permiten garantizar la seguridad de los datos. Por ejemplo, si una tabla de
empleados incluye información confidencial como el sueldo, puede crear una consulta
que no muestre ese campo. Una ficha basada en dicha consulta permitiría el acceso a los
campos no confidenciales, pero ocultaría la información sobre los sueldos.

Capítulo 8, Creación de consultas 175


crequer.dwu Page 176 Friday, September 1, 1995 4:37 PM

El Diseñador de consultas como generador de código


Al crear una consulta, puede ver el código de dBASE ejecutado en la ventana de
comandos. La visualización de este código constituye una manera excelente de
aprender el lenguaje dBASE para comenzar a escribir sus propios programas.
Además, puede editar una sentencia en la ventana de comandos y pulsar Intro para
ejecutarla. También es posible seleccionar varias sentencias arrastrándolas con el ratón y
ejecutarlas mediante Edición|Ejecutar selección.
Cuando se guarda la consulta, las sentencias de comandos se almacenan en el
archivo .QBE.

Creación de una consulta


Para crear una consulta, cambie al directorio que contiene las tablas que desea utilizar.
A continuación, realice una de las siguientes acciones:
• Haga clic sobre el icono Consultas en la ventana de catálogo o Selector
(consulte la Figura 8.1). Haga doble clic sobre el icono Sin Título del panel Consulta.
Figura 8.1 Creación de una consulta

Haga clic en el icono Consultas del Selector de archivos.


A continuación, haga doble clic en el icono Sin título.

• Elija Archivo|Nuevo|Consulta.
• Teclee CREATE QUERY en la ventana de comandos. De este modo, se crea en la
sesión de la ventana de comandos una consulta que emplea los archivos abiertos y
demás parámetros de la ventana (consulte la página 177).
Aparece el cuadro de diálogo Abrir tabla necesario para que seleccione la tabla que
desee consultar. Cuando haya seleccionado una tabla, se abre la ventana del
Diseñador de consultas.

176 Guía del usuario


crequer.dwu Page 177 Friday, September 1, 1995 4:37 PM

Si ya está examinando una tabla que desea utilizar en la consulta, puede hacer clic sobre
el botón Diseñar consulta de la barra rápida o elegir Tabla|Crear consulta. Se abre el
Diseñador de consultas en una nueva sesión, siempre que se haya activado Sesiones
(consulte el apartado siguiente) y la ventana Registros de tabla existente permanezca en
segundo plano. Cuando se ejecuta una consulta creada de esta forma, ésta genera otra
ventana Registros de tabla que contiene los datos, lo cual permite tener dos vistas
independientes de los mismos datos.
El Diseñador de consultas presenta una máscara de la estructura de la tabla, con el título
a la izquierda y el nombre de cada campo. Si se añaden más tablas a la consulta, las
máscaras correspondientes aparecen en la ventana del Diseñador de consultas.
Figura 8.2 La ventana del Diseñador de consultas y una máscara de tabla

Campos

Nombre Flechas de desplazamiento. Haga clic en ellas


de tabla para poder ver todos los campos.

Consultas y sesiones
El parámetro Sesiones determina lo que ocurre al trabajar con consultas. Generalmente,
se puede pasar por alto este parámetro y Visual dBASE seguirá funcionando de la
manera esperada. Los usuarios avanzados y los que conocen las versiones anteriores de
dBASE pueden activar o desactivar Sesiones, según sus necesidades.
• Si Sesiones está activado cuando se crea una consulta, siempre aparece un mensaje
solicitando una tabla para consultar. Si Sesiones está desactivado y hay tablas abiertas
al crear la consulta, éstas aparecen en el Diseñador de consultas.
• Con Sesiones desactivado, la ejecución de una consulta cierra todas las ventanas
abiertas asociadas a las tablas (incluso las que no están asociadas a la consulta).
Si Sesiones está activado, la ejecución de una consulta no afecta al estado de otras
tablas o ventanas, ya que la consulta actual se ejecuta en su propia sesión.
Consulte también la introducción a las sesiones en el Capítulo 5.

Capítulo 8, Creación de consultas 177


crequer.dwu Page 178 Friday, September 1, 1995 4:37 PM

Desplazamiento por el Diseñador de consultas


Si la máscara es demasiado larga para la ventana, haga clic sobre las flechas de
desplazamiento para poder ver más campos, o pulse Ctrl+Inicio o Ctrl+Fin para trasladarse
al principio o al final de la máscara.
Otras teclas que facilitan el desplazamiento por el Diseñador de consultas se muestran
en la siguiente tabla:

Teclas Desplazamiento a
Tab Campo siguiente
Mayús+Tab Campo anterior
F3, F4 Tabla siguiente, anterior
(consultas multitabla)

La barra rápida
La barra rápida del Diseñador de consultas proporciona herramientas para la creación
de consultas.
Figura 8.3 Barra rápida del Diseñador de consultas
Botones
del Porta- Diseñar Añadir Vincular Ventana de
Nuevo Guardar papeles consulta tabla tablas comandos

Abrir Imprimir Ejecutar Generar Eliminar Selector


expresión Eliminar vínculo
consulta tabla de archivos

178 Guía del usuario


crequer.dwu Page 179 Friday, September 1, 1995 4:37 PM

Selección y ordenación de campos


La casilla de verificación situada debajo de cada nombre de campo en la máscara de
tabla permite especificar los campos que deben incluirse en la vista.
Figura 8.4 Casillas de selección de campos

Haga clic para seleccionar o anular todos los campos… …o marque los campos individuales que desee incluir en la vista

Haga clic sobre la casilla de selección de campos para marcar un campo a fin de incluirlo
en la vista. También puede emplear Tab o Mayús+Tab para desplazarse al campo y pulsar
F5 para elegir la casilla. Para anular la selección del campo, vuelva a hacer clic sobre la
casilla de selección de campos o pulse F5 de nuevo.
Para seleccionar todos los campos, haga clic sobre la casilla de verificación Seleccionar
todo debajo del nombre de la tabla o pulse Ctrl+F5. A continuación, puede desactivar los
distintos campos haciendo clic sobre las casillas correspondientes. Este método es
normalmente el más rápido para seleccionar la mayor parte de los campos de una tabla.
Vuelva a hacer clic sobre la casilla Seleccionar todo para desactivar todos los campos.
Figura 8.5 Definición de una vista de tabla

La tabla

El Diseñador de
consultas muestra
una máscara con
todos los campos
de la tabla.
Seleccione los que
desee incluir.

Al ejecutar la consulta,
los campos
seleccionados aparecen
en la vista resultante de
los datos.

Si no selecciona ningún campo, Visual dBASE los muestra todos al ejecutar la consulta.

Capítulo 8, Creación de consultas 179


crequer.dwu Page 180 Friday, September 1, 1995 4:37 PM

Cuando se visualizan los datos, los campos aparecen inicialmente en el orden que
muestra la máscara de tabla. Puede cambiar el orden arrastrando los campos hasta la
posición apropiada antes de ejecutar la consulta, tal como se muestra en la figura.
El puntero del ratón se convierte en una mano cuando se encuentra encima de los
nombres de campo para indicar que éstos se pueden arrastrar hasta otra posición.
Tras ejecutar la consulta, puede realizar la misma operación para cambiar el orden de
los campos en la vista.
Figura 8.6 Modificación del orden de los campos en el Diseñador de consultas

Señale un nombre de campo y arrástrelo hasta la posición apropiada con el puntero


de mano. El campo de nombre se ha trasladado delante del número de cliente.

Nota Puede ejecutar la consulta ahora, o en cualquier otro momento del proceso de diseño.
Tras ver los resultados, puede volver al modo diseño y ejecutar la consulta de nuevo en
caso necesario. Consulte la página 173.

180 Guía del usuario


crequer.dwu Page 181 Friday, September 1, 1995 4:37 PM

Especificación del orden de los registros


Cuando se abre una tabla o se visualizan registros en una vista, éstos aparecen en
orden natural, es decir, el orden en que se introdujeron. A veces conviene cambiar el
orden de los registros en una vista. Por ejemplo, puede que desee visualizar una lista de
direcciones por orden alfabético de apellido. En esta sección se explican dos métodos
para establecer el orden de los registros: el uso de los cuadros de ordenación de la
máscara y la especificación de un índice.
Nota Los cuadros de ordenación de la máscara de tabla constituyen el método más rápido
para definir el orden de los registros. Sin embargo, en algunos casos el uso de dichos
cuadros crea una vista de sólo lectura de los datos. Por tanto, es importante comprender
qué método debe emplearse para ordenar los registros. Si le interesa poder actualizar el
resultado de la consulta, vea “Ordenación frente a indexación” en la página 183.

Ordenación de registros mediante cuadros de ordenación


Para especificar el orden, apunte al cuadro de ordenación del campo que desea y
arrastre la selección hacia arriba o hacia abajo.
Figura 8.7 Uso del cuadro de ordenación en el campo Provincia
Cuadros de ordenación

Haga clic en un cuadro de


ordenación y arrastre para
seleccionar la opción
adecuada.
Este icono indica un campo clave (o indexado).

También puede seleccionar el orden mediante Tab o Mayús+Tab para desplazarse al


campo y luego F6. Con la tecla F6 se cambia sucesivamente de ningún orden a las
distintas opciones de ordenación.
Existen cuatro opciones de ordenación para los campos de carácter, tal como se muestra
en la siguiente figura. Otros tipos de campo, como los numéricos, sólo tienen orden
ascendente o descendente.
Figura 8.8 Opciones de orden de registros para campos de carácter

Orden ascendente (con distinción entre mayúsculas y minúsculas)


Orden descendente (con distinción entre mayúsculas y minúsculas)
Orden ascendente (sin distinción entre mayúsculas y minúsculas)
Orden descendente (sin distinción entre mayúsculas y minúsculas)
Orden natural o sin ordenar (valor por defecto)

Capítulo 8, Creación de consultas 181


crequer.dwu Page 182 Friday, September 1, 1995 4:37 PM

Para los campos de carácter, los dos tipos de ordenación son los siguientes:
• Cuando se distingue entre mayúsculas y minúsculas, todas las letras mayúsculas se
colocan antes que las minúsculas, por ejemplo Zorrillo aparece antes que águila.
También implica que JUAN aparece en una posición completamente distinta a Juan.
• Cuando no se distingue entre mayúsculas y minúsculas, se trata de una ordenación
de tipo diccionario. En este caso, se emplea el orden alfabético, independientemente
de las letras mayúsculas o minúsculas, de forma que águila aparece cerca del
principio y Zorrillo cerca del final, mientras que JUAN y juan se ordenan de forma
idéntica.

Uso de dos o más cuadros de ordenación


A menudo resulta útil ordenar registros basándose en más de un campo. Por ejemplo,
puede que desee ordenar el resultado por provincia, y en orden alfabético por nombre
dentro de cada provincia. Una manera de conseguirlo consiste en seleccionar las casillas
de verificación de dos o más campos, aunque así se genera una vista de sólo lectura
(consulte “Ordenación frente a indexación” en la página 183).
En este caso, el orden de los registros depende del orden de izquierda a derecha de los
campos en la máscara de tabla. Para ordenar según el campo Provincia en primer lugar
y luego por nombre, arrastre el campo Provincia a la izquierda del campo de nombre, tal
como se muestra en la figura.
Figura 8.9 Ordenación de registros según dos campos

El campo Provincia se ha arrastrado delante del campo Nombre para que la vista se ordene primero por provincia y
luego por nombre.
Quizá tenga que arrastrar un campo, desplazarse por la máscara y arrastrar el campo de nuevo a la posición adecuada.

En la vista resultante, los registros aparecen ordenados por provincia y luego por
nombre dentro de cada provincia. Si no quiere que la provincia aparezca antes de los
nombres en la vista resultante, puede recuperar el orden original arrastrando la cabecera
de campo en la ventana Resultado de la consulta.
Nota Utilice un índice complejo si desea ordenar los registros según dos o más campos sin
crear una vista de sólo lectura. Para obtener más información sobre los índices
complejos, consulte el Capítulo 4.

182 Guía del usuario


crequer.dwu Page 183 Friday, September 1, 1995 4:37 PM

Figura 8.10 Clientes ordenados por provincia y por nombre


Los registros están
ordenados por
provincia y luego por
nombre. El campo
Provincia se ha vuelto a
arrastrar a su posición
inicial detrás de Ciudad.

Ordenación frente a indexación


Cuando se emplean los cuadros de ordenación para cambiar el orden de los registros,
Visual dBASE establece el orden de una de dos maneras: utiliza un índice siempre que
puede, ya sea a partir de un índice existente o bien creando un índice temporal. Si no es
posible indexar, Visual dBASE usa el comando SORT. En la mayoría de los casos, es
preferible establecer el orden mediante un índice.
Nota Visual dBASE sólo puede crear y utilizar índices temporales con archivos .DBF.
Para todos los demás tipos, emplea un archivo ordenado cuando no es posible usar un
índice existente.
El principal inconveniente del comando SORT es que crea una vista de sólo lectura.
Ello se debe a que SORT copia los registros en una tabla temporal nueva y cambia su
orden natural en esa tabla. Posteriormente, la ventana Resultado de la consulta muestra
la nueva tabla ordenada en lugar de la original.
Dado que la vista no muestra la tabla original, sino una copia ordenada, no es posible
modificar los datos (en la barra de estado se indica que es de sólo lectura). Sólo se
pueden editar o añadir datos si la vista está en orden natural indexada, ya que en estos
casos la tabla original es la que aparece en la vista.
El comando SORT además es más lento que los índices.
Las siguientes normas determinan el método empleado para ordenar registros:
• Si no hay campos seleccionados, la tabla aparece en orden natural.
• Si sólo hay seleccionado un campo (o índice complejo) y la opción de orden
(ascendente o descendente con distinción entre mayúsculas y minúsculas) coincide
con un índice existente, se emplea el índice.
• Si sólo hay un campo seleccionado, la tabla es un archivo .DBF y la opción de orden
distingue entre mayúsculas y minúsculas, se crea y se utiliza un índice temporal.
• En caso contrario, se crea y emplea una tabla temporal ordenada, cuyo resultado no
puede actualizarse.
Por tanto, si pretende editar los datos seleccione un solo cuadro de ordenación, con
distinción entre mayúsculas y minúsculas si se trata de un campo de carácter.
Para ordenar registros según más de un campo o utilizar el orden de diccionario, puede
que le convenga crear un índice (consulte la siguiente sección).

Capítulo 8, Creación de consultas 183


crequer.dwu Page 184 Friday, September 1, 1995 4:37 PM

Ordenación de registros mediante un índice


Si piensa ejecutar una consulta con frecuencia o necesita una vista actualizable, puede
que tenga que crear un índice para evitar el uso del comando SORT (para obtener
información más detallada sobre los índices, consulte el Capítulo 4).
En los dos casos que se tratan en esta sección se emplea un índice complejo para ordenar
los registros por más de un campo, y se crea un índice que genera el mismo resultado
que el comando SORT con orden de diccionario. Ambos casos sólo hacen referencia a
tablas de dBASE.
Para crear un índice nuevo, elija Consulta|Mantenimiento de índices y haga clic sobre el
botón Nuevo en el cuadro de diálogo Mantenimiento de índices.

Creación de índices con distinción entre mayúsculas y minúsculas


Si elige en el cuadro de ordenación una de las opciones que no tienen en cuenta las
mayúsculas y minúsculas, la vista se crea con SORT, por lo que será de sólo lectura.
Si prefiere obtener el orden de diccionario sin activar el comando SORT, cree un índice
que emplee la función UPPER para convertir cada entrada a mayúsculas. La expresión
UPPER(NOMBRE) convierte el contenido del campo Nombre a mayúsculas. Si se
ordena con este índice, las palabras que tengan la misma ortografía aparecerán juntas
independientemente de las letras mayúsculas o minúsculas que contengan.
Introduzca la expresión en el cuadro Expresión clave de índice del cuadro de diálogo
Definir índice.
Figura 8.11 Indexación por el nombre de empresa en mayúsculas

Introduzca un nombre para el


índice…
…y la expresión.
Haga clic en el botón Utilidades
para obtener ayuda del Generador
de expresiones.

Al añadir el índice, se crea un campo nuevo con el nombre de la empresa en


mayúsculas, que aparece al final de la máscara de tabla. Siempre que ejecute esta
consulta, active o desactive este cuadro para utilizar o anular este orden. Sólo hay una
flecha de orden disponible en el cuadro para este campo, es la que sirve para especificar
el índice. Mientras no se seleccione el cuadro de ordenación para ningún otro campo, se
utiliza el índice y la vista resultante es editable.

184 Guía del usuario


crequer.dwu Page 185 Friday, September 1, 1995 4:37 PM

Figura 8.12 El campo indexado

Campo nuevo que


contiene el valor de índice.

Un índice complejo para orden multicampo


En la siguiente figura se muestra la expresión utilizada para crear el índice complejo
NBPROV. Este índice sirve para ordenar los registros por provincia y luego por nombre,
sin activar el comando SORT.
Figura 8.13 Creación de un índice complejo

Para este índice complejo, la expresión es


CLIENTES->PROVINCIA+CLIENTES->NOMBRE.
Los registros se ordenan primero según el campo Provincia, y luego por Nombre.

Tal como ocurre en la figura anterior, este índice crea un campo nuevo en la máscara de
tabla. Puede seleccionar el correspondiente cuadro de ordenación para utilizar este
índice (pero no active ningún otro cuadro de ordenación).

Visualización y ocultación de índices complejos


Puede decidir si desea ver los índices complejos en el Diseñador de consultas. Con éste
activo, elija Propiedades|Ventana del Diseñador de consultas. Marque la casilla
Mostrar índices complejos para mostrar los índices complejos, o desactívela para
ocultarlos.

Capítulo 8, Creación de consultas 185


crequer.dwu Page 186 Friday, September 1, 1995 4:37 PM

Filtrado de datos: selección de registros para su visualización


Introduzca condiciones de consulta en los campos para seleccionar sólo los registros que
las cumplan. Dado que este proceso selecciona algunos registros y omite otros según las
condiciones especificadas, se denomina filtrado de datos.
Teclee la condición en el espacio situado bajo el nombre de campo en la máscara
de tabla. Para las condiciones de consulta más complejas que emplean valores de
varios campos, utilice un cuadro Condiciones para introducir las condiciones
(vea la página 194).
Para introducir una condición, haga clic una vez en el espacio que hay bajo el nombre de
campo o utilice Tab o Mayús+Tab para desplazarse al campo apropiado. Teclee la
condición.
Figura 8.14 Selección de registros que cumplen una condición

Cuando se pulsa Intro, se comprueba la validez de la estructura y la sintaxis de la


condición. Si se encuentra un error, la condición se resalta y aparece un mensaje de
error.
Una vez introducida la condición, seleccione los campos que desee ver y haga clic sobre
el botón Ejecutar para iniciar la consulta. Visual dBASE utiliza las condiciones
especificadas para examinar la tabla y mostrar sólo los registros que cumplen los
criterios.
Figura 8.15 El resultado tras ejecutar la consulta de Figura 8.14

186 Guía del usuario


crequer.dwu Page 187 Friday, September 1, 1995 4:37 PM

Operadores relacionales
La condición especificada está regida por uno o más operadores. Si no se indica ninguno,
se emplea el operador =. La condición que aparece en la Figura 8.14 se podía haber
introducido con el formato =“FL”, pero el signo = es optativo.
La sintaxis de la condición de filtro es <operador relacional> <expresión>. Se utiliza uno de
los operadores relacionales de la siguiente tabla. Es posible emplear cualquier expresión
válida de dBASE, que suele ser un valor como un número o una fecha.
Tabla 8.1 Operadores relacionales utilizados en las consultas
Operador Descripción
> Mayor que
< Menor que
= Igual que
<> o # Distinto de
>= o => Mayor o igual que
<= o =< Menor o igual que
$ Contiene (o “está contenido en”)
Like Coincidencia de patrones

A continuación se ofrecen algunos ejemplos del uso de estos operadores:

Expresión Descripción
>={01/01/94} Fechas coincidentes con el 1 de enero de 1994 y posteriores.
>=”S” En los campos de carácter, localiza todos los registros que comienzan por “S” o
cualquier letra posterior, con distinción entre mayúsculas y minúsculas.
$ “Suministros” Registros que contienen “Suministros” en cualquier posición del campo
(consulte la nota que sigue a esta tabla).
<>“MA” Registros cuyo valor es distinto de “MA”.
Like “*Asociados” Registros que contienen texto terminado en la palabra “Asociados”
(el * es un carácter comodín; consulte la página 189).

Nota La sintaxis para utilizar $ en una condición de filtro de campo es distinta a la que se
emplea en las expresiones. En las condiciones de filtro de campo, el signo $ significa
“contiene” y la sintaxis sería $ ”Suministros”. En las expresiones, la sintaxis se invierte, y
el signo $ significa “está contenido en”, por ejemplo: “Suministros” $ <nombre_campo>.

Capítulo 8, Creación de consultas 187


crequer.dwu Page 188 Friday, September 1, 1995 4:37 PM

Requisitos de las condiciones de consulta


Algunos requisitos son aplicables cuando se emplean las condiciones de consulta con
determinados tipos de campo.

Carácter
Para consultar un campo de carácter, el texto debe ir entre comillas “ ”, apóstrofos ‘ ’ o
corchetes [ ]. Por ejemplo, para buscar todos los clientes de Teruel, teclee “TE”, ‘TE’ o
[TE] en el campo Provincia. Para localizar todos los nombres que siguen a García, hasta
el final del alfabeto, teclee la condición >“García” en el campo Nombre. Para buscar sólo
los campos vacíos, teclee las marcas sin nada en medio, por ejemplo ““. Para localizar
sólo los registros que no están vacíos, teclee <>””.

Numérico
Para introducir valores numéricos, tecléelos tal como se hayan almacenado, incluyendo
el separador decimal y el signo negativo, si hay.

Fecha
Para consultar un campo de fecha, éste debe ir entre llaves { }. Por ejemplo, para localizar
los registros con fecha posterior al 1 de enero de 1994, introduzca >{1/1/94} en el
campo apropiado. Para buscar todos los registros que carecen de fecha, introduzca
sólo las llaves vacías en el campo: { }. Para localizar los que sí tienen fecha, hay que
introducir <>{ } en el campo de fecha.

Lógico
Para consultar un campo lógico, utilice una de las siguientes expresiones (incluya los
puntos antes y después de la letra): .t., .T., .s., .S., para verdadero; .f., .F., .n., .N. para
falso. Por ejemplo, el campo Crédito de la tabla Cliente contiene los clientes de dicha
tabla que han recibido el visto bueno para disponer de un crédito. En la siguiente figura
se muestra una consulta que selecciona los clientes aprobados para el crédito.
Figura 8.16 Una consulta que emplea una condición lógica (verdadero/falso)

Selecciona los clientes


para los que CREDITO
es verdadero.

Memo
Para buscar texto en un campo memo, utilice el operador $. Por ejemplo, para localizar
todas las entradas de un campo memo que contienen el nombre Jacobo,
teclee $”Jacobo” en el campo memo.

188 Guía del usuario


crequer.dwu Page 189 Friday, September 1, 1995 4:37 PM

Uso de caracteres comodín


El operador Like permite buscar un patrón de caracteres. Puede utilizar caracteres
comodín para representar algunos de los caracteres del patrón como filtro; consulte la
tabla siguiente:

Carácter
comodín Descripción
* Un asterisco representa cualquier número de caracteres (o ninguno). Por ejemplo,
Like “G*” representa todas las palabras o cadenas que comienzan por “G” o la letra
“G” sola. Like “(617)*” en un campo de número de teléfono representa todos los
teléfonos que tienen el prefijo (617). Like “*out” representa todas las cadenas que
terminan en “out”.
? Un signo de interrogación representa un solo carácter. Por tanto, Like “J??n” coincide
con “Juan” y “Joan”, pero no con “Jon”.

Para emplear caracteres comodín, introdúzcalos en la cadena que use como filtro, tal
como se muestra en la siguiente figura. La cadena de búsqueda debe ir entre comillas.
En esta figura, Like “*Club” coincide con todos los registros que terminan en “Club”.
Figura 8.17 Uso de caracteres comodín para seleccionar registros

Like “*Club” usa el carácter


comodín * para representar
cualquier número de
caracteres que precedan
a “Club”.

El conjunto de registros
resultante sólo contiene
nombres que terminan
en “Club”.

Capítulo 8, Creación de consultas 189


crequer.dwu Page 190 Friday, September 1, 1995 4:37 PM

Condiciones AND y OR
A menudo necesitará seleccionar registros basándose en más de una condición.
Por ejemplo, puede que desee seleccionar los registros que cumplen todas o algunas de
las condiciones que especifique. Para estos casos, utilice las condiciones AND y OR.
• Las condiciones AND son dos o más condiciones, todas las cuales deben cumplirse
para que haya una coincidencia.
• Las condiciones OR son dos o más condiciones, cualquiera de las cuales puede
cumplirse para que se produzca una coincidencia.

Definición de condiciones AND


Las condiciones AND se introducen en una sola fila en el Diseñador de consultas.
En el ejemplo de la Figura 8.18 se seleccionan los registros que no son de Barcelona y
que tienen fecha de 1993 o posterior. Dado que las expresiones se encuentran en la
misma fila en el Diseñador de consultas, deben cumplirse tanto la primera condición
como la segunda para que se seleccione un registro.
Figura 8.18 Una consulta AND y la vista resultante

Deben cumplirse tanto la


primera condición AND como
la segunda para que se
seleccione un registro.

El conjunto de registros
resultante incluye los clientes
de fuera de Barcelona
contactados después
del 1/1/93.

Para seleccionar registros cuyo valor de campo se ajuste a un rango determinado,


introduzca las condiciones en una fila del mismo campo, separadas por una coma.
En la siguiente figura, la expresión de rango de fecha es >={1/1/92},<{1/1/93}.
Recuerde que las fechas deben ir entre llaves: { }.

190 Guía del usuario


crequer.dwu Page 191 Friday, September 1, 1995 4:37 PM

Figura 8.19 Especificación de un rango de fechas

Una coma separa las dos


partes del rango de fecha.

En este caso, la vista


resultante sólo muestra los
clientes contactados por
primera vez en 1992.

En este ejemplo se seleccionan los registros de los clientes contactados por primera vez
el 1/1/92 o posteriormente y antes del 1/1/93. Si desea restringir aún más la búsqueda
para incluir sólo los clientes de fuera de Barcelona, introduzca otra condición en la
misma fila de la máscara de tabla, tal como se muestra en la siguiente figura.
Figura 8.20 Varias condiciones AND

Recuerde que deben cumplirse todas las condiciones para que se seleccione un registro.
El cliente debe ser de fuera de Barcelona y se tiene que haber contactado el 1/1/92 o
posteriormente y antes del 1/1/93.

Capítulo 8, Creación de consultas 191


crequer.dwu Page 192 Friday, September 1, 1995 4:37 PM

Definición de condiciones OR
En algunos casos es preciso seleccionar los registros que cumplen cualquiera de varias
condiciones. Se produce una coincidencia si el registro cumple la primera condición o la
segunda (o cualquier otra, si hay más). Las condiciones OR deben introducirse en
distintas filas de la máscara de tabla.
En la siguiente figura se muestra una consulta que selecciona los clientes de Barcelona, o
de La Coruña, o cuyo número de cliente sea inferior a 1500. Se seleccionarán todos los
registros que cumplan al menos uno de estos criterios.
Figura 8.21 Condiciones OR introducidas en líneas distintas y la vista resultante

Pulse ↓ para añadir una fila a la ventana del Diseñador de consultas para cada condición
OR. Si crea una fila en blanco pero no introduce ninguna condición, la fila se eliminará
en cuanto pulse ↑ o al ejecutar o guardar la consulta.

192 Guía del usuario


crequer.dwu Page 193 Friday, September 1, 1995 4:37 PM

Combinación de condiciones AND y OR


Puede utilizar cualquier combinación de condiciones AND y OR en una consulta,
siempre que tenga sentido. Por ejemplo, en la Figura 8.22 aparece una consulta similar a
la anterior, salvo que sólo selecciona los registros que cumplen el siguiente criterio: el
cliente es de Barcelona y su número de cliente es superior a 3600, o es de Madrid con
cualquier número de cliente.
Figura 8.22 Condición AND aplicada a una de las condiciones OR y el resultado

La condición de número de cliente incluida en este ejemplo sólo se aplica a los clientes
de Barcelona, dado que se ha introducido en esa línea. Si desea aplicar dicha condición a
los registros de Madrid y Barcelona, deberá introducirla en ambas líneas, tal como se
muestra en la siguiente figura.
Figura 8.23 Condiciones AND en ambas condiciones OR y el resultado

Capítulo 8, Creación de consultas 193


crequer.dwu Page 194 Friday, September 1, 1995 4:37 PM

La consulta de la Figura 8.24 selecciona los registros de Barcelona comprendidos en un


rango de números de cliente, o los de Madrid de otro rango.
Figura 8.24 Combinación de condiciones AND y OR más rangos de valores y el resultado

Uso del cuadro Condiciones


El cuadro Condiciones proporciona aún más flexibilidad a la hora de introducir las
condiciones de consulta. Puede utilizarlo para filtrar datos basándose en comparaciones
de valores de campo. También permite combinar varias condiciones en una sola
expresión mediante la sintaxis de expresiones de dBASE (consulte el Capítulo 15).
Para abrir el cuadro Condiciones, elija Consulta|Añadir condiciones. Introduzca la
condición en el cuadro, a continuación ejecute la consulta. Si desea utilizar el Generador
de expresiones para crear la condición puede abrirlo con Ctrl+E o mediante el botón de la
Barra rápida.
Figura 8.25 Uso del cuadro Condiciones

Con esta condición se


seleccionan los registros no
enviados en los 10 días
posteriores a la fecha de venta.

Para introducir varias condiciones, pulse ↓ para añadir otra línea, tal como se muestra
en esta figura.

194 Guía del usuario


crequer.dwu Page 195 Friday, September 1, 1995 4:37 PM

Nota Dos líneas en el cuadro Condiciones generan una relación OR. Ello supone una
diferencia con respecto a dBASE IV, donde dos líneas en el cuadro Condiciones
establecen una relación AND.
Figura 8.26 Uso de dos líneas para crear una condición OR

Pulse ↓ para añadir una línea


al cuadro Condiciones para
añadir una segunda condición.
Tenga presente que la sintaxis
utilizada con el operador $ en
los cuadros Condiciones es
diferente de la que se emplea
en los campos. Para obtener
más información, consulte la
página 187.

En este ejemplo, si guarda la consulta y la vuelve a abrir, el cuadro Condiciones ya no


aparece. Si las condiciones especificadas pueden introducirse directamente en la
máscara de tabla, se guardan de la misma manera.
Figura 8.27 Las condiciones de la Figura 8.26 tal como se guardan en el archivo .QBE

No es posible almacenar otros tipos de condiciones en los campos de la máscara de


tabla. En la siguiente figura se muestra un cálculo para filtrar registros. En este caso, el
cuadro Condiciones es necesario y aparece al abrir el archivo .QBE.
Figura 8.28 Una condición que calcula un resultado verdadero/falso

Dado que el cuadro Condiciones acepta expresiones estándar de dBASE, puede


introducir condiciones de consulta complejas en la misma sentencia. Por ejemplo, en
lugar de crear distintas filas en la máscara de tabla o el cuadro Condiciones, puede
especificar varias condiciones AND y OR en una misma expresión.
Para suprimir las condiciones de la consulta, haga clic en cualquier punto del cuadro
Condiciones y, a continuación, sobre el botón Eliminar de la barra rápida, o elija
Consulta|Eliminar condiciones.

Capítulo 8, Creación de consultas 195


crequer.dwu Page 196 Friday, September 1, 1995 4:37 PM

Comparación de valores de campo


Puede introducir una expresión en un campo para comparar el valor del mismo con el
de un campo relacionado. Utilice el nombre de campo como variable en una sentencia
algebraica que represente el valor en cuestión. En la Figura 8.29 se muestra una consulta
de una tabla del mercado de valores que selecciona las acciones que hayan cerrado con
un precio que no varíe más de un uno por ciento con respecto al más alto del día.
La fórmula utilizada para filtrar el valor de CIERRE es >= PRECIO_MAX * 0.99.
Figura 8.29 Filtrado mediante un valor calculado

En la siguiente tabla se muestran los operadores aritméticos que pueden emplearse en


esta situación y en los campos calculados (consulte la siguiente sección).
Tabla 8.2 Operadores aritméticos
Operador Descripción
+ Adición
- Sustracción
* Multiplicación
/ División
** o ^ Exponenciación

196 Guía del usuario


crequer.dwu Page 197 Friday, September 1, 1995 4:37 PM

Creación de campos calculados


Puede crear un campo calculado para realizar un cálculo basado en uno o más campos y
visualizar el resultado. Para añadir un campo calculado, elija Consulta|Crear campo
calculado.
Los campos calculados sirven para aplicar un descuento o efectuar otras operaciones
aritméticas básicas.
Figura 8.30 Un campo calculado

Calcula una rebaja


multiplicando la cifra
VENTAS_AC por una
constante. No olvide
seleccionar el campo si
desea ver el resultado al
ejecutar la consulta.

El resultado aparece
como la última columna
de la vista.

Observe que el campo calculado tiene el nombre Descuento. Cuando se crea un campo
calculado, se le asigna el nombre Calc01 (o el siguiente número secuencial).
Para renombrarlo, haga clic sobre el nombre de campo en el Diseñador de consultas y
teclee un nombre apropiado.

Capítulo 8, Creación de consultas 197


crequer.dwu Page 198 Friday, September 1, 1995 4:37 PM

En la siguiente figura se emplean datos de dos campos para calcular el número de días
que deben transcurrir entre una venta y el envío del pedido.
Figura 8.31 Un cálculo que utiliza datos de dos campos

Esta expresión calcula


el número de días
transcurridos entre la
venta y el envío.

El tiempo de envío
aparece en la vista
resultante.

En una figura anterior, donde se calculaba el número de días entre una venta y su envío
(Figura 8.25), el resultado se utilizaba como filtro. Sin embargo, no era posible
visualizarlo, dado que la condición se introducía en el cuadro Condiciones y no creaba
ningún campo.
Además de visualizar el resultado, es fácil utilizarlo como filtro, como se observa en la
siguiente figura.
Figura 8.32 Adición de una condición de filtro al campo calculado y el resultado

Registros seleccionados
enviados pasados 10
días de la fecha del
pedido.

Dado que contienen información generada por Visual dBASE, los campos calculados
siempre son de sólo lectura.

198 Guía del usuario


crequer.dwu Page 199 Friday, September 1, 1995 4:37 PM

En la siguiente figura se muestra el uso de un campo calculado para combinar nombres


en un mismo campo con el formato Apellido, Nombre. En la expresión se recortan los
espacios finales que pueda tener el apellido y se añade una coma y un espacio seguido
del nombre.
Figura 8.33 Cálculo basado en campos de nombre

Para suprimir un campo calculado, haga clic sobre cualquier punto del cuadro Campo
calculado en el Diseñador de consultas y, a continuación, sobre el botón Eliminar, o elija
Consulta|Borrar campo calculado seleccionado.

Almacenamiento de consultas
Una vez que haya creado la consulta, puede guardarla y ejecutarla posteriormente.
Al guardar una consulta se crea un archivo .QBE, que contiene los comandos de dBASE
ejecutados con ella.
Para guardar una consulta como archivo .QBE:
1 Si ha ejecutado la consulta anteriormente, haga clic sobre el botón Diseñar para
cambiar al modo Diseñar consulta.
2 Elija Archivo|Guardar.
3 La primera vez que guarda la consulta o elige Guardar como, aparece un cuadro de
diálogo que solicita un nombre de archivo. Teclee un nombre y haga clic en Aceptar.
Si sale de Visual dBASE o cierra la ventana de consulta sin guardar, tiene una
oportunidad para hacerlo antes de salir.
Generalmente, es preferible guardar la propia consulta en lugar de sus resultados.
Si guarda la vista resultante, se crea una nueva tabla que duplica al menos algunos datos
de la tabla o tablas originales. Sin embargo, no se actualizan los datos de la tabla nueva
si se producen cambios en las tablas originales.
Si necesita guardar los datos resultantes de una consulta en forma de tabla, realice las
siguientes acciones:
1 Haga clic sobre el botón Diseñar de la barra rápida si no está en el modo diseño.
2 Elija Consulta|Copiar resultado en nueva tabla.

Capítulo 8, Creación de consultas 199


crequer.dwu Page 200 Friday, September 1, 1995 4:37 PM

Ejecución de consultas
Tras crear la consulta, ejecútela para crear una vista de los datos, que aparecerán
organizados y seleccionados tal como haya especificado. Si el resultado no es el que
esperaba, puede volver fácilmente al Diseñador de consultas, modificar la especificación
y volver a ejecutar la consulta.
Para ejecutar la consulta actual, haga clic sobre el botón Ejecutar de la barra rápida.
Figura 8.34 Una vista de la tabla Cliente después de ejecutar una consulta

Puede utilizar la ventana Resultado de la consulta de la misma manera que la ventana


Registros de tabla en el formato Browse. Puede trasladarse por el resultado con las
barras de desplazamiento o los botones de la barra rápida que permiten ir al registro
siguiente, anterior, etc. También puede cambiar a otro formato.
Además, puede emplear todas las funciones del cuadro de diálogo Propiedades de los
registros de tabla para restringir o controlar los datos introducidos en las tablas
mediante la definición de plantillas o con otros métodos (consulte el Capítulo 5).
Sin embargo, para las consultas que se van a utilizar como parte de una ficha, conviene
validar los datos y asignarles formato en la ficha para guardarlos de forma permanente
(consulte el Capítulo 12).
Puede editar la información en la vista o incluso añadir registros nuevos, a menos que la
vista sea de sólo lectura (consulte la página 183). Los cambios se almacenan
directamente en la tabla o tablas.
Nota Cuando se ejecuta una consulta, Visual dBASE cierra todas las tablas abiertas para
eliminar las tablas ordenadas e índices temporales y las tablas que se hayan suprimido
de la consulta. A continuación, vuelve a abrir las tablas empleadas en la consulta. Si el
parámetro Sesiones está activado, este proceso no afecta a las demás ventanas abiertas.

200 Guía del usuario


crequer.dwu Page 201 Friday, September 1, 1995 4:37 PM

Apertura de una consulta existente


Las consultas que se han guardado en disco aparecen como iconos en el panel Consultas
de la ventana de catálogo o del Selector de archivos.
Para abrir una consulta existente, localice el icono que la representa. Puede que tenga
que utilizar las barras de desplazamiento o cambiar el directorio actual. A continuación,
realice una de las siguientes acciones:
• Haga clic con el botón derecho sobre el icono de consulta y seleccione la acción
apropiada en el menú rápido.
• Haga clic sobre el icono y, a continuación, sobre el botón Ejecutar o Diseñar consulta
de la barra rápida.
• Haga doble clic sobre el icono de consulta para ejecutar la consulta y visualizar los
datos.
• Haga doble clic con el botón derecho sobre el icono para abrir la consulta en el modo
diseño.
También puede teclear MODIFY QUERY <nombre consulta> en la ventana de comandos.
En la mayoría de los casos, las consultas se modifican abriéndolas en el modo diseño y
realizando los cambios apropiados. Si lo prefiere, puede editar el archivo .QBE mediante
el Editor. Para ello, haga clic con el botón derecho sobre el icono de consulta y elija
Editar como programa en el menú rápido.
En la ventana de comandos, teclee MODIFY FILE <nombre archivo>.QBE para abrir el
archivo de consulta en el Editor de textos.

Límites de consulta
Las consultas están sujetas a los siguientes límites:
• El número de tablas utilizadas en una consulta no puede sobrepasar el número de
áreas de trabajo (255).
• El número de líneas incluidas en una condición está limitado por el hecho de que la
sentencia de filtro generada debe tener menos de 4K de caracteres.

Capítulo 8, Creación de consultas 201


crequer.dwu Page 202 Friday, September 1, 1995 4:37 PM

202 Guía del usuario


reltabl.dwu Page 203 Friday, September 1, 1995 4:40 PM

Capítulo

Creación de consultas multitabla


Capítulo 9
9
Para optimizar el rendimiento, las bases de datos complejas se almacenan en varias
tablas que pueden vincularse mediante campos comunes. Algunas ventajas de este
método son la minimización de la cantidad de información redundante y la facilidad
para actualizar los datos.
Para consultar una base de datos compuesta de varias tablas, ábralas y vincule los
campos comunes para definir la relación entre ellas. A continuación, especifique la
información que desea ver mediante las máscaras de tabla. Al ejecutar la consulta, los
resultados aparecen en una vista que permite trabajar con los datos casi como si
ocuparan una sola tabla. Las consultas también constituyen la base de fichas e informes.
En este capítulo se explican los procedimientos adecuados para relacionar varias tablas
en una consulta. Algunos de los temas tratados son:
• Apertura de varias tablas con el Diseñador de consultas
• Vinculación de las tablas
• Modificación de la relación
• Adición de un índice
Para obtener más información sobre el diseño de tablas vinculadas, consulte el
Capítulo 3. Consulte los Capítulos 10 a 14 para obtener información detallada sobre el
uso de fichas.

Capítulo 9, Creación de consultas multitabla 203


reltabl.dwu Page 204 Friday, September 1, 1995 4:40 PM

Apertura de varias tablas


Para crear una consulta multitabla, abra el Diseñador de consultas:
1 Elija Consultas en el Selector de archivos. Haga doble clic en el icono Sin título.
(O teclee CREATE QUERY en la ventana de comandos).
2 Aparece el cuadro de diálogo Abrir tabla necesario. Seleccione la primera tabla de la
consulta y haga clic en Aceptar.
En la ventana Diseñador de consultas aparece una máscara de tabla que muestra la
estructura de la tabla.
3 Utilice el botón Añadir tabla de la barra rápida o elija Consulta|Añadir tabla para
especificar más tablas.
Cada vez que se selecciona una tabla, se añade su máscara a la ventana del Diseñador
de consultas.
Figura 9.1 El Diseñador de consultas con tres máscaras de tabla

204 Guía del usuario


reltabl.dwu Page 205 Friday, September 1, 1995 4:40 PM

Creación del vínculo


Cuando haya abierto todas las tablas en el Diseñador de consultas, establezca una
relación entre ellas identificando el campo común que servirá como vínculo entre cada
par de tablas. La tabla desde la que se crea el vínculo se denomina tabla principal y la
tabla con la que se vincula es la tabla secundaria.
Se suele elegir como tabla principal la que debe determinar el orden de los registros.
Una vez seleccionado un registro de la tabla principal, se puede acceder a los registros
de la tabla secundaria.
Nota El campo de la tabla secundaria que se emplee como vínculo estar indexado.
Si es preciso, puede indexar un campo mediante el cuadro de diálogo Definir vínculo.
Consulte la página 212.
Puede establecer el vínculo arrastrando el icono que representa la tabla principal hasta
el icono de la tabla secundaria. Cuando se desplaza el puntero sobre el icono de la tabla,
aparece el puntero especial de creación de vínculo. En la siguiente figura el puntero se
arrastra desde la tabla Cliente hasta la tabla Pedidos.
Figura 9.2 Arrastre para establecer un vínculo

Arrastre el puntero de
creación de vínculo
desde el icono de la
tabla principal hasta el
de la tabla secundaria.

Otro método para establecer un vínculo consiste en hacer clic en la tabla principal y, a
continuación, en el botón Definir relación de la barra rápida. También puede elegir
Consulta|Definir relación.

Capítulo 9, Creación de consultas multitabla 205


reltabl.dwu Page 206 Friday, September 1, 1995 4:40 PM

Adición de las especificaciones del vínculo


Una vez que indica las tablas que deben vincularse, se abre el cuadro de diálogo
Definir relación, donde se especifican los campos que deben vincularse y la naturaleza
de la relación.
Figura 9.3 Cuadro de diálogo Definir relación

1. Especifique
la tabla 3. Especifique la tabla
principal. secundaria.
4. Especifique el campo.
2. Seleccione el Sólo pueden
campo que vincularse campos
servirá de indexados de la tabla
vínculo. secundaria.

Visual dBASE intenta identificar automáticamente el campo que se vincula. Utilice las
listas de selección si desea especificar otro campo.
La relación que se define entre las tablas se muestra en las máscaras del Diseñador de
consultas. En la siguiente figura se ha creado un vínculo entre las tablas Cliente
(la principal) y Pedidos, basado en el campo de número de cliente (Num_cli).
Otro vínculo une Pedidos como tabla principal con Elemento mediante el campo
Num_ped.
Figura 9.4 Máscaras de tabla tras establecerse el vínculo

Las tablas secundarias


aparecen sangradas y
conectadas a la
principal con flechas.

Tras crear el vínculo, puede seleccionar los campos, introducir condiciones de filtro, etc.
de la misma manera que con las consultas monotabla (consulte el Capítulo 8).
Para ejecutar la consulta, haga clic en el botón Ejecutar.

206 Guía del usuario


reltabl.dwu Page 207 Friday, September 1, 1995 4:40 PM

Figura 9.5 La consulta y la vista resultante


Los campos que
deben aparecer se
seleccionan en las
máscaras.

Los datos de los


campos
seleccionados en
las tres tablas
aparecen en la
vista.

Nota Si emplea uno de los cuadros de orden de la tabla secundaria para ordenar los registros,
la vista Resultado de la consulta será de sólo lectura.

Capítulo 9, Creación de consultas multitabla 207


reltabl.dwu Page 208 Friday, September 1, 1995 4:40 PM

Relaciones de valores únicos y múltiples


En la ventana Resultado de la consulta del ejemplo (Figura 9.5) se muestra la naturaleza
de las relaciones entre los registros de cada una de las tablas vinculadas. En este caso
Pedidos es una tabla secundaria de Cliente, y Elemento es una tabla secundaria de
Pedidos.
Cada registro de la tabla Cliente corresponde a uno o más registros de Pedidos, y cada
pedido abarca a su vez uno o más pedidos de Elemento. Es decir, cada cliente puede
tener uno o más pedidos, por lo que esta relación es de valores múltiples. Los pedidos
están compuestos de uno o más elementos, identificados por su número de existencia, lo
cual también supone una relación de valores múltiples.
En otras circunstancias, las relaciones pueden ser de valores únicos. Un caso de este tipo
podría ser una consulta que relacionase los invitados a una función con sus números de
asiento. Cada persona tiene asignado un único asiento, y cada asiento corresponde a
una sola persona.
En general, se presupone que existe una relación de valores múltiples entre dos archivos
vinculados. Cada instancia del valor X en el campo vinculado del archivo A se relaciona
con cada instancia de X en el archivo B, en todas las combinaciones posibles. Si el
archivo A tiene tres registros que contienen X en el campo vinculado y el archivo B tiene
cuatro registros que también lo contienen, la vista resultante contendrá 12 registros con
el valor X.
Un ejemplo de una relación de valores múltiples puede ser una tabla de vendedores
vinculada con una tabla de cuentas de clientes. Cada vendedor puede atender a más de
un cliente, y varios vendedores pueden encargarse de las cuentas grandes.

208 Guía del usuario


reltabl.dwu Page 209 Friday, September 1, 1995 4:40 PM

Opciones de vinculación
Tres opciones del cuadro de diálogo Definir vínculo afectan a los registros que aparecen
en la vista. Para cambiar estas opciones, haga clic una vez en la tabla secundaria y
seleccione Consulta|Modificar relación.

Todos los principales


La casilla de verificación Todos los principales especifica que cada registro de la tabla
principal debe aparecer en la vista, aunque no coincida con ningún registro de la tabla
secundaria. Si no se selecciona esta casilla, sólo aparecerán aquellos registros de la tabla
principal que coincidan con algún registro de la secundaria.
Si no se selecciona este botón, se genera un comando SET FILTER TO FOUND() en el
área secundaria, de forma que sólo aparecen en la vista los registros de la tabla principal
que tengan secundarios. Para obtener más información, consulte SET FILTER en la
Ayuda en línea.

Uno con muchos


Uno con muchos especifica si en la vista deben aparecer todos los registros de la tabla
secundaria que coincidan con la principal en el campo vinculado, o sólo el primero.
Cuando se selecciona esta opción, se incluyen todos los registros de la tabla secundaria
que coincidan con cada uno de la tabla principal. En caso contrario, sólo se incluye el
primero.
Cuando Uno con muchos está seleccionado, Visual dBASE restringe automáticamente la
vista de una tabla secundaria para que sólo incluya registros correspondientes a la tabla
principal seleccionada. Por ejemplo, supongamos que una ficha se basa en una consulta
en la que Nb_dep es un campo de la tabla principal y Empleado es un campo de la tabla
secundaria. Pretendemos especificar un nombre de departamento en la ficha para
visualizar sólo los empleados de ese departamento.
La selección de esta casilla añade el comando SET SKIP al código generado y la palabra
clave CONSTRAIN a la sentencia SET RELATION. Para más detalles, consulte
SET SKIP y SET RELATION en la Ayuda en línea.

Capítulo 9, Creación de consultas multitabla 209


reltabl.dwu Page 210 Friday, September 1, 1995 4:40 PM

Figura 9.6 Una consulta de valores únicos

Desactive la casilla Uno con muchos

Al ejecutar la consulta, cada


pedido se representa
mediante un solo registro con
datos del primer
ELEMENTO del pedido
(compare con la Figura 9.5).

Forzar integridad
La opción Forzar integridad determina lo que ocurre si se inicia una acción que
interfiere con las relaciones entre tablas principales y secundarias (para tablas de dBASE
solamente); por ejemplo, un intento de suprimir un registro de la tabla principal que
corresponde a registros de la tabla secundaria. Si esta opción está seleccionada, aparece
un cuadro de diálogo que permite borrar en cascada, es decir, eliminar el registro
principal y todos sus secundarios. En caso contrario, la supresión del registro principal
no afecta a los secundarios.
La otra situación afectada por este parámetro es la adición de un registro secundario,
que recibe automáticamente el valor clave del registro principal actual, valor que es de
sólo lectura. De esta manera se impide la creación de registros secundarios “huérfanos”
no vinculados a ningún registro principal.
Nota Este valor no afecta a la supresión de registros secundarios. Siempre que no tengan a su
vez registros secundarios sometidos a las normas de integridad, los registros
secundarios pueden eliminarse a voluntad.
Cuando se selecciona esta casilla se añade la palabra clave INTEGRITY al comando
SET RELATION generado. Para obtener más información, consulte SET RELATION en
la Ayuda en línea.

210 Guía del usuario


reltabl.dwu Page 211 Friday, September 1, 1995 4:40 PM

Estructuras de consulta alternativas


La estructura principal-secundaria de las tablas de ejemplo descritas anteriormente
(Figura 9.4) resulta útil para utilizar datos organizados por cliente. Por ejemplo, para
obtener información sobre las fechas de los pedidos de cada cliente y los artículos
solicitados.
Las mismas tablas pueden vincularse de otra manera con otros fines, por ejemplo para
trabajar con información basada en los pedidos recibidos. En este caso, la tabla Pedidos
sería la principal, mientras que Cliente y Elemento serían las secundarias.
Figura 9.7 Tablas vinculadas con PEDIDOS como tabla principal

Una ficha basada en esta consulta facilitaría la introducción de pedidos realizados por
clientes existentes. Los campos de entrada de la ficha permitirían añadir detalles sobre el
pedido actual, recogiendo información sobre el cliente y los productos de ambas tablas
secundarias.
Esta estructura también resultaría útil para generar información sobre el número de
pedidos recibidos y los productos solicitados. Si no hiciera falta información específica
sobre el cliente, la tabla Cliente se omitiría de la consulta.

Modificación o eliminación de una relación


Si desea cambiar una relación existente, haga clic en la tabla secundaria y seleccione
Consulta|Modificar relación. En el cuadro de diálogo Definir relación, puede modificar
los parámetros que desee.
Para suprimir una relación, haga clic en cualquier punto de la tabla secundaria y elija
Eliminar relación o haga clic sobre el botón Eliminar relación de la barra rápida.

Capítulo 9, Creación de consultas multitabla 211


reltabl.dwu Page 212 Friday, September 1, 1995 4:40 PM

Adición de un índice a la tabla secundaria


Para vincular dos tablas hay que utilizar un campo indexado de la tabla secundaria.
Para añadir un índice, haga clic en cualquier punto de la tabla secundaria y elija
Consulta|Modificar relación. En el cuadro de diálogo Definir relación, haga clic en el
botón Añadir índice. Para obtener información detallada sobre los índices, consulte el
Capítulo 4.
Figura 9.8 El botón Añadir índice abre el cuadro de diálogo Definir índice

1. Haga clic en Añadir índice para crear


un índice para la tabla secundaria.

Puede introducir opciones de ámbito y


orden.

2. Introduzca el nombre
de índice y expresión
clave.

212 Guía del usuario


reltabl.dwu Page 213 Friday, September 1, 1995 4:40 PM

Introducción de una expresión principal


Puede crear una expresión que defina la relación entre las tablas seleccionadas, en lugar
de basarla en un solo valor de campo elegido en la lista.
Introduzca la expresión en el cuadro de texto Expresión principal. Si desea emplear el
Generador de expresiones para crear una expresión válida de dBASE, haga clic en su
botón a la derecha del cuadro de texto.
Esta función sirve para vincular tablas cuyos datos están estructurados de manera
diferente. Por ejemplo, supongamos que en una tabla las dos primeras cifras de un
número de pieza contienen un código de fábrica, y otra tabla incluye un campo con este
código. Para vincular estas dos tablas, utilice una expresión como LEFT(NUM_PIE,2).
La expresión principal también sirve para convertir tipos de datos. Por ejemplo,
supongamos que un campo de código postal es numérico en una tabla y de caracteres en
la otra. Puede utilizar una expresión como STR(COD_POST) para convertir la versión
numérica en caracteres.

Capítulo 9, Creación de consultas multitabla 213


reltabl.dwu Page 214 Friday, September 1, 1995 4:40 PM

214 Guía del usuario


p_forms.dwu Page 215 Friday, September 1, 1995 4:41 PM

Parte

IV
Fichas
Parte IV

Las fichas representan la última etapa en la construcción de una aplicación.


Puede utilizarlas para crear un interface de usuario completo de Windows donde
trabajar con los datos de las tablas.
En esta parte aprenderá los conceptos relativos a las fichas, las utilidades que va a
emplear y algunas técnicas para ello, la forma de crear y asignar formato a los objetos, y
cómo diseñar menús. Todos estos procesos se reúnen en el último capítulo, donde se
reproduce el proceso de construcción completo de una ficha de ejemplo.
Utilice estos capítulos junto con la Ayuda en línea y la Guía del programador. La Ayuda en
línea contiene ejemplos visuales de los conceptos aquí expuestos, así como amplia
información de consulta y tareas. Por su parte, la Guía del programador cuenta tanto con
secciones elementales como avanzadas donde se trata la construcción de un interface de
usuario completo para una aplicación compleja.
• Capítulo 10, “Diseño de fichas”
• Capítulo 11, “Herramientas y técnicas del Diseñador de fichas”
• Capítulo 12, “Creación de fichas”
• Capítulo 13, “Creación de menús, botones y barras rápidas”
• Capítulo 14, “Creación de una ficha de ejemplo”

Parte IV, Fichas 215


p_forms.dwu Page 216 Friday, September 1, 1995 4:41 PM

216 Guía del usuario


desform.dwu Page 217 Friday, September 1, 1995 4:42 PM

Capítulo

10
Diseño de fichas
Capítulo 10

Las fichas muestran mensajes y datos, responden a las entradas del usuario y ofrecen
elementos interactivos como menús, botones y barras de desplazamiento. Puede crear
simples fichas de entrada de datos basadas en una o varias tablas, o bien utilizarlas para
crear un interface completo de usuario para aplicaciones complejas.
El Experto de fichas simplifica el diseño. Puede utilizarlo para crear una ficha final
rápidamente o un borrador que puede editar en el Diseñador de fichas.
Este capítulo es una introducción a los conceptos básicos de las fichas, incluidos
objetos y propiedades. También contiene algunas líneas maestras para el diseño de las
fichas y la descripción de los tipos de objetos disponibles en el Diseñador de fichas.

Capítulo 10, Diseño de fichas 217


desform.dwu Page 218 Friday, September 1, 1995 4:42 PM

Acerca de las fichas


El Diseñador de fichas y sus herramientas permiten crear fichas de manera rápida y
eficaz. Se trabaja de forma visual, haciendo clic y arrastrando objetos dentro de un
interface gráfico. Se necesitan muy pocos códigos, en ocasiones ninguno.
Al crear una ficha se empieza en una ventana vacía, a veces denominada objeto de ficha.
En ella se seleccionan y colocan objetos como campos de entrada, cuadros de lista y
casillas de verificación. Visual dBASE ofrece muchos de los objetos estándar de
Windows, también denominados controles. Además puede crear controles
personalizados y utilizar los controles VBX compatibles con Microsoft Visual Basic 1.0.
Una vez creado el interface de usuario básico se definen las propiedades de los objetos
(la ficha y los controles), las cuales determinan los atributos de éstos, como tamaño,
posición o color.
Además de estas propiedades, los objetos tienen otras que regulan su comportamiento,
denominadas propiedades de sucesos. Por ejemplo, un botón hace algo al pulsarlo.
El usuario, al diseñar la ficha, escribe y asigna un código a la propiedad de suceso del
botón para que ejecute una determinada acción. No obstante, las propiedades de
sucesos y la programación son temas muy avanzados para el propósito de este libro.
Si desea iniciarse en la programación visual, consulte la Guía del programador.
Se denomina controles a los objetos que se colocan en las fichas al diseñarlas con dBASE.
En el Diseñador de fichas hay una paleta de controles con controles estándar. Además
puede crear controles personalizados y utilizar los controles VBX compatibles con
Microsoft Visual Basic 1.0.
Con Visual dBASE, puede crear la ficha y después vincular a sus controles los campos de
una tabla. Puede diseñar la ficha de forma que muestre un registro o varios a la vez.
Si tiene tablas vinculadas, puede diseñar una ficha que presente la información
recuperada de varias tablas como si procediese de una sola.
Cuando se ejecuta una ficha, todos los datos asociados a ella (como los registros de la
tabla) aparecen disponibles para visualizarlos o editarlos. También se activan los
controles para que los usuarios puedan manipular la ficha y los datos.

218 Guía del usuario


desform.dwu Page 219 Friday, September 1, 1995 4:42 PM

La figura siguiente muestra una ficha en el Diseñador de fichas.


Figura 10.1 Una ficha en el Diseñador de fichas

La paleta de
controles contiene
los controles que
se colocan en la
Las propiedades ficha.
del objeto elegido
se definen con el
Inspector®.

La ficha en sí La paleta de campos


es un objeto. contiene controles de
campo adicionales que se
colocan en la ficha.

En estos capítulos se tratan las fichas en tres contextos:


• Como documento general de introducción de datos en pantalla.
• Como ventana que puede contener controles de un interface de usuario, tales como
campos de entrada y botones.
• Como objeto al que se pueden asignar propiedades.

Archivos de ficha (.WFM)


Al crear una ficha en el Diseñador de fichas, las acciones realizadas en el IU se traducen
a código dBASE. Cuando se guarda la ficha, el Diseñador de fichas genera el código
dBASE que define la ficha y sus objetos. Las fichas se guardan como archivos de texto
con la extensión por defecto .WFM (Windows ForM).
Las fichas se pueden abrir en el Diseñador de fichas para modificarlas con sus
herramientas interactivas. Al volverlas a guardar se almacenan los cambios en
el archivo .WFM.
El código se organiza de forma específica en el archivo .WFM. El Editor de
procedimientos ofrece opciones que facilitan al usuario esta organización.
Para obtener una explicación detallada de los archivos de ficha, consulte la
Guía del programador.

Capítulo 10, Diseño de fichas 219


desform.dwu Page 220 Friday, September 1, 1995 4:42 PM

Archivos binarios de fichas VBX (.BFM)


Si utiliza en las fichas controles VBX, el Diseñador de fichas guarda la información
binaria de éstos en un archivo binario con el mismo nombre que la ficha, más la
extensión .BFM. Para obtener información sobre el uso de controles VBX en
Visual dBASE, vea el Capítulo 11.

Líneas maestras del diseño de fichas


El proceso de diseño de fichas conlleva la determinación de las necesidades de la
aplicación, la identificación de los datos con los que se desea trabajar y el desarrollo del
diseño que mejor se adapte a las necesidades concretas. En esta sección se detalla todo
este proceso.

Objetivo del diseño de fichas


El objetivo del diseño de fichas es mostrar y obtener la información necesaria de forma
accesible y eficaz. La ficha debe encapsular los datos para que pueda ejecutarse sin
afectar a otras fichas que utilicen la misma información, lo cual es fácil con
Visual dBASE.
Es importante que su diseño proporcione a los usuarios la información que necesiten y
que les transmita claramente lo que deben hacer para realizar una tarea. Una ficha bien
diseñada debe tener una presentación atractiva que motive al usuario a utilizar la
aplicación, empleando de forma eficaz el menor espacio posible en la pantalla.

Finalidad de las fichas


Una aplicación puede tener muchas, una o ninguna ficha. Cada ficha debe tener una
finalidad clara y concreta, que suele ser una de las siguientes:
• Las fichas de entrada de datos proporcionan acceso a la información de una o varias
tablas. Permiten a los usuarios recuperar, visualizar y modificar los datos
almacenados en las tablas.
• Los cuadros de diálogo muestran mensajes de estado o solicitan al usuario que
introduzca información o tome una decisión antes de continuar con una tarea.
Un elemento típico de los cuadros de diálogo es el botón Aceptar que pulsan los
usuarios para procesar las opciones seleccionadas.
• Las ventanas de aplicación contienen una aplicación completa que los usuarios
pueden iniciar por medio de un icono del Administrador de programas de Windows.
La finalidad de una ficha debe poder expresarse con una sola frase. Si una ficha tiene
varios fines, quizá sea conveniente crear una ficha para cada uno de ellos.

220 Guía del usuario


desform.dwu Page 221 Friday, September 1, 1995 4:42 PM

Diseño de fichas de entrada de datos


Las fichas de entrada de datos tienen controles que vinculan los datos de las tablas y
gestionan las tareas comunes de entrada de datos.

Identificación de la información que se va a utilizar


Al diseñar una ficha de entrada de datos, debe identificarse la información que se desea
ver o modificar. Tenga en cuenta los siguientes aspectos:
• Tipo de información que utilizarán normalmente los usuarios y por qué razón.
Por ejemplo, quizá los usuarios deseen modificar los datos de un cliente, introducir
pedidos o cambiar el precio de los artículos.
• Dónde se encuentra esta información (una o varias tablas). Por ejemplo, para
modificar los datos de un cliente sólo se necesita la tabla Cliente, mientras que para
cambiar la información de un pedido se necesitan las tablas Pedidos y Elemento.
Si los datos se encuentran en varias tablas o desea incluir registros específicos, utilice
una consulta que defina las relaciones entre las tablas. Asegúrese de utilizar las
opciones de vinculación que necesite. Para obtener información, consulte el
Capítulo 6.
• Información que necesitan los usuarios (toda la tabla o sólo parte de ella).
Cuando trabaje con una parte de los datos de la tabla, utilice una consulta que
seleccione los registros y campos adecuados.
• Orden en que los usuarios quieren que aparezcan los registros. Por ejemplo, quizá los
usuarios deseen ver los datos de los clientes por orden alfabético, cronológico
(orden de introducción de los datos) o por número de cliente. Utilice una consulta
con un índice que ordene los registros de la forma apropiada. Para obtener
información sobre los índices, consulte el Capítulo 2.

Identificación de las tareas que se han de realizar


Identifique las tareas que los usuarios necesiten realizar para trabajar con los datos de la
ficha. Entre las tareas típicas de entrada de datos se incluyen las siguientes:
• Desplazamiento por los registros de la tabla, pasando a registros anteriores y
posteriores o directamente al primero y al último.
• Adición y eliminación de registros.
• Cambio de los datos de los registros.
• Almacenamiento y cancelación de cambios.
Puede crear menús y botones, incluso en la barra rápida, que los usuarios puedan
utilizar para iniciar las tareas. En el Capítulo 10 aprenderá a crear menús.

Capítulo 10, Diseño de fichas 221


desform.dwu Page 222 Friday, September 1, 1995 4:42 PM

Determinación de la finalidad de cada elemento de datos


Identifique cada uno de los campos que desee utilizar y determine su finalidad
específica dentro de la ficha. Una vez hecho esto, tenga en cuenta los siguientes factores
para cada campo:
• Permiso a los usuarios para cambiar el contenido de los campos. Por ejemplo, quizá
desee que los usuarios vean el número de cliente pero no que lo cambien, sobre todo
si existen registros secundarios en la tabla Pedidos.
• Definición de entradas válidas para los campos. Al diseñar una ficha se pueden
establecer criterios de validación campo por campo. Tenga en cuenta los siguientes
puntos al decidir los criterios que necesita.
• Obligatoriedad de introducir datos en un campo o posibilidad de dejarlo en
blanco. Por ejemplo, quizá desee que todos los clientes tengan asignado un
número de cliente, pero que pueda omitirse el número de fax.
• Posibilidad de introducir entradas duplicadas. Por ejemplo, quizá desee evitar que
los usuarios introduzcan números de cliente repetidos, pero sí que los códigos
postales aparezcan más de una vez.
• Necesidad de que los datos estén comprendidos en un determinado rango.
Por ejemplo, quizá desee que una fecha de venta corresponda a este año natural o
que un porcentaje se encuentre entre 0 y 100.
• Necesidad de que los datos aparezcan en un formato fijo y concreto, como por
ejemplo un número de teléfono.
• Limitación de las entradas válidas a una lista de valores. Por ejemplo, la forma de
pago de un pedido puede estar limitada a uno de estos valores: metálico, cheque,
orden de pago o tarjeta de crédito.
• En caso de que no se limiten las entradas a una lista de valores, posibilidad de
identificar y sugerir una serie de valores frecuentes para acelerar la introducción de
datos. Por ejemplo, en una ficha de pedido puede proporcionar una relación de las
empresas de transportes que más se utilizan, pero permitiendo a los usuarios que
introduzcan otras que no estén en la lista.

222 Guía del usuario


desform.dwu Page 223 Friday, September 1, 1995 4:42 PM

Identificación de los controles que se van a utilizar


Puede vincular campos de una tabla con controles de una ficha. Por defecto, todos los
tipos de campo de dBASE están asociados a un tipo de control específico. Por ejemplo,
los campos numéricos utilizan por defecto controles de cuadro de incremento. Puede
crear su propio conjunto de valores por defecto mediante la asociación de nuevos tipos
de control a los diferentes tipos de campo en la paleta Campo.
Consulte “La paleta de campos” en la página 235.
A continuación se indican algunas convenciones habituales en los tipos de control:
• Los campos de carácter suelen utilizar campos de entrada, cuadros de lista, cuadros
combinados o botones de radio.
• Los campos numéricos y de coma flotante suelen utilizar campos de entrada,
cuadros de incremento o barras de desplazamiento.
• Los campos de fecha suelen utilizar campos de entrada o cuadros de incremento.
• Los campos lógicos suelen utilizar casillas de verificación.
• Los campos memo suelen utilizar controles de edición.
• Los campos binarios suelen utilizar controles de imagen para presentar ésta.
• Los campos OLE sólo utilizan controles OLE para albergar el documento vinculado
que los usuarios pueden iniciar cuando ejecuten la ficha.
Es posible utilizar un objeto Browse (que permite ver o editar los registros de una tabla)
para simular una sesión en la ventana Registros de tabla. Esto resulta muy útil para
gestionar registros secundarios en fichas multitabla cuyas tablas tengan relaciones de
valores múltiples.
Si puede elegir entre varios controles, decida cuál de ellos hará que la introducción de
datos sea más fácil y eficaz. Por ejemplo, para el campo NOMBRE de la tabla Cliente
puede utilizar un campo de entrada. Sin embargo, para el campo PROVINCIA podría
resultar más adecuado un cuadro de lista que permita a los usuarios seleccionar una
provincia válida. Para obtener más información sobre cada control, consulte el
Capítulo 8.

Capítulo 10, Diseño de fichas 223


desform.dwu Page 224 Friday, September 1, 1995 4:42 PM

Diseño del formato de la ficha


Puede situar los controles en cualquier parte de la ficha. Sin embargo, el formato elegido
determina el acierto con el que los usuarios podrán introducir datos mediante la ficha.
Aunque un estudio detallado de las técnicas de diseño de fichas está más allá del ámbito
de este libro, sí queremos exponer algunos puntos que deben tenerse en cuenta:
• Para empezar el diseño puede partir de una ficha de papel, como una factura
impresa. No obstante, recuerde que una buena presentación en papel puede no
traducirse de forma similar en pantalla.
• Si la ficha impresa contiene demasiada información para una sola pantalla, procure
crear una ficha principal con varias fichas opcionales más pequeñas, que los usuarios
puedan visualizar a discreción, o bien utilizar una ficha con varias páginas. Por lo
general, los usuarios producen más si trabajan con una pantalla clara y ordenada.
• Los usuarios examinan una pantalla de la misma forma que leen una página de un
libro: de izquierda a derecha y de arriba a abajo. En general, debe colocarse la
información obligatoria, o la que se utiliza con más frecuencia, en la parte superior
izquierda de la ficha de entrada de datos, mientras que la información opcional o
raramente utilizada puede ocupar la parte inferior derecha. Por ejemplo, en una ficha
para introducir datos de clientes, el nombre y el número del cliente estarían mejor
situados cerca de la esquina superior izquierda, mientras que la firma puede aparecer
abajo a la derecha.
• Los usuarios tienden a introducir los datos de izquierda a derecha y de arriba a abajo.
Sitúe los controles en la secuencia en que los usuarios suelen introducir los datos.
Por ejemplo, al introducir una dirección, los usuarios esperan que los campos
DIRECCION, CIUDAD, PROVINCIA y COD_POSTAL aparezcan en ese orden.
• Agrupe la información similar o relacionada y emplee efectos visuales para destacar
dicho agrupamiento. Por ejemplo, defina grupos distintos para las direcciones social
y administrativa de una empresa. Para destacar estos grupos, incluya sus controles
en zonas bien visibles, utilizando rectángulos, líneas, alineación y colores.
• Dentro de una ficha, la tecla Tab desplaza el cursor de un control a otro. Piense en el
orden en que los usuarios se desplazarán con el tabulador por los controles de la
ficha. El patrón básico es de izquierda a derecha y de arriba a abajo. No obstante,
quizá desee que los usuarios puedan pasar de un grupo de controles al principio de
otro grupo, saltándose los controles aislados.
• Si la ficha debe contener varios campos o controles, puede utilizar una ficha de varias
páginas. Divida los controles en grupos relacionados y presente cada grupo en una
página independiente. Añada un control Cuadro de solapas y defina sus propiedades
para crear solapas de página y asignar un nombre a las páginas.
• Las opciones de Formato |Definir formato permiten elegir entre una variedad de
combinaciones de fuentes y color predefinidas. Puede realizar pruebas con estos
formatos hasta encontrar el que necesita.

224 Guía del usuario


desform.dwu Page 225 Friday, September 1, 1995 4:42 PM

Líneas maestras del uso de fuentes


Para los objetos de texto y las etiquetas de los controles de una ficha, puede utilizar
cualquiera de las fuentes de Windows instaladas en su sistema. No obstante, las
siguientes líneas maestras pueden ayudarle a emplear las fuentes para transmitir la
información de la mejor forma posible.
• Utilice fuentes comunes en lugar de otras más específicas que los usuarios podrían no
tener instaladas en sus máquinas.
• Utilice fuentes sans serif para facilitar la lectura de la pantalla.
• Utilice negrita para las etiquetas de los controles, con lo que permanecerán legibles
incluso cuando los controles estén atenuados.
• Utilice las fuentes de forma coherente dentro de cada ficha, e incluso entre todas la
fichas de una aplicación. Por ejemplo, todos los controles de casillas de verificación
deben utilizar la misma fuente. La coherencia aporta seguridad a los usuarios.
• Utilice los distintos estilos y colores de forma equilibrada. Demasiadas variaciones
pueden distraer la atención.
• Para resaltar un texto, aumente el tamaño de su fuente con relación a otras palabras
de la ficha o utilice un color que contraste. Procure no utilizar subrayados ni
tachados, ya que son más difíciles de leer en pantalla y pueden llevar a confusión.
• Las opciones de Formato|Definir formato permiten elegir entre una variedad de
combinaciones de fuete y color predefinidas.

Líneas maestras del uso de colores


Puede utilizar colores en todos los objetos de una ficha para mejorar su presentación.
Las siguientes líneas maestras pueden ayudarle a utilizar los colores para transmitir la
información de la mejor forma posible.
• Puede usar colores iguales o parecidos para representar la información relacionada.
Por ejemplo, toda la información relativa al domicilio social de una empresa puede
tener el mismo color. Emplee colores distintos o que contrasten para distinguir
grupos de información entre sí. Por ejemplo, puede asignar un color al domicilio
social y otro al domicilio administrativo.
• Para el fondo de los objetos utilice colores que contrasten pero que sean
complementarios. Por ejemplo, en un campo de entrada, asegúrese de que el color de
fondo contrasta con el de los datos para que el usuario pueda distinguir la
información con facilidad.
• Puede utilizar colores llamativos para destacar ciertos elementos de la pantalla,
mientras que los colores más tenues pueden servir para otros elementos menos
importantes. Por ejemplo, quizá desee resaltar los campos obligatorios con un color
más llamativo que los campos opcionales.

Capítulo 10, Diseño de fichas 225


desform.dwu Page 226 Friday, September 1, 1995 4:42 PM

• Utilice los colores de forma coherente dentro de cada ficha, e incluso entre todas las
fichas de una aplicación. Por ejemplo, todos los botones deben tener el mismo color.
• Combine los colores de forma equilibrada. El uso de demasiadas variaciones puede
distraer la atención.
• Si la aplicación puede ejecutarse en monitores monocromo, no olvide comprobar que
las combinaciones de colores escogidas siguen siendo legibles.

Líneas maestras del uso del orden z


Todos los objetos de una ficha se encuentran en planos. Cuando una ficha contiene dos o
más controles, el plano en que se halla uno está siempre delante o detrás del plano que
ocupa el otro. Esto afecta a dos aspectos de la ficha:
• Planos visuales o el orden z, que hace referencia al eje z (profundidad) de la ficha.
Determina qué objetos aparecen delante (o encima) de otros. Incluso cuando los
controles son adyacentes, cada uno ocupa un plano de la ficha, es decir, una posición
única en el orden z.
• Orden de tabulación. Determina el orden en que se resaltan los controles al
pulsarTabulador.
Cada control está numerado para indicar su posición en el orden z. El elemento que está
más atrás es el número 1; el que se encuentra justo delante de éste, tiene el número 2 y
así sucesivamente.
Un caso típico de orden z se produce cuando utilizamos un rectángulo, por ejemplo,
para agrupar una serie de botones de radio. Los botones deben aparecer encima del
rectángulo, por lo que éste debe estar detrás de ellos en el orden z.
Para obtener una explicación visual del orden z y del orden de tabulación, consulte la
Ayuda en línea.
En el Capítulo 8 se describe el Diseñador de fichas y sus herramientas, así como las
técnicas necesarias para utilizarlas.

226 Guía del usuario


fdtools.dwu Page 227 Friday, September 1, 1995 4:44 PM

Capítulo

Herramientas y técnicas del


Capítulo 11
11
Diseñador de fichas
El Diseñador de fichas proporciona herramientas que facilitan el diseño de la ficha,
dándoles forma y especificando su aspecto y su comportamiento. En este capítulo se
describe el Diseñador de fichas, las herramientas que controlan el aspecto y el
comportamiento de las fichas y cómo se utilizan sus controles. También se incluyen
algunas características del Diseñador de fichas que deben conocerse antes de utilizar las
herramientas.
El sistema de Ayuda en línea y los capítulos relativos a las fichas se han redactado
conjuntamente. Para obtener una explicación más detallada de cada tema mientras
trabaja en pantalla, consulte la Ayuda en línea.

Capítulo 11, Herramientas y técnicas del Diseñador de fichas 227


fdtools.dwu Page 228 Friday, September 1, 1995 4:44 PM

Acerca del Diseñador de fichas


Al trabajar con las herramientas del Diseñador de fichas se aplican una serie de
características básicas que es preciso comprender. La primera parte de la explicación
presenta los distintos modos del Diseñador de fichas.
La segunda parte presenta la forma en que se comportan las herramientas según el
Diseñador (de fichas o de menús) empleado. El Diseñador de fichas contiene un
Diseñador de menús independiente; ambos comparten dos herramientas.
Consulte “El Diseñador de menús” en la página 241.

Modos diseño y ejecutar


Ejecutar Visual dBASE ofrece dos modos para trabajar con las fichas: diseño y ejecutar.
Puede pasar de un modo a otro por medio de los botones de la barra rápida o los
comandos de menú. Más adelante en este mismo capítulo se describen los botones de la
barra rápida del Diseñador de fichas.
Diseño

Modo diseño
El modo diseño de las fichas es el Diseñador de fichas. Al abrir por primera vez el
Diseñador de fichas se encuentra en el modo diseño. En este modo se diseña el aspecto
de la ficha colocando en ella los controles. También se asignan propiedades que
determinan el comportamiento de la ficha y sus controles.
El modo diseño se compone a su vez de otros dos: formato y orden, que se encuentran
disponibles en el menú Ver del Diseñador de fichas.
Utilice el modo formato cuando desee:
• Colocar los controles en la ventana de la ficha.
• Especificar las propiedades de los objetos de la ficha, como la cuadrícula.
• Definir la forma en que la ficha y los controles responderán a los sucesos,
por ejemplo cuando el usuario pulse un botón.
Utilice el modo orden cuando desee:
• Especificar los planos visuales (orden z) de los controles de la ficha.
• Definir el orden de tabulación de los controles de la ficha.
Para obtener información sobre el modo orden, consulte la página 248.

Modo ejecutar
El modo ejecutar de las fichas es la propia ficha o, más concretamente, la ficha en el
momento de la ejecución. Al ejecutar la ficha se activan los controles, momento a partir
de cual, por ejemplo, un campo de entrada aceptará datos. También estarán disponibles
entonces todos los datos vinculados a la ficha, como los registros de una tabla, que
podrán verse o editarse.

228 Guía del usuario


fdtools.dwu Page 229 Friday, September 1, 1995 4:44 PM

Comportamiento de las herramientas


En el Diseñador de fichas puede abrir un conjunto de herramientas y mantenerlas
abiertas mientras crea la ficha, o bien minimizarlas en el escritorio. Dado que cada
herramienta es una ventana, puede moverlas, cambiar su tamaño y trasladar el foco de
una a otra. Si desea organizar todas las herramientas del escritorio, utilice el comando
Ventana |Organizar los menús del diseñador.
Cuando abre el Diseñador de menús, sin embargo, las paletas de control y campo se
ocultan y ya no están disponibles desde el menú o el menú rápido. Esto se debe a que al
diseñar un menú no se trabaja con controles. Cuando vuelve al Diseñador de fichas, la
paleta de controles reaparece.
Estos conceptos se aclaran al leer la descripción de cada herramienta y practicar con el
Diseñador de fichas y el Diseñador de menús. Para obtener información más detallada
sobre cada herramienta mientras empieza a crear fichas, consulte la Ayuda en línea.

El Diseñador de fichas
Para diseñar una ficha nueva desde el Selector, seleccione Fichas en la lista de tipos de
archivo y efectúe una de las siguientes acciones:
• Escoja Archivo|Nuevo|Ficha.
• Haga doble clic en Sin título, en la lista de archivos.
O bien, desde la ventana de comandos, introduzca create form y pulse Intro.
Cuando crea una ficha de forma interactiva, debe elegir entre el Experto o el
Diseñador de fichas (si teclea create form en la ventana de comandos, accede al
Diseñador de fichas). El Experto de fichas es una plantilla de ficha que automatiza el
proceso de incorporación de controles en la ficha, por lo que ahorra tiempo. Se presenta
con una serie de opciones y, según las selecciones, crea la ficha (para evitar que el
Experto de fichas se abra cada vez que crea una ficha, utilice los valores de la página
Aplicación en el cuadro de diálogo Propiedades del escritorio).
El Diseñador de fichas permite crear fichas visualmente sin necesidad de realizar
complejas tareas de programación. Los controles se crean mediante su selección en la
paleta de controles y su ubicación en la ventana de la ficha. A continuación, se
especifican las propiedades de la ficha y sus controles.
El Diseñador de fichas incluye una ventana de ficha, menús, una barra rápida y otras
herramientas que permiten asignar formato a la ficha y especificar su aspecto y
comportamiento. Las herramientas incluyen:
• Paleta de campos
• Inspector
• Editor de procedimientos
• Diseñador de menús

Capítulo 11, Herramientas y técnicas del Diseñador de fichas 229


fdtools.dwu Page 230 Friday, September 1, 1995 4:44 PM

Figura 11.1 El Diseñador de fichas y sus herramientas

Ventana de ficha
Paleta de controles

Inspector de objetos
Paleta
de campos

Editor de
procedimientos

La ventana de ficha
La ventana de ficha es el fondo, la base donde se define el tamaño de la ficha, la posición
de los controles y los planos visuales de éstos.
Figura 11.2 El Diseñador de fichas

Entre los componentes de la ventana de ficha se incluyen los siguientes:


• La ventana en sí. Puede cambiar el tamaño y posición de la ventana
(y, por consiguiente, de la ficha) modificando los valores de estas propiedades:
alto, izquierda, superior y ancho.
• Una cuadrícula. Se emplea para alinear los controles. Su tamaño se basa en el de la
fuente actual. La cuadrícula es una matriz de puntos que aparece por defecto al
iniciar el Diseñador de fichas.
• Reglas verticales y horizontales. Las unidades de la regla se basan en el tamaño de la
fuente actual. La unidad vertical equivale a la altura de la fuente, mientras que la
horizontal corresponde a la anchura media de sus caracteres. Las reglas aparecen por
defecto al iniciar el Diseñador de fichas.

230 Guía del usuario


fdtools.dwu Page 231 Friday, September 1, 1995 4:44 PM

Estas propiedades y otras se pueden definir mediante el cuadro de diálogo


Propiedades del Diseñador de fichas, que se describe a continuación.

Propiedades del Diseñador de fichas


Para definir las propiedades del Diseñador de fichas, efectúe una de las siguientes
acciones:
• Escoja Propiedades|Propiedades del Diseñador de fichas.
• Haga clic con el botón derecho del ratón en la ventana del Diseñador de fichas y
escoja Propiedades del Diseñador de fichas en el menú rápido.
Figura 11.3 Cuadro de diálogo Propiedades del Diseñador de fichas

Configuración de la ficha
Estas opciones definen las características de la cuadrícula y la regla. Son las siguientes:
• Mostrar cuadrícula. Si está activada, muestra la cuadrícula. Es el valor por defecto.
• Ajustar a cuadrícula. Si está activada, siempre que se añadan o desplacen objetos, o
se cambie su tamaño, sus vértices coincidirán con el punto de intersección más
cercano de la cuadrícula.
• Mostrar regla. Si está activada, muestra las reglas en los bordes superior e izquierdo
de la superficie de diseño.

Configuración de la cuadrícula
Determina el tamaño de las unidades de la cuadrícula, que se calcula en función de la
fuente actual de la ficha.
• Fina. Anchura media y un tercio de la altura de la fuente actual.
• Media. Anchura media y dos tercios de la altura de la fuente actual.
• Base. Anchura media y altura equivalente a la fuente actual.
• Personalizada. Tamaño definido por el usuario en función de la fuente actual.
El valor se define en los cuadros de incremento Cuadrícula X y Cuadrícula Y.

Cuadrícula X e Y
• X determina la anchura e Y la altura de las unidades de la cuadrícula.

Capítulo 11, Herramientas y técnicas del Diseñador de fichas 231


fdtools.dwu Page 232 Friday, September 1, 1995 4:44 PM

El menú del Diseñador de fichas


Los dos elementos de menú específicos del modo diseño son Formato y Procedimiento.
El menú Formato permite alinear objetos en la ventana de ficha y diseñar un menú
o una consulta, mientras que el menú Procedimiento permite trabajar con los
procedimientos del Editor de procedimientos (descritos más adelante en este mismo
capítulo).

El menú Formato
Puede alinear los objetos de la ventana de ficha mediante los comandos del menú
Formato. Es posible escoger entre alineación izquierda, derecha, superior, inferior e
incluso especial para usar el eje central de una ficha. Para obtener información sobre
cada comando de menú, consulte la Ayuda en línea.
Figura 11.4 Menú Formato

Barra rápida del Diseñador de fichas


Esta barra es la misma para las vistas de formato y orden, pero los botones Orden z y
Alinear sólo están disponibles en la vista formato.
Figura 11.5 Barra rápida del Diseñador de fichas
Orden z
Nuevo Guardar Cortar, copiar, pegar Diseño Orden

Abrir Imprimir Ejecutar Formato Páginas anterior y Alinear


siguiente de ficha

Nota Al pasar el puntero sobre cada uno de los botones, observe el texto que aparece en la
barra de estado, en la parte inferior de la pantalla. Si mantiene el puntero del ratón sobre
un botón, verá debajo su nombre.

232 Guía del usuario


fdtools.dwu Page 233 Friday, September 1, 1995 4:44 PM

El menú rápido del Diseñador de fichas


El menú rápido constituye un modo rápido de acceder al cuadro de diálogo
Propiedades correspondiente al objeto seleccionado, mostrar las herramientas de diseño
y realizar operaciones de edición habituales. Para usar el menú rápido, haga clic con el
botón derecho en cualquier punto del Diseñador de fichas.
Figura 11.6 Menú rápido del Diseñador de fichas

Muestra u oculta el Inspector de objetos, la paleta de controles, la paleta


de campos o el Editor de procedimientos.

Corta o copia en el Portapapeles el control elegido; pega en la ficha el


control del Portapapeles.
Abre el cuadro de diálogo Propiedades del Diseñador de fichas.

La paleta de controles
La paleta de controles muestra los controles que se pueden añadir a la ficha. Para abrirla,
efectúe una de las siguientes acciones:
• Escoja el comando de menú Ver|Paleta de controles.
• Haga clic con el botón derecho en cualquier parte de la ventana de ficha y escoja
Paleta de controles en el menú rápido.
Figura 11.7 La paleta de controles

La paleta de controles contiene


tres páginas con solapa.

La paleta de controles contiene tres páginas con solapa: Estándar, Personalizados y VBX.
Los controles estándar forman parte de Visual dBASE. Los controles personalizados son
controles de dBASE personalizados con extensión de nombre de archivo .CC.
Los controles VBX son controles personalizados de Visual Basic. Para obtener una
descripción detallada de los controles estándar, consulte la Ayuda en línea. Para obtener
información sobre los controles personalizados y .VBX, consulte la página 250.

Capítulo 11, Herramientas y técnicas del Diseñador de fichas 233


fdtools.dwu Page 234 Friday, September 1, 1995 4:44 PM

Propiedades de la paleta de controles


Para personalizar estas propiedades, elija Propiedades |Propiedades de la paleta de
controles o elija esta misma opción en los menús rápidos de la paleta de controles o de
ficha.
Figura 11.8 Cuadro de diálogo Propiedades de la paleta de controles

Mostrar
Estas opciones especifican cómo aparecen los controles en la paleta:
• Sólo mapa de bits. Muestra la imagen del control sin texto.
• Sólo texto. Sólo muestra el nombre del control, sin una imagen.
• Mapa de bits y texto. Muestra el texto y la imagen.

Solapas
Esta casilla de verificación especifica si la paleta de controles muestra todos los controles
en una página (sin marcar) o en varias páginas (marcada).

Restablecer puntero
Si está marcada, puede elegir y situar un control de la paleta de controles y, a
continuación, el puntero recupera su comportamiento por defecto.
Si el puntero está en modo por defecto, puede seleccionar la ficha o sus objetos haciendo
clic en ellos. A continuación, puede realizar las acciones que desee con estos objetos,
como desplazarlos, cambiar sus propiedades o eliminarlos.
Cuando hace clic en un control de la paleta de controles, el puntero se convierte
temporalmente en una herramienta para situar el control seleccionado en la ficha.
Por ejemplo, si hace clic en Cuadro de incremento de la paleta de controles y, después,
en la ventana de ficha, aparece un cuadro de incremento en el área.
Si esta casilla no está marcada, puede incluir un control varias veces sin necesidad de
volver a la paleta de controles. El puntero sólo se convierte de nuevo en puntero cuando
se selecciona su control.
Cuando finalice la incorporación de varias instancias de un control y elija el control
Puntero, podrá cambiar la posición o el tamaño de los controles de la ficha.

234 Guía del usuario


fdtools.dwu Page 235 Friday, September 1, 1995 4:44 PM

Posición
Estas opciones determinan la posición por defecto de la paleta de controles.
• Superior. Sitúa la paleta de controles en sentido horizontal a lo largo de la parte
superior de la pantalla.
• Inferior. Sitúa la paleta de controles en sentido horizontal a lo largo de la parte
inferior de la pantalla.
• Flotante. Presenta la paleta de controles como un pequeño cuadrado que se desplaza
entre ambos lados de la ficha.

La paleta de campos
La paleta de campos muestra un control de entrada de datos para todos los campos de
la tabla que especifique en las propiedades View o DesignView de la ficha. Si está
abierta más de una tabla, la paleta de campos muestra una página con solapa para cada
una de ellas. Para abrir la paleta de campos, elija Ver|Paleta de campos o elija esta
misma opción en el menú rápido de la ficha.
Figura 11.9 La paleta de campos

Para especificar el tipo de control asociado a cada tipo de campo en la paleta, elija
Formato |Asociar tipos de controles. Por ejemplo, puede asociar un campo de tipo
numérico con un control de campo de entrada de cuadro de incremento.
Figura 11.10 Cuadro de diálogo Asociar tipos de controles

Elija el tipo de control para cada tipo de campo.


El tipo que especifique se utilizará por defecto cuando
incluya uno de los tipos de campo en la ficha.

Capítulo 11, Herramientas y técnicas del Diseñador de fichas 235


fdtools.dwu Page 236 Friday, September 1, 1995 4:44 PM

Propiedades de la paleta de campos


Para personalizar las propiedades de la paleta de campos, elija
Propiedades|Propiedades de la paleta de campos.
Figura 11.11 Cuadro de diálogo Propiedades de la paleta de campos

Consulte las descripciones de estas opciones en “Propiedades de la paleta de controles.”

El Inspector
El Inspector muestra las propiedades de los controles de fichas, así como sus sucesos y
métodos. Si trabaja con métodos y sucesos de objetos, debería conocer determinados
conceptos del lenguaje dBASE. Para conocer las líneas maestras de la programación,
consulte la Ayuda en línea y la Guía del programador.
Nota El Inspector se diferencia del cuadro de diálogo Propiedades de la ficha en que el
Inspector se aplica a la vinculación de propiedades, sucesos y métodos con los controles.
En el cuadro de diálogo Propiedades de la ficha, sin embargo, se definen las
propiedades de la ventana.
Para abrir el Inspector (o activarlo), puede:
• Elegir Ver |Inspector en el menú.
• Hacer clic con el botón derecho del ratón en cualquier posición de la ficha y elegir
Inspector en el menú rápido.
Figura 11.12 Inspector

236 Guía del usuario


fdtools.dwu Page 237 Friday, September 1, 1995 4:44 PM

El Inspector se divide en tres páginas con solapa, Propiedades, Sucesos y Métodos.


En un cuadro combinado situado en la parte superior del Inspector aparece el nombre
del objeto actual. Haga clic en la flecha abajo del cuadro para ver las propiedades,
sucesos y métodos de los objetos.

La página Propiedades
Esta página muestra las propiedades del objeto actual; la columna derecha muestra el
valor actual de las propiedades. Para obtener información sobre las propiedades,
consulte la Ayuda en línea.
Puede definir un valor de propiedad de varias formas:
• Introduzca el valor en la columna situada a la derecha de la propiedad.
Algunos valores de propiedad aparecen exactamente igual que como se introducen.
Por ejemplo, cuando introduce un valor en la propiedad Texto, los caracteres
aparecen en el objeto tal como se teclean en el Inspector.
• Haga doble clic en la columna derecha para desplazarse entre una lista de
propiedades o para conmutar entre valores lógicos.
• Haga clic en el botón de herramientas que aparece a la derecha del valor de
propiedad cuando ésta tiene el foco en el Inspector. No todas las propiedades
disponen de herramientas.
El botón Utilidades puede presentar un menú con opciones disponibles o un
generador de propiedades donde puede elegirse un valor. Por ejemplo, puede
acceder al generador de propiedades de color para definir el color de un objeto.

Visualización por categorías o alfabética


Las propiedades pueden verse por categorías o por orden alfabético. En el primer caso,
la página Propiedades muestra varios nombres de categorías. Estos nombres tienen
siempre un signo más (+) o menos (–) que indica que hay una lista disponible debajo de
ellos. El signo más (+) indica que la lista está cerrada, mientras que el signo menos (–)
indica que está expandida. Para abrir o cerrar categorías, haga doble clic en su nombre o
pulse las teclas + o – del teclado numérico.
Al abrir la lista de una categoría, el signo más se convierte en menos y la lista aparece
expandida.
Figura 11.13 Lista de propiedades expandida

Para cerrar la lista expandida, haga doble clic.

Capítulo 11, Herramientas y técnicas del Diseñador de fichas 237


fdtools.dwu Page 238 Friday, September 1, 1995 4:44 PM

Para abrir o cerrar todas las listas a la vez, pulse Ctrl + o Ctrl – respectivamente en el
teclado numérico.
Para ver las propiedades por orden alfabético:
1 Escoja Propiedades|Propiedades del escritorio.
2 Seleccione la página Aplicación del cuadro de diálogo.
3 Suprima la marca de la casilla de verificación Esquema del inspector (Figura 11.14).
Figura 11.14 Cuadro de diálogo Propiedades del escritorio

Suprima la marca para ver las propiedades en


una lista normal.

Seleccione la página Aplicación.

Página Sucesos
La página Sucesos muestra los sucesos a los que puede responder el objeto actual.
Cuando se selecciona un suceso, su área de valores se convierte en un cuadro de texto
con un botón Utilidades.
Para definir lo que ocurrirá cuando se produzca un suceso, puede efectuar una de las
siguientes acciones:
• Introduzca un código en el cuadro de texto del suceso.
• Escriba un procedimiento para vincularlo al suceso.
Figura 11.15 Página Sucesos del Inspector

Introduzca aquí el código o


vincule el suceso a un
procedimiento.

238 Guía del usuario


fdtools.dwu Page 239 Friday, September 1, 1995 4:44 PM

Para escribir un código y vincularlo a un suceso,


1 En la ficha, haga clic en el objeto a cuyo suceso desee asignar el código.
2 Abra el Inspector.
3 Haga clic en la página Sucesos, si no está ya seleccionada.
4 Haga clic en el suceso al que desee asignar el código. El punto de inserción aparece en
el cuadro de texto situado a la derecha del nombre del suceso.
5 Introduzca el código en ese cuadro de texto.
Para obtener información sobre la sintaxis de los códigos, consulte la Ayuda en línea
y la Guía del programador.
Si desea escribir un procedimiento para un suceso, haga clic en el botón Utilidades
del cuadro de texto del suceso, con lo que se abre el Editor de procedimientos.
(Consulte las secciones siguientes.) Para obtener información sobre la creación de
procedimientos, consulte la Ayuda en línea y la Guía del programador.

Página Métodos
La página Métodos muestra los métodos estándar del objeto actual, es decir, los
definidos para el control. Puede utilizar métodos en todos los procedimientos que cree
mediante el Editor de procedimientos.
Figura 11.16 Página Métodos del Inspector

Capítulo 11, Herramientas y técnicas del Diseñador de fichas 239


fdtools.dwu Page 240 Friday, September 1, 1995 4:44 PM

El Editor de procedimientos
El Editor de procedimientos es una herramienta de programación que, junto con otras
herramientas relacionadas, ayuda al usuario a escribir y estructurar el código que define
los controles de la ficha y su comportamiento. No olvide leer la Ayuda en línea y la
Guía del programador a fin de comprender los conceptos de programación que deben
conocerse para trabajar con esta herramienta.
Nota En esta sección se explica la utilización del Editor de procedimientos, pero no cómo
programar con el lenguaje dBASE.

Apertura del Editor de procedimientos


Para abrir el Editor de procedimientos sin crear un método nuevo, efectúe una de las
siguientes acciones:
• Escoja Ver|Editor de procedimientos.
• Haga clic con el botón derecho en cualquier parte de la ficha y escoja Editor de
procedimientos en el menú rápido.
Con esto se abre el Editor de procedimientos. Si la ficha ya tiene métodos, el primero de
la lista será el método actual aquí y en la ventana Editor de textos. Si la ficha no tiene
métodos, se selecciona la sección “Cabecera”.
Para abrir el Editor de procedimientos y crear un método, haga clic en la página
Sucesos del Inspector de objetos, escoja un suceso y haga clic en el botón Utilidades
que hay a la derecha del cuadro de texto. Con esto se crea un método nuevo, que se
vincula al suceso. El Editor de procedimientos se abre automáticamente
(o se activa si ya estaba abierto).
La ventana Editor de textos contiene una sentencia PROCEDURE con el nombre que se
sugiere para el nuevo método. Puede escribir un procedimiento nuevo para vincularlo
al suceso actual en el Inspector de objetos, o bien puede abrir el cuadro de diálogo Editar
suceso para vincular el suceso a un procedimiento ya existente.

240 Guía del usuario


fdtools.dwu Page 241 Friday, September 1, 1995 4:44 PM

El Diseñador de menús
El Diseñador de menús permite diseñar menús, definir sus propiedades y escribir sus
procedimientos en la ventana Diseñador de menús. Consulte el Capítulo 13 para
obtener más información.
Para abrir el Diseñador de menús se escoge Archivo |Nuevo|Menú.
Al abrir el Diseñador de menús, notará enseguida algunos cambios en la pantalla.
El primero será que las paletas de controles y campos se ocultan (sólo actúan en el
Diseñador de fichas).
El segundo cambio consiste en un nuevo menú.

El menú del Diseñador de menús


El menú denominado Menú contiene comandos que permiten crear menús y añadirles
elementos. También puede introducir menús desplegables. Para obtener información
sobre cada comando de menú, consulte la Ayuda en línea.
Figura 11.17 Menú del Diseñador de menús

Barra rápida del Diseñador de menús


El tercer cambio que notará es la barra rápida. Su sección central sólo presenta dos
nuevos botones, los cuales permiten introducir y eliminar comandos de menú.

Menú rápido del Diseñador de menús


El cuarto cambio es el menú rápido, que ya no incluye las opciones Paleta de controles,
Paleta de campos ni Propiedades.

Capítulo 11, Herramientas y técnicas del Diseñador de fichas 241


fdtools.dwu Page 242 Friday, September 1, 1995 4:44 PM

Uso de los controles


Al diseñar una ficha, tenga en cuenta los tipos de controles que va a utilizar para realizar
cada tarea. La Tabla 11.1 presenta una relación de los controles que proporciona
Visual dBASE y describe lo que cada uno de ellos permite realizar.
Tabla 11.1 Controles estándar
Control Permite . . . Ejemplo
Texto Ver una cabecera, Una etiqueta, como Cliente:, que precede a un
descripción, instrucción, campo de entrada.
mensaje u otro texto literal.

Campo de entrada Introducir un único valor. Un área de introducción de datos que permite
introducir valores para el campo CLIENTE de
una tabla.

Cuadro combinado Introducir o seleccionar un Un área de introducción de datos que permite


valor de una lista. introducir valores para el campo PAGO de una
tabla, con una lista de las formas de pago que
hay en una tabla relacionada, entre las que se
puede elegir una.
Cuadro de incremento Introducir un solo valor Un área de introducción de datos que permite
numérico o de fecha. introducir un número en el campo
VENTAS_AC de una tabla.

Cuadro de lista Seleccionar un valor de una Una lista de tablas que se encuentran en el
lista. directorio actual para elegir una.

Botón Realizar una tarea mediante Un botón Aceptar que, al pulsarlo, realiza la
una sola acción. acción principal de la ficha, como aplicar los
cambios que el usuario ha realizado en la tabla.

Casilla de verificación Seleccionar una de las dos Una casilla Crédito que permite introducir
opciones de un valor lógico. Verdadero o Falso en el campo CREDITO de
una tabla.

Botón de radio Seleccionar una opción Un grupo de botones con las etiquetas Crédito,
dentro de un grupo de Efectivo, Talón, Visa y MC para escoger uno de
valores posibles. ellos como valor del campo PAGO de una tabla.

Línea Ver una línea. Una línea que separe los controles relativos al
nombre y a la dirección de aquellos que hacen
referencia a los datos del pedido.

Rectángulo Ver un rectángulo. Un rectángulo que abarque un grupo de


botones de radio.

242 Guía del usuario


fdtools.dwu Page 243 Friday, September 1, 1995 4:44 PM

Tabla 11.1 Controles estándar (continuación)


Control Permite . . . Ejemplo
Browse Ver o editar los registros de Modo Browse de los pedidos hechos por el
una tabla. cliente en el área de la ficha destinada a los
datos del usuario.

Editor Ver o editar campos memo, Un área de introducción de datos del campo
campos de carácter grandes o memo NOTAS de una tabla.
archivos de texto.

Imagen Ver una imagen de mapa de Un área de visualización de un gráfico.


bits almacenada en un campo
binario, archivo de recursos o
archivo gráfico.

Barras de Seleccionar un valor Una barra de desplazamiento que permite


desplazamiento numércio o de fecha de un introducir valores numéricos entre 1 y 10 en el
conjunto ordenado. campo PORCENTAJE de una tabla.

Forma Ver una figura geométrica, Una forma entorno a un grupo de casillas de
como un círculo o rectángulo verificación.
redondeado.

Cuadro de solapas Desplazarse en una ficha o Páginas diferentes de una ficha, con nombres
tabla mediante la selección de exclusivos.
solapas.

Cuadro de dibujo Los usuarios no pueden verlo Un control visor de archivo AVI.
directamente; permite crear
un control personalizado que
utiliza el API de Windows.

OLE Ver y utilizar un documento Visualización y uso de un gráfico creado con


de otra aplicación. una aplicación gráfica externa.

En esta sección se describe la forma en que se manejan los controles (se añaden, se
alinean, se cambian de tamaño, etcétera). También puede guardar e imprimir las fichas
en cualquier momento durante el proceso de diseño.

Capítulo 11, Herramientas y técnicas del Diseñador de fichas 243


fdtools.dwu Page 244 Friday, September 1, 1995 4:44 PM

Adición de controles
La paleta de controles permite añadir controles a las fichas. Para ello, siga estos pasos:
1 Haga clic en el control de la paleta de controles que desee seleccionar.
El puntero adopta forma de cruz al pasarlo sobre la ventana de ficha.
2 Arrastre el puntero por la ventana de ficha hasta que el control alcance el tamaño que
desee, o bien haga clic en la ventana de ficha sin arrastrar para añadir el control con
su tamaño por defecto.
Si no está marcada la opción Restablecer puntero del cuadro de diálogo Propiedades de
la paleta de controles, el puntero seguirá teniendo forma de cruz después de situar el
control. Esto le permite colocar varias copias del mismo control sin tener que
seleccionarlo de nuevo en la paleta de controles. Para que el puntero recupere su
comportamiento por defecto debe hacer clic en el control Puntero de la paleta de
controles.

Selección de controles
Para trabajar con un control colocado en la ventana de ficha, hay que seleccionarlo antes
(situar el cursor sobre él). Una vez seleccionado, puede desplazarlo, eliminarlo y
cambiar su tamaño o propiedades.
Para seleccionar un control, efectúe una de las siguientes acciones:
1 Haga clic en el control.
2 Pulse Tab o Mayús+Tab hasta seleccionarlo.
Cuando un control está seleccionado, se hacen visibles sus cuadros de dimensionamiento
(pequeños cuadrados negros que aparecen alrededor del control).

Selección de varios controles


Puede seleccionar varios controles para trabajar con ellos al mismo tiempo. Para ello,
efectúe una de las siguientes acciones:
• Coloque un recuadro alrededor de los controles que desee seleccionar, de la siguiente
manera:
1 Sitúe el puntero junto al área que contiene todos los controles.
2 Mantenga pulsado el botón izquierdo del ratón, arrastre el puntero hasta la
esquina del área diagonalmente opuesta al punto de inicio y suelte el botón del
ratón.
Mientras efectúa el arrastre verá un borde rectangular que parte del punto de
inicio. Este borde desaparece al soltar el botón del ratón.
• Seleccione un solo control y haga clic en los controles siguientes mientras mantiene
pulsada la tecla Mayús.

244 Guía del usuario


fdtools.dwu Page 245 Friday, September 1, 1995 4:44 PM

• Escoja Edición|Seleccionar todo para seleccionar de una vez todos los controles de
una ficha, o bien elija Edición|Seleccionar ficha para seleccionar sólo la ficha.
Aparecen cuadros de dimensionamiento en los controles seleccionados (Figura 11.18).
Figura 11.18 Selección de varios controles

Los cuadros de dimensionamiento indican que


el control está seleccionado.

• Para anular la selección de varios controles, si la ficha no está seleccionada, haga clic
en cualquier posición de la ventana de ficha fuera de los controles.
Para redimensionar un grupo de objetos, utilice las teclas de flecha y Mayús.

Cambio de propiedades
Al seleccionar un control, aparecen sus propiedades en el Inspector. Para modificarlas
basta con hacer clic en el objeto y a continuación trabajar en el Inspector.
Si se seleccionan varios controles, se pueden modificar sus propiedades conjuntamente.
Para ello, seleccione los controles que desee y a continuación haga lo siguiente:
• Haga clic con el botón derecho del ratón en cualquier control del conjunto
seleccionado y elija Inspector en el menú rápido.
• Elija Ver |Inspector.
Cuando cambia el valor de una propiedad o vincula código a un suceso en una selección
múltiple, el cambio afecta a todos los controles de la selección.

Desplazamiento de controles
Para desplazar un control, haga clic en él para seleccionarlo y, sin sacar el puntero de los
bordes del control, efectúe una de las siguientes acciones:
• Arrastre el control hasta la posición que desee. Al mover el ratón, el puntero se
convierte en una mano, lo cual indica que el control se está desplazando.
• Pulse alguna de las teclas del cursor para mover el control en la dirección
correspondiente.
Para desplazar varios controles, selecciónelos y arrástrelos o bien pulse alguna de las
teclas del cursor. Sólo es necesario arrastrar uno de los controles seleccionados, ya que
los demás lo siguen de forma automática.

Capítulo 11, Herramientas y técnicas del Diseñador de fichas 245


fdtools.dwu Page 246 Friday, September 1, 1995 4:44 PM

Cortar, copiar, pegar y eliminar


Los controles se pueden cortar, copiar y pegar, igual que el texto. Para ello utilice el
menú Edición, los menús rápidos o los botones de la barra rápida. Para borrar un
control o una selección múltiple de controles, elija Edición|Borrar (o pulse Supr).

Deshacer y rehacer cambios


En una ficha puede deshacer todas las operaciones que desee. Una vez que deshace una
operación, Deshacer presenta la acción anterior.
En el Inspector puede deshacer y rehacer valores definidos. Después de deshacer un
valor, el comando Deshacer del menú Edición se convierte en Rehacer. Puede elegir
Rehacer para recuperar la última operación Deshacer.
Para deshacer una operación, elija Edición |Deshacer (o pulse Ctrl+Z). Asimismo, para
rehacer una operación, elija Edición |Rehacer (o pulse Ctrl+Z).

Cambio del tamaño de los controles


Para cambiar el tamaño de un control, selecciónelo y efectúe una de las siguientes
acciones:
• Sitúe el puntero sobre uno de sus cuadros de dimensionamiento. Cuando el puntero
se convierta en una flecha de dos puntas, arrástrelo hasta conseguir el tamaño que
desee.
• Pulse Mayús+alguna tecla del cursor para desplazar el cuadro de dimensionamiento
en la dirección correspondiente.
Con el ratón no es posible cambiar el tamaño de varios controles a la vez, pero sí con
Mayús+las teclas del cursor.
También puede elegir una de las opciones de Formato|Tamaño para cambiar el tamaño
de una selección múltiple:
• Aumentar hasta la mayor altura
• Reducir hasta la menor altura
• Aumentar hasta el mayor ancho
• Reducir hasta el menor ancho

246 Guía del usuario


fdtools.dwu Page 247 Friday, September 1, 1995 4:44 PM

Alineación de controles
Los controles se pueden alinear mediante los comandos del menú Formato o los botones
correspondientes de la barra rápida (no disponibles en el modo orden).
Estos comandos permiten alinear los objetos seleccionados con el lado del objeto que
esté en la posición de alineación más lejana. La Figura 11.19 muestra los botones de
alineación de la barra rápida con los correspondientes comandos del menú Formato.
Figura 11.19 Botones de alineación de la barra rápida
Alineación izquierda: alinea el lado izquierdo de los Alineación derecha: alinea el lado derecho de los objetos con el
objetos con el del objeto situado más a la izquierda. del objeto situado más a la derecha.

Alineación inferior: alinea el lado inferior de los


Alineación superior: alinea el lado superior de los objetos con el objetos con el del objeto más próximo al extremo
del objeto más próximo al extremo superior de la ficha. inferior de la ficha.

Los comandos de Alineación alinean el eje central de los objetos seleccionados con su eje
central relativo (alineación relativa) o con el de la ficha (alineación absoluta).
Figura 11.20 Menú Formato | Alineación

• Centrado horizontal absoluto sitúa los controles seleccionados en el centro horizontal


absoluto de la ficha, basándose en la anchura de ésta (propiedad Ancho).
• Centrado vertical absoluto sitúa los controles seleccionados en el centro vertical
absoluto de la ficha, basándose en la altura de ésta (propiedad Alto).
Para alinear un grupo de controles en el centro horizontal o vertical del área que ocupan
en la ficha, selecciónelos y escoja Formato|Alineación y una de las siguientes opciones:
• Centrado horizontal relativo sitúa los controles seleccionados en el centro horizontal
relativo del área de la ficha que ocupan.
• Centrado vertical relativo sitúa los controles seleccionados en el centro vertical
relativo del área de la ficha que ocupan.

Capítulo 11, Herramientas y técnicas del Diseñador de fichas 247


fdtools.dwu Page 248 Friday, September 1, 1995 4:44 PM

Definición de planos para los controles (orden z)


Cuando una ficha tiene varios controles, cada uno de ellos se encuentra en un plano
diferente, situado delante o detrás de cada uno de los demás planos. En otras palabras,
los objetos de las fichas se encuentran en planos. Para obtener información sobre este
punto, consulte el Capítulo 10 y la Ayuda en línea.
El modo orden permite definir el orden z (y, por consiguiente, el orden de tabulación)
de los controles sobre la superficie de diseño de la ficha. El orden z hace referencia al eje
z (profundidad) del formato. El orden de tabulación determina la secuencia en la que se
resaltan los controles al pulsar Tab.
En el modo orden, los controles presentan un número en su contorno. Este número
indica la posición del control en el orden de tabulación y en el orden z. El elemento
número 1 es el que está más atrás, mientras que el elemento con el número más alto es el
que se encuentra delante de los demás.

Cambio del orden z de un control


Para cambiar el orden z de un control,
1 Elija Ver|Orden.
2 Haga clic en el control que desea detrás. Después de hacer clic, observará que su
número de orden z se convierte en “1.”
3 Haga clic en los demás controles por turno, en la secuencia deseeada. A medida que
hace clic, cambia el número de orden z del control.
Figura 11.21 Controles de ficha en modo orden

También puede reordenar los controles, a partir de cualquier control de la ficha; de esta
forma no tiene que comenzar en el 1:
1 Haga clic en el control mientras mantiene pulsada la tecla Mayús. Así activa el control
pero no cambia su número de orden z actual.
2 Haga clic en otros controles, en el orden deseado. Los números de orden z de estos
controles se incrementarán a partir del número del control seleccionado en el paso 1.
También puede utilizar Formato|Definir el orden de los controles para ajustar el orden
z de los controles en la ficha.

248 Guía del usuario


fdtools.dwu Page 249 Friday, September 1, 1995 4:44 PM

Figura 11.22 Cuadro de diálogo Establecer el orden de controles

Haga clic en los botones


arriba o abajo del cuadro
de diálogo para desplazar
un control a un nivel
superior o inferior,
respectivamente en el
orden z.

Figura 11.23 Botones de la barra rápida para cambiar el orden z


Traer al frente: sitúa el control en la Enviar al fondo: sitúa el control en la
posición superior (última) del orden z. posición interior (primera) del orden z.

Aproximar: asciende el control Alejar: desciende el control una


una posición en el orden z. posición en el orden z.

Capítulo 11, Herramientas y técnicas del Diseñador de fichas 249


fdtools.dwu Page 250 Friday, September 1, 1995 4:44 PM

Utilización de controles personalizados


Con la ayuda del lenguaje dBASE o el Diseñador de fichas, puede crear controles
Visual dBASE personalizados, derivados de clases estándar. Por ejemplo, si la aplicación
utiliza botones personalizados, puede diseñar éste una vez y guardarlo como control
personalizado para volver a utilizarlo. También puede utilizar controles VBX
compatibles con Microsoft Visual Basic 1.0.
El control personalizado puede estar constituido por un solo control o por un grupo.
Para crear un control personalizado,
1 Utilice el Diseñador de fichas para crear el control o grupo de controles que desea
almacenar.
2 Seleccione el control o grupo de controles en el Diseñador de fichas.
3 Elija Archivo|Guardar como personalizado para acceder al cuadro de diálogo
Guardar como personalizado; consigne la información necesaria y haga clic en
Aceptar.
Figura 11.24 Cuadro de diálogo Guardar como personalizado

Haga clic en
Guardar controles
seleccionados para Si guarda un solo control,
especificar un control especifique un nombre de clase.
personalizado.
Puede especificar si Introduzca el nombre, o utilice la
incluye el control en herramienta para visualizar una
la paleta de lista de archivos de control
controles. existentes. En un mismo archivo
puede guardar más de un control.

Para cargar un control personalizado de dBASE (generalmente guardado en un


archivo .CC) o un control VBX (guardado en un archivo .VBX) y mostrarlo en la
página Personalizada de la paleta de controles:
1 Elija Archivo |Definir controles personalizados en el menú del Diseñador de fichas.
2 Seleccione el archivo .CC o .VBX que desea cargar.
Nota También puede introducir los comandos LOAD DLL y SET PROCEDURE en la ventana
de comandos; así carga los controles en memoria antes de abrir el Diseñador de fichas.
Puede incluir, cambiar las propiedades y conectar código controlador de sucesos a los
sucesos de controles personalizados, de la misma forma que haría con controles
estándar.

250 Guía del usuario


fdtools.dwu Page 251 Friday, September 1, 1995 4:44 PM

Utilización de fichas base


Cuando crea una ficha en Visual dBASE, el Diseñador de fichas abre una ficha nueva
vacía por defecto y utiliza la clase Form como ficha base.
Puede crear una ficha personalizada y especificarla como nueva ficha base en el
Diseñador de fichas. Por ejemplo, si desea que varias fichas de la aplicación presenten
un aspecto similar, puede especificar todos los atributos comunes de estas fichas, como
colores, tamaño o controles una sola vez. Cuando haya establecido todos los rasgos
comunes, guarde la ficha para su uso futuro como ficha base.
Para crear una nueva ficha base:
1 Utilice el Diseñador de fichas para crear las características comunes de la ficha.
2 Elija Archivo|Guardar como personalizado para acceder al cuadro de diálogo del
mismo nombre.
3 Elija Guardar ficha y suministre el resto de la información del cuadro de diálogo,
como se describe en la Figura 11.24, “Cuadro de diálogo Guardar como
personalizado”.
Para utilizar una nueva ficha base:
1 Elija Archivo|Establecer clase de ficha personalizada.
2 Complete el cuadro de diálogo Establecer clase de ficha personalizada y elija Aceptar.
Figura 11.25 Cuadro de dálogo Establecer clase de ficha personalizada
Introduzca el nombre de archivo o emplee la
utilidad para ver una lista de archivos de
clase existentes. Un archivo puede contener
más de una clase.
Para recuperar la clase Form Elija el nombre de la clase que va a utilizar
como ficha base, elija como nueva ficha base.
Borrar la clase de ficha
personalizada.

Capítulo 11, Herramientas y técnicas del Diseñador de fichas 251


fdtools.dwu Page 252 Friday, September 1, 1995 4:44 PM

Utilización de formatos
Los formatos son combinaciones de configuraciones de fuente y color predefinidas a las
que se asigna un nombre. Para elegir un formato predefinido puede seleccionarlo en el
Experto de fichas o desde Formato|Definir el formato.
Figura 11.26 Cuadro de diálogo Definir el formato

Haga clic para elegir en una lista


de formatos predefinidos.

Algunas opciones de este cuadro de diálogo son:


• Borrar elimina el formato seleccionado.
• Restablecer recupera la lista inicial de formatos. Eliminará los formatos que haya
definido, por lo que debe usar este comando con precaución.
• Guardar como formato... permite asignar un nombre al conjunto de selecciones de
color y fuente actual.
• Aplicar ahora aplica el formato actual a la ficha actual.
Para obtener más información sobre los formatos, consulte la Ayuda en línea.

252 Guía del usuario


fdtools.dwu Page 253 Friday, September 1, 1995 4:44 PM

Utilización de fichas con múltiples páginas


Cuando crea una ficha, el Diseñador de fichas la abre en la primera página.
Para crear una ficha con múltiples páginas, elija el botón Página siguiente de ficha en la
barra rápida. El Diseñador de fichas añade una página cada vez que hace clic en el
botón.
Para desplazarse entre las páginas en el Diseñador de fichas:
• Utilice los botones Página siguiente de ficha y Página anterior de ficha de la
barra rápida.
• Elija Ver |Página anterior de ficha o Ver |Página siguiente de ficha.
• Utilice las teclas RePág y AvPág.
Puede incluir un control, como un botón o un cuadro de solapas, para permitir que los
usuarios se desplacen entre las páginas de la ficha. Consulte “Inclusión de solapas en
una ficha” en la página 294 para obtener información sobre el uso de cuadros de solapa
en fichas con múltiples páginas.
La página 0 de una ficha con múltiples páginas es una página “global”. Si incluye
controles en esta página, se verán en todas las páginas de la ficha. La página 0 muestra
los controles de las demás páginas para facilitar la ubicación de los controles globales
pero, si desea modificarlos, deberá desplazarse a la página correspondiente.
Cuando guarda una ficha con múltiples páginas, la página activa se convierte en la
página por defecto en tiempo de ejecución.

Operaciones con archivos


Cuando haya creado las fichas y trabajado con sus controles, deseará realizar algunas
operaciones con archivos, como guardar una ficha, modificarla, abandonar algunos
cambios, ejecutarla o imprimirla.

Modificación de fichas
Cuando se empieza a utilizar una ficha que se ha creado, siempre se encuentran formas
de mejorar su diseño. Quizá desee añadir un nuevo control o cambiar las propiedades
de la ficha, sus fuentes, colores, etcétera. Afortunadamente, el Diseñador de fichas
facilita la modificación de las fichas. Para ello, realice los siguientes pasos:
1 Para cambiar el diseño de una ficha, ábrala en modo diseño.
2 Elija Archivo |Abrir, seleccione la ficha que desea modificar, Diseñar ficha y Aceptar.
El Diseñador de fichas muestra la ficha con el diseño actual.
3 Cambie los componentes de la ficha que desee.
4 Cuando haya finalizado, guarde los cambios.
5 Ejecute la ficha para verificar su funcionamiento.

Capítulo 11, Herramientas y técnicas del Diseñador de fichas 253


fdtools.dwu Page 254 Friday, September 1, 1995 4:44 PM

Almacenamiento de cambios en una ficha


Para guardar los cambios realizados en el diseño de una ficha, es necesario guardarlo.
Al guardar un diseño por primera vez se crea un archivo de ficha (.WFM).
Para guardar un diseño de ficha, realice una de las siguientes acciones:
• Haga clic en el botón Guardar de la barra rápida.
• Escoja Archivo|Guardar como para guardar la ficha con otro nombre.
• Escoja Archivo|Guardar y cerrar para guardar el diseño y cerrar el Diseñador de
fichas.
Figura 11.27 Almacenamiento de una ficha nueva

Introduzca el nombre de la ficha.

Introduzca el nombre de la ficha nueva si todavía no lo ha hecho. Escoja una unidad y


un directorio destino, si es necesario, y pulse Aceptar. El Diseñador de fichas crea o
actualiza el archivo de ficha (.WFM).

Cancelación de los cambios


Si desea cancelar la creación de una nueva ficha o las modificaciones realizadas en otra
ya existente, puede cancelar los cambios. Para ello, elija Archivo |Abandonar y cerrar.

Ejecución de fichas
Para utilizar una ficha de entrada de datos, es necesario ejecutarla. Si está diseñando una
ficha, puede ejecutarla para ver los resultados de los cambios realizados y probar su
funcionamiento. Puede pasar fácilmente del modo diseño a ejecutar y viceversa.
Si ejecuta una ficha que aún no está guardada, aparece el cuadro de diálogo
Crear archivo, lo cual le permite guardarla antes de ejecutarla.
Para abrir una ficha en el modo ejecutar, efectúe una de las siguientes acciones:
• Escoja Archivo|Abrir, seleccione la ficha que desee ejecutar, elija Ejecutar ficha y
pulse Aceptar.
• En la ventana Selector o en la de catálogo, visualice las fichas, seleccione o haga doble
clic en el icono de la ficha. Mediante esta acción, aparece la ficha en el modo ejecutar.

254 Guía del usuario


fdtools.dwu Page 255 Friday, September 1, 1995 4:44 PM

Impresión de fichas
Puede imprimir una ficha en modo diseño o ejecutar realizando alguna de las siguientes
acciones:
• Haga clic en el botón Imprimir de la barra rápida.
• Escoja Archivo|Imprimir.

Capítulo 11, Herramientas y técnicas del Diseñador de fichas 255


fdtools.dwu Page 256 Friday, September 1, 1995 4:44 PM

256 Guía del usuario


creform.dwu Page 257 Friday, September 1, 1995 4:46 PM

Capítulo

12
Creación de fichas
Capítulo 12

En este capítulo se describe cómo utilizar el Diseñador de fichas para crear fichas y los
controles que contienen. Se explican las tareas habituales que permiten crear una ficha
sin escribir ni una línea de código. Para obtener más información sobre los controles de
programación, consulte la Guía del programador.
Antes de comenzar este capítulo, lea el Capítulo 10 y el Capítulo 11.

Proceso de creación de fichas


Para crear una ficha, hay que definir una ventana de ficha, añadirle controles, establecer
las propiedades de éstos, vincularlos a los datos y escribir el código de los sucesos.
Estas tareas se suelen realizar en el siguiente orden:
1 Cree la ficha.
2 Vincule la ficha a la tabla de dBASE (.DBF) o Paradox (.DB) o un archivo de consulta
(.QBE). La consulta puede incluir una o más tablas de dBASE, Paradox o SQL.
3 Establezca las propiedades de la ficha, incluidos el modo de ventana, el estado de ésta
y los menús.
4 Añada controles como campos de entrada, casillas de verificación y cuadros de
incremento.
5 Defina propiedades para personalizar las características de los controles.
6 Escriba y anexe código a las fichas y los controles si es preciso.
7 Guarde la ficha.
8 Ejecute la ficha y compruebe su diseño.

Capítulo 12, Creación de fichas 257


creform.dwu Page 258 Friday, September 1, 1995 4:46 PM

La creación de fichas es un proceso interactivo. Muchas veces tendrá que alternar entre
las tareas de diseño (adición, supresión, modificación de la disposición de los controles y
sus propiedades) y la ejecución de la ficha hasta que logre una versión que satisfaga sus
necesidades.
El Experto de fichas automatiza los pasos 2 a 5, lo cual reduce el tiempo y esfuerzo
necesarios para establecer el formato inicial de la ficha (consulte la página 259).

Nota preliminar
Al crear fichas que emplean datos de tabla, como las de entrada de datos, es conveniente
planificar las tablas de forma que resulten accesibles y eficientes para las fichas.
Ello tiene especial importancia cuando se trata de fichas que utilizan datos de varias
tablas. En el caso de las fichas multitabla hay que definir con cuidado las relaciones
entre tablas.
Para obtener información sobre el diseño de tablas en una aplicación, consulte el
Capítulo 3. Para vincular tablas con el Diseñador de consultas, consulte el Capítulo 9.

Creación de una ficha


Puede utilizar el Experto de fichas para que le ayude a diseñar y elaborar una ficha o
bien crearla de cero. Si desea emplear la ficha para visualizar y cambiar los datos de una
tabla, utilice el Experto de fichas.
Para crear una ficha, elija Archivo|Nuevo|Ficha
Aparece la pantalla inicial del Experto de fichas.
Figura 12.1 Pantalla inicial del Experto de fichas

Haga clic aquí para que el Experto de fichas


le facilite el diseño y la creación de la ficha.

Haga clic para crear la ficha de cero.

Decida cómo proceder.


• Si desea utilizar el Experto de fichas para facilitar las tareas de diseño y creación de la
ficha, seleccione Experto.
• Para comenzar el diseño de la ficha desde el principio, seleccione Diseñador.
Aparece una ficha vacía.

258 Guía del usuario


creform.dwu Page 259 Friday, September 1, 1995 4:46 PM

Figura 12.2 Una ficha vacía en el Diseñador de fichas

Puede seleccionar Ficha vacía en el Experto de fichas para


abrir una ficha en blanco a fin de crearla de cero.

Para obtener más información sobre cómo proceder con la ficha vacía, consulte
“Personalización de una ventana de ficha MDI” y “Creación de controles en una ficha”
más adelante en este capítulo.

Uso del Experto de fichas


El Experto de fichas permite ahorrar tiempo y esfuerzo automatizando los procesos de
adición de controles a la ficha, definición de propiedades de los controles, creación de
sus etiquetas y vinculación de los datos. Presenta diversas opciones y, según las
selecciones realizadas, crea una ficha. A continuación, puede emplear la ficha tal cual o
modificarla para adaptarla a sus necesidades.
Con el Experto de fichas, se elige:
• La tabla o consulta que contiene los datos que van a utilizarse en la ficha.
• Los campos de la tabla que deben incluirse en la ficha.
• El tipo de controles que representan los tipos de campo.
• La disposición de los campos de la ficha: una columna, varias, tabular o
(en el caso de las tablas relacionadas) relaciones de valores múltiples.
• Si la ficha debe tener múltiples páginas y cómo desplazarse entre ellas.
• El formato de color/fuente de los elementos de la ficha
Nota Si necesita más información mientras utiliza el Experto, elija Ayuda en la ventana
Experto de fichas.
El Experto de fichas genera una ventana de ficha y la vincula a una tabla, vista o
consulta. A continuación, crea los controles de ficha según los tipos de datos de los
campos seleccionados. Cuando el Experto termina, ofrece la opción de ejecutar la ficha o
continuar en el Diseñador de fichas para personalizarla.
Una vez generada, la ficha puede modificarse siempre que sea necesario, cambiando
la posición o el tamaño de los controles vinculados, creando controles nuevos y
definiendo las propiedades de los mismos. Para obtener más información,
consulte “Creación de controles en una ficha” más adelante en este capítulo.

Capítulo 12, Creación de fichas 259


creform.dwu Page 260 Friday, September 1, 1995 4:46 PM

En el resto de este capítulo muestra cómo crear una ficha de cero.

Acerca de las ventanas de ficha


Visual dBASE permite crear ventanas estándar del entorno Windows:
• Ventanas MDI
• Ventanas SDI
• Ventanas modales
• Ventanas no modales
En las secciones siguientes se describen brevemente estos tipos de fichas. Para obtener
más información sobre los distintos tipos de fichas que se emplean para crear
aplicaciones, consulte la Guía del programador.

Ventanas MDI y SDI


Puede crear ventanas compatibles con el Interface de documentos múltiples (MDI) de
Windows. MDI es un estándar de Windows que permite a una aplicación administrar
varias ventanas o vistas del mismo documento en la ventana principal de la aplicación.
En Visual dBASE, por ejemplo, puede tener varias ventanas (ventana de comandos,
Selector, Diseñador de tablas, etc.) abiertas a la vez. También puede abrir el mismo
documento (ficha, tabla, informe) varias veces.
También puede crear ventanas SDI (Interface de documento único). A diferencia de las
ventanas MDI, las ventanas SDI no contienen ventanas secundarias.
Generalmente creará ventanas MDI, debido a su flexibilidad. Resultan más apropiadas
para las fichas de entrada de datos. De hecho, las fichas que crea con el Diseñador de
fichas son ventanas MDI por defecto.

Ventanas modales y no modales


Visual dBASE permite crear ambos tipos de ventana.
Las ventanas no modales no toman el control del interface de usuario, por lo que el
usuario puede conmutar entre ventanas no modales mientras ejecuta una aplicación.
Por ejemplo, las diferentes ventanas que aparecen en el Diseñador de fichas de
Visual dBASE, como la paleta de controles, la paleta de campos y el Inspector son
ventanas no modales.
Las ventanas modales toman el control del interface de usuario, por lo que éste no puede
conmutar a otra ventana sin abandonar una ventana modal. Un cuadro de diálogo es un
ejemplo de ventana modal; cuando está abierto, no pueden realizarse acciones fuera de
él. Las fichas modales son la opción más adecuada para los cuadros de diálogo en las
aplicaciones.

260 Guía del usuario


creform.dwu Page 261 Friday, September 1, 1995 4:46 PM

Personalización de una ventana de ficha MDI


Las siguientes son algunas características estándar de las ventanas MDI:
• Es posible modificar su posición y tamaño.
• Tienen un título de ventana, un cuadro del menú de Control y los botones Maximizar
y Minimizar.
• Cuando están activas, sus menús sustituyen a los de la barra de menús de la
aplicación.
• Están delimitadas por el marco de la ventana principal MDI.
Si la propiedad MDI se define como True (verdadera), estas características se aplican a la
ficha de forma automática. Por tanto, las siguientes propiedades de ficha se definen
como True automáticamente y no pueden cambiarse: Minimize, Maximize, Sizeable,
Moveable y SysMenu.
La siguiente ventana MDI de ejemplo muestra las propiedades de ventana necesarias y
optativas que se pueden definir para la ficha.
Figura 12.3 Ventana MDI de ejemplo
Propiedad Sysmenu (necesaria): Propiedades Minimize y Maximize (necesarias):
cuadro del menú de Control botones Minimizar y Maximizar

Propiedad Moveable (necesaria): Propiedad Text (necesaria): texto del título


puede desplazar la ventana arrastrando
la barra de título.
Propiedad ScrollBar (optativa): barras de
desplazamiento
Propiedad WindowState (necesaria).
0=Normal, ni minimizada ni maximizada Propiedad Sizeable (necesaria) cuadros de
dimensionamiento

Para obtener más información sobre cualquiera de estas propiedades, pulse F1 cuando
aparezca resaltada en el Inspector de objetos.

Vinculación de una ficha con datos


Si la finalidad de la ficha es visualizar o modificar los datos de una tabla, es necesario
vincularla con la tabla. Por ejemplo, para cambiar los datos de la tabla Pedidos mediante
la ficha, deberá vincularla con dicha tabla.
Las fichas pueden vincularse con archivos de tabla de dBASE (.DBF) o Paradox (.DB), o
con archivos de consulta (.QBE). La consulta puede contener una o más tablas de
dBASE, Paradox o SQL.
Para vincular una ficha con datos, utilice el modo Diseño de fichas e introduzca el
nombre del archivo de tabla o consulta en el cuadro de texto que hay junto a la
propiedad View, o haga clic sobre el botón Utilidades y seleccione uno.

Capítulo 12, Creación de fichas 261


creform.dwu Page 262 Friday, September 1, 1995 4:46 PM

Definición del título de la ventana


Las ventanas MDI siempre tienen título. Por defecto, el título de una ficha nueva es
“Ficha”. Conviene sustituir este título por un nombre más descriptivo. Por ejemplo, si
una ficha muestra información sobre los clientes para su edición, podría llamarla
“Ficha de entradas de cliente”. Para cambiar el título, introdúzcalo en el cuadro de texto
junto a la propiedad Text.

Adición de una barra de menús


Una ventana MDI puede tener un menú propio que sustituya a la barra de menús de la
aplicación siempre que se ejecute la ficha. Puede utilizar el Diseñador de menús para
crear un menú. Para obtener más información, consulte el Capítulo 13.
Para añadir un menú, introduzca su nombre de archivo (.MNU) en el cuadro de texto
junto a la propiedad MenuFile, o haga clic sobre el botón Utilidades para seleccionarlo.

Definición del tamaño y posición por defecto de la ventana


Las ventanas MDI deben ser más pequeñas que la ventana de la aplicación al abrir ésta,
y deben aparecer dentro de los límites del marco. Puede establecer el tamaño y la
posición de una ventana mediante el ratón, o expandir Propiedades de posición y
definir las propiedades adecuadas.
Visual dBASE también puede establecer el tamaño de la ventana automáticamente al
abrirla, según el tamaño y la posición de los controles que contenga. Para ello, expanda
Propiedades de la ventana y defina Autosize como verdadera (true). Una vez abierta,
los usuarios pueden cambiar el tamaño y la posición de la ventana siempre que sea
preciso.

Desactivación de la tecla Esc


Por defecto, los usuarios pueden cerrar la ficha con la tecla Esc. Es posible desactivar
dicha tecla para que sólo cierren la ventana mediante otros métodos, por ejemplo con un
botón de comando, las teclas Ctrl+F4 o el cuadro del menú de Control.
Para desactivar la tecla Esc, expanda Propiedades de la ventana y defina como falsa
(false) la propiedad EscExit.

262 Guía del usuario


creform.dwu Page 263 Friday, September 1, 1995 4:46 PM

Creación de controles en una ficha


Tal como se describe en el Capítulo 10, un control es un objeto que aparece en una ficha
y permite acceder a los datos e iniciar acciones. Por ejemplo, puede introducir datos en
un control de campo de entrada, seleccionar un número en un control de cuadro de
incremento o cerrar una ficha pulsando un control de botón de comando. El Capítulo 11
ofrece una descripción de los tipos de controles que pueden utilizarse.
En esta sección se explica cómo crear controles, disponerlos en una ficha, vincularlos con
datos y cambiar sus propiedades según las necesidades. Se describen todos los controles
de la paleta de controles (salvo los de botón de comando) en el orden en que aparecen en
dicha paleta. Para obtener información sobre la creación de controles de botón de
comando y barras rápidas, consulte el Capítulo 13.
El Inspector de objetos se emplea para definir o cambiar las propiedades de los controles
(consulte el Capítulo 11). Para establecer propiedades de atributo como color, fuente y
tamaño, se utiliza la solapa Propiedades del Inspector de objetos.
Para asociar controles determinados con tipos de campos determinados, se utiliza el
comando Formato|Asociar tipos de controles con Tipo de campo antes de añadir los
controles a la ficha (también puede definirse esta opción en el Experto de fichas).
También puede asignar procedimientos a los controles, de forma que Visual dBASE
ejecute una acción cuando se dispara un suceso (como un clic del ratón) asociado a un
control. Esta opción se define en la solapa Sucesos del Inspector de objetos. Para escribir
los procedimientos (o controladores de sucesos), puede utilizar el Editor de
procedimientos. Para consultar las líneas maestras de la escritura de controladores de
sucesos, consulte el Capítulo 14 de la Guía del programador.

Creación de texto
Los objetos de texto muestran información dentro de la ficha. Son controles de sólo
lectura, es decir, no aceptan entradas del teclado y no se pueden vincular con datos.
Puede utilizar objetos de texto como etiquetas para identificar otros controles
(como cuadros de lista o barras de desplazamiento) de la ficha. También sirven para
visualizar títulos, identificar grupos de objetos relacionados y añadir una descripción
breve.
Para añadir un objeto de texto, haga clic sobre el control de texto en la paleta de
controles y sitúelo en la posición apropiada de la ficha.
Figura 12.4 Objeto de texto nuevo

Texto de etiqueta
Región de texto

Defina la propiedad Alignment para que cambie donde aparecen datos en la


región de texto.

Capítulo 12, Creación de fichas 263


creform.dwu Page 264 Friday, September 1, 1995 4:46 PM

Defina la propiedad Text para sustituir el texto de la etiqueta por un nombre más
descriptivo. Puede cambiar la fuente del texto mediante el cuadro de diálogo Fuente y
establecer las propiedades Function y Picture para aplicar un formato de visualización a
los datos.

Especificación de teclas rápidas para etiquetas


Si utiliza un objeto de texto como etiqueta de un control, puede asignar una tecla rápida
a la etiqueta para que el usuario pueda desplazarse fácilmente al control asociado en el
momento de ejecutar la ficha. Por ejemplo, para pasar rápidamente al campo Dirección,
podría definir la letra D como tecla rápida. De este modo, el usuario que ejecuta la ficha
puede pulsar Alt+D para trasladarse al campo Dirección. En la figura siguiente se
muestran teclas rápidas asignadas a las etiquetas.
Figura 12.5 Objetos de texto con teclas rápidas

No hay tecla rápida; el texto no tiene


asociado ningún control de entrada de
datos.
Las teclas rápidas facilitan el
desplazamiento por la ficha.

Para conectar la etiqueta con teclas rápidas del cuadro de texto con un campo de
edición de datos, se configura el orden z de la ficha. El cuadro de texto debe preceder
inmediatamente en el orden z al campo de entradas asociado.
Consulte “Paso 7: Modificación del orden z” en la página 335.
Para establecer una tecla rápida en el texto especificado por la propiedad Text,
introduzca la letra apropiada precedida por un ampersand (&). Por ejemplo, para
definir la C de Ciudad, se introduce la cadena &Ciudad. Se suele emplear como tecla
rápida la primera letra de la etiqueta o la que resulte más fácil de recordar (por ejemplo,
Imprimir).
Nota Las teclas rápidas de una misma ficha deben ser únicas, es decir, una letra no debe
corresponder a más de una etiqueta. Si dos etiquetas comienzan por la misma letra,
asigne otra letra a una de ellas (por ejemplo, Ciudad y Contacto).

264 Guía del usuario


creform.dwu Page 265 Friday, September 1, 1995 4:46 PM

Creación de campos de entrada


Los campos de entrada aceptan entradas de texto. Se pueden vincular con campos de
cualquier tipo en las tablas de dBASE. Por ejemplo, podría utilizar un campo de entrada
para un nombre de cliente, número de pedido, fecha de venta, etc. En el caso de las
fichas de entrada de datos, los campos de entrada son los que más se emplean.
Para añadir un campo de entrada a una ficha, haga clic sobre el control de campo de
entrada en la paleta de controles y sitúelo en la posición apropiada de la ficha.
Figura 12.6 Campo de entrada nuevo

Área de entrada.

Puede establecer las siguientes propiedades de un campo de entrada, entre otras:


• Font (fuente): incluye el estilo (FontBold, FontItalic), FontSize y FontName.
• Edit (edición): proporciona las opciones MaxLength, Function y Picture para aplicar
un formato a los datos.
• Visual (visualización): incluye Border.
En este momento, puede desplazar, alinear el campo de entrada o cambiar su tamaño
como le convenga. Como mínimo, podría añadir una etiqueta descriptiva (un objeto de
texto).
Figura 12.7 Ejemplo de un campo de entrada de datos

Se añade una etiqueta (objeto de texto) para identificar la información que


contiene un campo de entrada de datos.

Capítulo 12, Creación de fichas 265


creform.dwu Page 266 Friday, September 1, 1995 4:46 PM

Vinculación de campos de entrada con campos de tabla


Puede vincular un control de campo de entrada con un campo de tabla para que el
usuario pueda visualizar y modificar los datos del campo al ejecutar la ficha.
Por ejemplo, si vincula el campo NOMBRE de la tabla Cliente con un campo de entrada
situado en una ficha, el usuario puede ejecutar la ficha e introducir nombres de clientes
en el campo mediante ese control. Si ha empleado el Experto de fichas para crear la
ficha, el vínculo de datos se define de forma automática.
Para vincular un control de entrada, expanda DataLink en Propiedades y realice una de
las siguientes acciones:
• Haga clic sobre el botón Utilidades de la propiedad DataLink para seleccionar el
campo mediante el cuadro de diálogo Elegir campo. Para obtener información,
pulse F1 para acceder a la Ayuda en línea.
• Introduzca un nombre de campo en el cuadro de texto junto a la propiedad DataLink,
precedido por el nombre de la correspondiente tabla o alias. Por ejemplo, para
vincular el control de entrada de datos con el campo NUM_CLI de la tabla Cliente,
introduzca cliente->num_cli.
Al completar el vínculo, los datos de este campo del registro actual aparecen en el área
de entrada del campo de entrada.

Validación de datos
La validación de datos es una tarea frecuente en las fichas de entrada de datos.
Mediante la especificación de las condiciones que deben cumplirse para aceptar más
datos, puede garantizar que se introduzca correctamente la información.
Para validar datos, utilice las siguientes propiedades:
• Valid. Esta es una propiedad de sucesos a la que se asigna una condición de
validación, que puede ser una expresión simple o un procedimiento que evalúa el
valor de entrada.
Para obtener más información sobre la creación de procedimientos para sucesos
como Valid, consulte el Capítulo 14 de la Guía del programador.
• ValidRequired. Defina ValidRequired como verdadera (true) para validar tanto los
datos existentes como los nuevos. Por ejemplo, si cambia la condición Valid de
SALARIO >= 120000 a SALARIO >= 150000, tal vez quiera detectar las entradas
existentes que no cumplan la condición nueva. Si ValidRequired se define como falsa
(false, el valor por defecto), sólo se comprueban las entradas nuevas.
• ValidErrorMsg. Puede especificar un mensaje personalizado para que aparezca en la
barra de estado si el usuario introduce un valor que no cumple la condición Valid.
Para ello, introduzca una cadena de texto para la propiedad ValidErrorMsg.
Si no especifica ningún mensaje, aparece el valor por defecto, Entrada incorrecta, si el
usuario introduce un valor no válido.

266 Guía del usuario


creform.dwu Page 267 Friday, September 1, 1995 4:46 PM

Asignación de formato a los datos de un campo


Por defecto, el Diseñador de fichas muestra datos sin formato en un campo de entrada.
Sin embargo, es posible aplicar un formato especial para cambiar el aspecto de los datos
en pantalla, modificar el formato del texto introducido en el campo o restringir los
caracteres que pueden utilizarse. Por ejemplo, quizá quiera convertir el texto del campo
PROVINCIA a mayúsculas o sólo aceptar números en el campo TELEFONO.
Para definir un formato especial, puede utilizar funciones y cláusulas de plantilla.
Generalmente, las funciones aplican el formato a una cadena de texto entera, mientras
que las plantillas lo aplican a determinados caracteres de la cadena. Para obtener
información más detallada sobre las opciones disponibles, consulte los temas Picture y
Function de la Ayuda en línea.
Figura 12.8 Funciones y plantillas de ejemplo para un campo de entrada

La cláusula de plantilla @R 99999-9999 añade un guión en la sexta posición y


sólo permite introducir valores numéricos.

La cláusula de plantilla @R (999) 999-9999 añade un paréntesis en la primera


y cuarta posición, un espacio en la quinta, un guión en la décima y sólo permite
introducir valores numéricos.

Para asignar una cláusula de plantilla a un campo de entrada, expanda Edición en


propiedades e introduzca la cláusula como propiedad Picture. Para establecer una
función, expanda Edición e introdúzcala en el cuadro de texto junto a la propiedad
Function. En cualquier caso, puede crear una plantilla o función mediante la
herramienta Picture. Para visualizarla, haga clic sobre el botón Utilidades. Para obtener
más información sobre esta herramienta, pulse F1 para acceder a la Ayuda en línea.

Creación de cuadros combinados


Los cuadros combinados contienen tanto campos de entrada como cuadros de lista.
Resultan útiles cuando la ficha requiere entradas del usuario y pueden mostrar una lista
de valores posibles. Por ejemplo, en un cuadro de diálogo llamado Crear archivo, los
usuarios pueden teclear otro nombre para el archivo o seleccionar una lista. Los cuadros
combinados se pueden utilizar con datos de cualquier tipo, salvo campos memo,
binarios y OLE.
Nota Consulte la página 274 para obtener información sobre cuándo utilizar cuadros de lista
en lugar de cuadros combinados.
Para añadir un cuadro combinado, haga clic sobre el control de cuadro combinado de la
paleta de controles y, a continuación, sitúe el cuadro en la posición apropiada de la
ficha.

Capítulo 12, Creación de fichas 267


creform.dwu Page 268 Friday, September 1, 1995 4:46 PM

Figura 12.9 Cuadro combinado nuevo

Área de entrada
Lista

En la figura siguiente se muestra un cuadro combinado vinculado con datos.


Figura 12.10 Ejemplo de cuadro combinado vinculado con datos

La selección actual de la lista aparece en el área de entrada.

Puede cambiar la fuente de los elementos de la lista mediante el


cuadro de diálogo Fuente.

Vinculación de un cuadro combinado con un campo de tabla


Puede vincular un cuadro combinado con un campo de tabla para que los usuarios
puedan visualizar y modificar el contenido de la tabla al ejecutar la ficha. Por ejemplo,
podría vincular el cuadro combinado CIUDAD con un campo de la tabla Cliente, de
forma que los usuarios puedan cambiar o introducir nombres de ciudad en el campo.
Para vincular un cuadro combinado con un campo de tabla, expanda DataLink en
Propiedades y realice una de las siguientes acciones:
• Haga clic sobre el botón Utilidades en el cuadro de texto junto a la propiedad
DataLink para seleccionar el campo mediante el cuadro de diálogo Elegir campo.
Para obtener más información, pulse F1 para acceder a la Ayuda en línea.
• Introduzca un nombre de campo en el cuadro de texto junto a la propiedad DataLink,
precedido por el correspondiente nombre de tabla o alias. Por ejemplo, para vincular
el cuadro combinado con el campo CIUDAD de la tabla Cliente, introduzca
cliente->ciudad.
Tras vincular el cuadro combinado con un campo de tabla, hay que crear mensajes con
listas donde el usuario pueda elegir opciones. Esta operación se describe en el apartado
siguiente.

268 Guía del usuario


creform.dwu Page 269 Friday, September 1, 1995 4:46 PM

Especificación de mensajes para una lista desplegable


Puede incluir cinco tipos de datos como mensajes en una lista desplegable:
• Elementos de una matriz
• Valores de un campo de tabla
• Archivos del directorio actual
• Nombres de campos de una tabla
• Tablas del directorio actual
Para especificar el tipo de datos que desea utilizar como mensajes, defina la propiedad
DataSource. Estos elementos sólo pueden visualizarse y seleccionarse, no es posible
modificarlos. Por ejemplo, si decide mostrar los nombres de los archivos del directorio
actual como mensajes, los usuarios sólo podrán seleccionar un nombre de archivo en la
lista. No podrán añadir un archivo al directorio actual mediante el cuadro combinado.
Es útil comprender la sutil diferencia que existe entre las propiedades DataLink y
DataSource. Cuando se vincula un control con un campo de tabla mediante DataLink, se
crea un vínculo bidireccional, es decir, los cambios realizados en la ficha se reflejan en la
tabla y viceversa. Sin embargo, con DataSource se establece el vínculo con una fuente de
datos de sólo lectura. Es posible acceder a los datos de la fuente, pero no cambiarlos ni
añadir más.
Los valores que pueden definirse con la propiedad DataSource son:
• Array muestra todos los elementos de una matriz en una lista desplegable.
Una matriz es una variable de memoria especial que puede contener datos de
cualquier tipo (numéricos, de caracteres, de fecha, etc.). Puede crear una matriz en el
Diseñador de fichas mediante el generador de propiedades DataSource del Inspector.
• Field muestra todos los valores del campo de tabla especificado en la lista
desplegable. Por ejemplo, si define la propiedad DataSource como
FIELD INVENT->EXISTENC, todos los números de existencia del campo
EXISTENC de la tabla Invent aparecen en la lista desplegable. Ello resulta útil si el
cuadro combinado está vinculado con un campo de tabla (mediante la propiedad
DataLink) y se pretende ofrecer a los usuarios un conjunto de valores almacenados
en otra tabla.
• File muestra en la lista desplegable los nombres de todos los archivos del directorio
actual. Ello resulta útil para que los usuarios puedan seleccionar un archivo con el fin
de abrirlo, suprimirlo, etc. Puede establecer los archivos que deben aparecer en la
lista mediante una especificación de nombre de archivo. Por ejemplo, la
especificación *.TXT sólo incluye los archivos que llevan la extensión .TXT, mientras
que *.* incluye todos los archivos.
• Structure presenta los nombres de campo de la tabla actual en la lista desplegable.
• Tables muestra los nombres de todas las tablas del directorio actual o base de datos
SQL en la lista desplegable.

Capítulo 12, Creación de fichas 269


creform.dwu Page 270 Friday, September 1, 1995 4:46 PM

Nota Se suele vincular el cuadro combinado con los tipos de datos fuente de la especificación
de archivo, estructura y tabla para realizar acciones, como operaciones de archivo o de
tabla, al seleccionar los mensajes correspondientes. Ello implica que hay que escribir
código de gestión de sucesos; consulte las líneas maestras en el Capítulo 14 de la
Guía del programador.
Para especificar cualquiera de los tipos de mensaje descritos, puede hacer clic sobre el
botón Utilidades de la propiedad DataSource y seleccionar el apropiado en la lista
Tipo del cuadro de diálogo Elegir el origen de los datos. Si necesita más información
sobre las opciones del cuadro de diálogo, pulse F1 para acceder a la Ayuda en línea.

Selección del estilo de cuadro combinado


Puede crear cuadros combinados de tres tipos:
• Sencillo. Los cuadros combinados simples aparecen con un cuadro de texto y una
lista desplegable. Este estilo es idóneo para las listas que contienen pocos elementos.
• Desplegable (valor por defecto). Los cuadros combinados desplegables sólo
contienen un cuadro de texto. Para visualizarlos, el usuario hace clic sobre el botón de
flecha junto al cuadro de texto. Utilice este estilo si la lista contiene muchos elementos
o desea ahorrar espacio en pantalla.
• Lista Desplegable. Los cuadros combinados de lista desplegable son parecidos a los
desplegables, salvo que los usuarios sólo pueden seleccionar los elementos de la lista.
Utilice este tipo para evitar que los usuarios introduzcan valores no válidos.
Para cambiar el estilo, puede expandir Propiedades de visualización y seleccionar el
estilo apropiado en la lista de propiedades Style.
Figura 12.11 Ejemplo de estilos de cuadro combinado

Sencillo Desplegable Lista Desplegable

Ordenación de listas de valores


Los cuadros combinados pueden mostrar los valores tanto en orden natural
(no ordenados) como ordenados. Si están ordenados, los elementos aparecen por orden
alfabético, numérico o cronológico (siempre ascendente).
El orden elegido debe depender de la información en la lista. Por ejemplo, si la lista
incluye dos docenas de ciudades donde se envían más productos, puede que desee
ordenarla para facilitar la localización de la ciudad apropiada. Si sólo tiene clientes en
un par de ciudades y una o dos son las más frecuentes, puede dejar la lista sin ordenar y
situar dichas ciudades en primer lugar.
Para ordenar valores en un cuadro combinado, expanda DataLink en Propiedades y
defina la propiedad Sorted como verdadera (true).

270 Guía del usuario


creform.dwu Page 271 Friday, September 1, 1995 4:46 PM

Figura 12.12 Ejemplo de cuadros combinados ordenados y no ordenados

Ordenados No ordenados

Creación de cuadros de incremento


Los cuadros de incremento contienen números o fechas. Los usuarios introducen
valores en estos cuadros aumentando o reduciendo el valor actual con las flechas arriba
y abajo, o mediante el teclado. Los cuadros de incremento pueden vincularse con
campos numéricos, de coma flotante y de fecha.
Por ejemplo, podría utilizar un cuadro de incremento para permitir que el usuario
seleccione un valor simple, como Edad o Peso, en una ficha. De la misma manera,
podría emplear uno para la FECH_VENTA de los pedidos contenidas en una ficha y
utilizar la fecha actual como valor por defecto. De esta manera, los usuarios ahorran
pulsaciones al introducir facturas recientes, ya que pueden seleccionar la fecha
rápidamente en lugar de teclearla.
Para añadir un cuadro de incremento, haga clic sobre el control apropiado de la paleta
de controles y sitúelo en la posición adecuada de la ficha.
Figura 12.13 Cuadro de incremento nuevo

Área de entrada. Defina la propiedad SpinOnly para activar (por defecto) o


desactivar el área de entrada.

Puede establecer las siguientes propiedades de los cuadros de incremento, entre otras:
• Font (fuente): incluye el estilo (FontBold, FontItalic), FontSize y FontName.
• Edit (edición): incluye Function, Picture, Rangemax y Rangemin, para asignar
formato a los datos.
• Visual (visualización): incluye Border.

Capítulo 12, Creación de fichas 271


creform.dwu Page 272 Friday, September 1, 1995 4:46 PM

El siguiente ejemplo muestra un grupo de cuadros de incremento incluidos en una


ficha.
Figura 12.14 Ejemplo de cuadros de incremento

Las etiquetas describen el contenido del cuadro de incremento.


La etiqueta del rectángulo describe las características comunes
de los cuadros del grupo.
El rectángulo agrupa visualmente estos cuadros de incremento
relacionados, que están apilados en sentido vertical y alineados a la
derecha para facilitar la introducción de datos.

Vinculación de un cuadro de incremento con un campo de tabla


Puede vincular un control de cuadro de incremento con un campo numérico, de coma
flotante o de fecha de una tabla para que los usuarios puedan visualizar y cambiar los
datos del campo al ejecutar la ficha. Si ha empleado el Experto de fichas para crear el
control, el vínculo de datos se define de forma automática.
Para vincular un control de cuadro de incremento, expanda DataLink en Propiedades y
realice una de las siguientes operaciones:
• Haga doble clic sobre el botón Utilidades de la propiedad DataLink para seleccionar
el campo mediante el cuadro de diálogo Elegir campo. Para obtener más
información, pulse F1 para acceder a la Ayuda en línea.
• Introduzca un nombre de campo en el cuadro de texto junto a la propiedad DataLink,
precedido por el correspondiente nombre de tabla o alias. Por ejemplo, para vincular
el control con el campo FECH_VENTA de la tabla Cliente, introduzca
cliente ->fech_venta.
Cuando se completa el vínculo, los datos de los campos del registro actual aparecen en
el cuadro de incremento.

Definición del paso


El paso determina el valor de cada incremento cuando los usuarios aumentan o reducen
el valor del cuadro de incremento. Por defecto, se emplea 1 (1.0) para los valores
numéricos y de coma flotante y un día para los valores de fecha.
Sin embargo, puede que desee aumentar o reducir este valor. Por ejemplo, para añadir o
restar una semana de la fecha, defina el paso como 7. De la misma manera, para añadir o
restar pesetas de un precio rebajado, utilice 0.01. Para establecer el paso de un cuadro de
incremento, cámbielo en el cuadro de texto junto a la propiedad Step.

Validación de entradas de cuadros de incremento


Por defecto, un cuadro de incremento permite a los usuarios introducir o seleccionar
cualquier valor válido para el tipo y tamaño del campo vinculado. Sin embargo, en
algunos casos puede que desee restringir las entradas a un determinado rango de
valores o requerir la introducción o selección de un valor.

272 Guía del usuario


creform.dwu Page 273 Friday, September 1, 1995 4:46 PM

Definición de un rango válido


Por defecto, el Diseñador de fichas no limita los datos de los cuadros de incremento a
ningún rango de valores. Sin embargo, tal vez quiera utilizar un rango de valores
válidos con algunos datos. Por ejemplo, podría limitar la calificación de calidad de un
servicio a valores de 1 a 10, o evitar que un porcentaje pase de 100.
Para establecer un rango válido en un cuadro de incremento, expanda Edición en
Propiedades y realice las siguientes acciones:
1 Defina la propiedad RangeRequired como True.
2 Asigne el valor mínimo apropiado a RangeMin.
3 Asigne el valor máximo apropiado a RangeMax. Por defecto se utiliza 100.
A partir de entonces, el cuadro de incremento no aceptará valores incorrectos al ejecutar
la ficha.

Código de validación
Puede añadir un código de validación al suceso Valid de un cuadro de incremento.
Por ejemplo, puede exigir que los usuarios introduzcan una fecha de pedido del año
actual. Para obtener más información, consulte la Guía del programador.
Si escribe código para el suceso Valid, puede exigir que los datos introducidos en el
cuadro de incremento cumplan los criterios de validación especificados. Para requerir
que el usuario introduzca datos en el cuadro de incremento, expanda Editar
propiedades y defina ValidRequired como True.

Para impedir que los usuarios introduzcan valores


Por defecto, el Diseñador de fichas permite la introducción de valores en el cuadro de
texto de un cuadro de incremento. Sin embargo, en algunos casos puede ser preferible
que los usuarios seleccionen valores en lugar de introducirlos. Por ejemplo, si una fecha
de cierre semanal siempre tiene que ser el viernes y el cuadro de incremento sólo
aumenta o reduce el valor de fecha en una semana (7 días), quizá prefiera desactivar el
área de edición para evitar que los usuarios introduzcan fechas que no sean viernes.
Para desactivar el área de edición de un cuadro de incremento, defina la propiedad
SpinOnly como True.

Asignación de formato a los datos


Por defecto, el Diseñador de fichas muestra los datos sin formato en los cuadros de
incremento. Sin embargo, es posible añadir un formato especial para modificar el
aspecto de los datos en pantalla o cambiar el formato del texto introducido.
Por ejemplo, puede que desee añadir un signo de porcentaje o un separador para los
números mayores que 999.
Para añadir un formato especial, puede utilizar funciones y cláusulas de plantilla.
Las funciones suelen aplicar el formato a cadenas de texto enteras, mientras que las
plantillas lo aplican a los distintos caracteres de la cadena. Para obtener información más
detallada, consulte los temas Picture y Function de la Ayuda en línea.

Capítulo 12, Creación de fichas 273


creform.dwu Page 274 Friday, September 1, 1995 4:46 PM

Figura 12.15 Cuadro de incremento con datos sin formato

Para aplicar una plantilla a un cuadro de incremento, expanda Editar propiedades e


introduzca una cláusula de plantilla en el cuadro de texto junto a la propiedad Picture.
Para especificar una función, expanda Editar propiedades e introdúzcala en el cuadro
de texto junto a la propiedad Function. En cualquier caso, puede utilizar la herramienta
Picture para crear una plantilla o función. Para visualizar dicha herramienta, haga clic
sobre el botón Utilidades. Para obtener más información, pulse F1 para acceder a la
Ayuda en línea.

Creación de cuadros de lista


Utilice cuadros de lista para presentar opciones al usuario. Por ejemplo, un cuadro de
lista puede proporcionar una lista de archivos que el usuario puede abrir, o una lista de
los números de existencia disponibles.
Si duda sobre utilizar un cuadro de lista o combinado, tenga en cuenta los siguientes
factores:
• Los cuadros combinados pueden ofrecer una lista y aceptar valores introducidos por
el usuario, mientras que los cuadros de lista sólo permiten elegir una opción en una
lista.
• Si va a establecer un vínculo con un campo de tabla y desea realizar operaciones de
edición, utilice un cuadro combinado. Los cuadros de lista sólo muestran los valores
de campo existentes, que los usuarios no pueden cambiar.
• Para permitir que los usuarios seleccionen más de un elemento de una lista, emplee
un cuadro de lista. Los cuadros combinados permiten seleccionar un solo elemento.
Para añadir un cuadro de lista, haga clic sobre el control correspondiente en la paleta de
controles y sitúelo en la posición apropiada de la ficha.
Figura 12.16 Cuadro de lista nuevo

274 Guía del usuario


creform.dwu Page 275 Friday, September 1, 1995 4:46 PM

Figura 12.17 Lista de ejemplo vinculada con datos

Active la propiedad CurSel para seleccionar el elemento por defecto de la lista.


Este valor cambia si el usuario elige otro valor al ejecutar la ficha.
Se añade una etiqueta de texto para describir el contenido de la lista.
Puede cambiar la fuente del texto de la lista con el cuadro de diálogo Fuente.

Especificación de mensajes en un cuadro de lista


Puede utilizar cinco tipos de datos como mensajes en un cuadro de lista:
• Elementos de una matriz.
• Valores de un campo de tabla.
• Archivos del directorio actual.
• Nombres de campos de tabla.
• Tablas del directorio actual.
Para especificar el tipo de datos que deben emplearse como mensajes, se define la
propiedad DataSource. Estos elementos sólo pueden visualizarse y seleccionarse; no es
posible modificarlos. Por ejemplo, si decide mostrar los nombres de los archivos del
directorio actual como mensajes de lista, los usuarios sólo podrán seleccionar un
nombre de archivo en la lista. No podrán cambiar los nombres de archivo desde el
cuadro de lista. Los valores que pueden definirse con la propiedad DataSource son:
• Array muestra todos los elementos de una matriz en el cuadro de lista. Consulte la
explicación en la página 269 y en el Capítulo 5 de la Guía del programador.
• Field presenta todos los valores del campo de tabla especificado en el cuadro de lista.
Consulte la página 269.
• File muestra los nombres de todos los archivos del directorio actual en el cuadro de
lista. Consulte la página 269.
• Structure presenta los nombres de los campos de la tabla actual en el cuadro de lista.
• Tables muestra los nombres de todas las tablas del directorio actual en el cuadro de
lista.
Para especificar uno de estos tipos de mensajes, haga clic sobre el botón Utilidades de la
propiedad DataSource y seleccione el apropiado en la lista Tipo del cuadro de diálogo
Elegir el origen de los datos. Para obtener más información sobre los elementos de este
cuadro, pulse F1 para acceder a la Ayuda en línea.

Capítulo 12, Creación de fichas 275


creform.dwu Page 276 Friday, September 1, 1995 4:46 PM

Selección de varios valores


Por defecto, el Diseñador de fichas permite elegir un solo valor por lista. Sin embargo,
en algunos casos puede que sea preferible poder realizar varias selecciones. Por ejemplo,
si un cuadro de diálogo contiene una lista de archivos para copiar y se pueden escoger
varios, los usuarios pueden seleccionar y copiar múltiples archivos de forma
simultánea. Para obtener más información, consulte la Guía del programador.
Para permitir selecciones múltiples, expanda DataLink en Propiedades y defina la
propiedad Multiple como verdadera (True).
Figura 12.18 Ejemplo de una lista con selecciones múltiples

Este cuadro de lista permite realizar selecciones múltiples (Multiple es True)


y tiene varios elementos seleccionados.

Ordenación de valores de lista


Un cuadro de lista puede mostrar valores en orden natural (sin ordenar) y ordenado.
Consulte la explicación en la página 270.
Si están ordenados, los elementos de la lista aparecen por orden alfabético, numérico o
cronológico (siempre ascendente). Se elige el orden más cómodo para la introducción de
información en la ficha. Por ejemplo, si una ficha de pedidos incluye una lista de dos
docenas de productos (por EXISTENC), puede que desee ordenar la lista para facilitar la
localización del producto apropiado. Si se venden media docena de productos en total,
pero uno o dos con más frecuencia, podría dejar la lista sin ordenar y colocar los
productos más vendidos al principio.
Para ordenar valores en un cuadro de lista, expanda DataLink en Propiedades y defina
la propiedad Sorted como verdadera.

276 Guía del usuario


creform.dwu Page 277 Friday, September 1, 1995 4:46 PM

Creación de casillas de verificación para datos lógicos


Las casillas de verificación permiten elegir entre dos condiciones opuestas, como sí o no,
activado o desactivado y verdadero o falso. Por ejemplo, puede elegir entre ciudadano y
extranjero, exento y no exento, empleado o desempleado. Las casillas de verificación
también se denominan conmutadores porque permiten alternar dos estados: marcado
(sí, activado, verdadero, seleccionado) o no marcado (no, desactivado, falso, no
seleccionado, etc.). Estas casillas pueden vincularse con los campos lógicos de una tabla.
Para añadir una casilla de verificación a una ficha, haga clic sobre el control
correspondiente de la paleta de controles y sitúelo en la posición apropiada de la ficha.
Figura 12.19 Casilla de verificación nueva

Defina la propiedad Value para determinar si la casilla está


marcada (.T.) o no (.F.). Está marcada por defecto.
Defina la propiedad Text para sustituir el texto de la etiqueta por un
nombre más descriptivo. Puede cambiar la fuente del texto con el
cuadro de diálogo Fuente.

En la figura siguiente se muestran dos casillas de verificación en una ficha.


Figura 12.20 Casillas de verificación en una ficha

El rectángulo agrupa visualmente esta serie de casillas relacionadas. Están apiladas


en sentido vertical y alineadas a la izquierda para facilitar la introducción de datos.

Ninguna casilla está seleccionada (la propiedad Value es falsa).

Nota Las casillas de verificación son semejantes a los botones de radio; sin embargo, a la hora
de introducir datos su funcionamiento es muy diferente. Los botones de radio actúan
como un grupo, de forma que cuando uno está seleccionado, todos los demás no lo
están. Sin embargo, las casillas de verificación son independientes entre sí, incluso
cuando aparecen como un grupo en pantalla; por tanto, al marcar una de ellas no tienen
por qué dejar de estarlo las demás.

Capítulo 12, Creación de fichas 277


creform.dwu Page 278 Friday, September 1, 1995 4:46 PM

Vinculación de una casilla de verificación con un campo lógico


Puede vincular una casilla de verificación con un campo lógico de una tabla para poder
visualizar y modificar el campo al ejecutar la ficha. Por ejemplo, si vincula una casilla de
verificación con el campo CREDITO de la tabla Cliente, los usuarios pueden ejecutar la
ficha y cambiar el valor (sí o no, verdadero o falso). Si utilizó el Experto de fichas para
crear el control, el vínculo se define de forma automática.
Para vincular una casilla de verificación, expanda DataLink en Propiedades y realice
una de las siguientes acciones:
• Haga clic sobre el botón Utilidades de la propiedad DataLink para seleccionar el
campo mediante el cuadro de diálogo Elegir campo. Para obtener más información,
pulse F1 para acceder a la Ayuda en línea.
• Introduzca un nombre de campo en el cuadro de texto junto a la propiedad DataLink,
precedido por el correspondiente nombre de tabla o alias. Por ejemplo, para vincular
la casilla de verificación con el campo CREDITO de la tabla Cliente, introduzca
cliente->credito.
Al completar el vínculo, aparece en la casilla de verificación el valor del campo en el
registro actual (verdadero o falso).

Creación de un grupo de botones de radio


Los botones de radio permiten a los usuarios seleccionar una sola opción entre una serie
de alternativas. Por ejemplo, las condiciones de pago de un cliente pueden prever un
plazo de 15, 30, 45 o 60 días, según el acuerdo de venta. Sólo una de estas alternativas se
aplica a una venta en particular.
Por definición, los botones de radio forman parte de un grupo de dos o más. Si se
selecciona un botón del grupo, se anula la selección de todos los demás. La opción
elegida se convierte en el valor que se aplica al campo vinculado.
Para crear un grupo de botones de radio:
• Sitúe cada botón de radio.
• Agrupe los botones.
• Vincule cada botón de radio del grupo con el mismo campo de la tabla.
• Asigne una etiqueta descriptiva a cada botón. De este modo, cuando el usuario
selecciona un botón de radio, su etiqueta es el valor introducido en el campo de tabla.
Para añadir un botón de radio, haga clic sobre la herramienta correspondiente de la
paleta de controles y, a continuación, sitúe el botón en la posición apropiada de la ficha.
Figura 12.21 Botón de radio nuevo

Defina la propiedad Value de forma que cambie según el valor del botón:
seleccionado (.T.) o no (.F.). Está seleccionado por defecto.
Defina la propiedad Text para sustituir el texto de la etiqueta por un nombre más
descriptivo y para determinar el valor que debe insertarse en el campo de tabla.

278 Guía del usuario


creform.dwu Page 279 Friday, September 1, 1995 4:46 PM

Figura 12.22 Ejemplo de un grupo de botones de radio

La etiqueta describe la selección del botón.

El rectángulo agrupa visualmente los botones de radio relacionados.


La etiqueta del rectángulo identifica la finalidad del grupo.

Los botones de radio están apilados y alineados a la izquierda para facilitar la


introducción de datos.

Agrupación de botones de radio


Para crear un grupo de botones de radio, se añade cada botón sucesivamente.
Después de incluir el primer botón de radio en un grupo, defina la propiedad Group
como True. Para todos los demás botones del grupo, debe ser False (el valor por
defecto). Para comenzar otro grupo, la propiedad Group del primer botón del siguiente
grupo debe ser True.
Los grupos están dispuestos en orden z (consulte el Capítulo 11).

Vinculación de botones de radio con campos de una tabla


Se vinculan todos los botones de radio de un grupo con el mismo campo de tabla, de
forma que cuando un usuario elige el botón, su valor se inserta en el campo.
Para vincular un botón de radio con un campo de tabla, expanda DataLink y realice una
de las siguientes acciones:
• Haga clic sobre el botón Utilidades de la propiedad DataLink para seleccionar el
campo mediante el cuadro de diálogo Elegir campo. Para obtener más información,
pulse F1 para acceder a la Ayuda en línea.
• Introduzca un nombre de campo en el cuadro de texto junto a la propiedad DataLink,
precedido por el correspondiente nombre de tabla o alias. Por ejemplo, para vincular
el botón de radio con el campo PAGO de la tabla Pedidos, introduzca Pedidos->pago.

Especificación de valores para su introducción en el campo de tabla


Cuando el usuario elige un botón de radio, su valor se inserta en el campo de tabla
vinculado. Se especifica el valor apropiado mediante la propiedad Text. A diferencia de
la propiedad Text de otros controles, este valor definido para un botón de radio tiene
dos finalidades: sirve como etiqueta descriptiva y es el valor que realmente se introduce
en el campo de tabla.
Por ejemplo, si todos los botones de radio de un grupo se vinculan con el campo PAGO
y se elige el botón Efectivo (Figura 12.22), se inserta el valor Efectivo en el campo.

Capítulo 12, Creación de fichas 279


creform.dwu Page 280 Friday, September 1, 1995 4:46 PM

Creación de líneas
Las líneas son gráficos de sólo lectura que no aceptan entradas del teclado. Se emplean
para organizar los controles de una ficha y para que ésta tenga más atractivo visual.
Las líneas no pueden vincularse con datos. Las líneas y formas aparecen detrás de los
demás controles de la ficha, independientemente de su orden z.
Las líneas separan o asocian visualmente los controles de la ficha. También sirven para
aportar énfasis a la alineación de los mismos. Tenga presente que el ojo suele recorrer la
pantalla de arriba a abajo y de izquierda a derecha. En general, las líneas verticales y
horizontales son preferibles a las diagonales, que pueden resultar más difíciles de seguir
con la mirada.
Para añadir una línea, haga clic sobre el correspondiente control de la paleta de
controles y sitúela en la posición apropiada de la ficha.
Figura 12.23 Línea nueva

Puede definir la propiedad Pen para cambiar el estilo de línea a continuo o


discontinuo con guiones y puntos. La propiedad Width sirve para cambiar el ancho
de línea.

Definición del ancho de línea


Por defecto, el Diseñador de fichas crea una línea de una (1) unidad de ancho.
Puede aumentar el grosor de línea para conseguir más impacto visual. Por ejemplo,
podría utilizar una línea horizontal gruesa para separar las casillas de verificación de los
demás controles de la ficha, y líneas verticales más finas para subdividirlas en grupos
reducidos. Para cambiar el ancho de línea, introduzca o seleccione un número en la
propiedad Width.

Definición del estilo de línea


Por defecto, el Diseñador de fichas crea una línea continua. Si mantiene el ancho de línea
de una (1) unidad, también puede emplear líneas discontinuas formadas por guiones y
puntos. Por ejemplo, podría hacerlo para reducir el impacto visual de una línea o para
indicar que las distintas líneas tienen finalidades diferentes. Para cambiar el estilo de
línea, seleccione una opción de la propiedad Pen.

280 Guía del usuario


creform.dwu Page 281 Friday, September 1, 1995 4:46 PM

Creación de rectángulos
Los rectángulos, también denominados cuadros de grupo, son gráficos de sólo lectura que
no aceptan entradas del teclado. Sirven principalmente para organizar los controles de
una ficha y para añadir impacto visual. Los rectángulos pueden asociar o separar
visualmente los controles de una ficha. No es posible vincular un rectángulo con datos.
En la figura siguiente se muestra cómo pueden utilizarse los rectángulos para organizar
los datos de una ficha.
Figura 12.24 Rectángulos que organizan los controles de una ficha

Las etiquetas identifican la finalidad común de los controles


contenidos en los rectángulos.

Los rectángulos enfatizan la afinidad entre grupos de controles


relacionados.

Para añadir un rectángulo, haga clic sobre el control correspondiente de la paleta de


controles y sitúelo en la posición apropiada de la ficha.
Figura 12.25 Rectángulo nuevo
Defina la propiedad Text para sustituir el texto de la etiqueta por un nombre
más descriptivo. Puede cambiar la fuente mediante el cuadro de diálogo
Fuente.
Defina la propiedad PatternStyle para rellenar el rectángulo con una trama.
Defina la propiedad Border para mostrar (por defecto) u ocultar el borde que
delimita el área del rectángulo. Defina la propiedad BorderStyle para
especificar un borde normal (por defecto), con relieve o hundido.

Nota Si ha colocado el rectángulo encima de un grupo de controles, como botones de radio o


casillas de verificación, es posible que dichos controles queden tras el rectángulo.
Para verlos, seleccione el rectángulo y elija Formato|Enviar al fondo.

Definición de la etiqueta del rectángulo


Por defecto, los rectángulos aparecen con una etiqueta en el ángulo superior izquierdo.
Esta etiqueta puede emplearse para identificar los controles que contiene el rectángulo.
Para definir la etiqueta del rectángulo, introduzca el texto apropiado en el cuadro de
texto junto a la propiedad Text.
Es posible asignar una tecla rápida a la etiqueta para que el usuario pueda desplazarse
fácilmente al control asociado en el momento de ejecutar la ficha. Consulte la página 264
para obtener más información.

Capítulo 12, Creación de fichas 281


creform.dwu Page 282 Friday, September 1, 1995 4:46 PM

Si desea ocultar la etiqueta de un rectángulo, puede suprimir el texto de la misma


mediante la propiedad Text o bien cambiar el borde, tal como se describe en el apartado
siguiente.

Definición de los bordes de un rectángulo


Por defecto, los bordes de los rectángulos aparecen con el estilo normal. Sin embargo,
puede que desee ocultar el borde, darle relieve o hundirlo para que la ficha tenga un
aspecto tridimensional. Para ocultar el borde, expanda Propiedades de visualización y
defina la propiedad Border como False. Para cambiar su estilo, expanda Propiedades de
visualización y seleccione un estilo en la lista de la propiedad BorderStyle.

Definición del estilo de patrón


Por defecto, los rectángulos tienen un fondo sólido. Sin embargo, puede que desee
rellenar alguno con otro patrón, por ejemplo una trama, para darle un aspecto diferente.
Para establecer el estilo de patrón, expanda Propiedades de visualización y seleccione
un estilo en la lista de la propiedad PatternStyle.

Creación de controles de editor


Los controles de editor muestran y gestionan cadenas de texto extensas de longitud
variable. Pueden vincularse con campos de texto, campos memo y archivos de texto
ASCII. Por ejemplo, podría utilizar un control de editor para visualizar un campo de
caracteres de 120 bytes o unas notas de tipo memo sobre cada cliente de una ficha de
entrada de datos. De la misma manera, podría permitir que los usuarios consulten el
contenido de un archivo LEAME.TXT.
Los controles de editor emplean el Editor de textos u otro editor de texto especificado en
la página Archivos del cuadro de diálogo Propiedades del escritorio.
Para añadir un control de editor, haga clic sobre la herramienta correspondiente de la
paleta de controles y sitúelo en la posición apropiada de la ficha.
Figura 12.26 Control de editor nuevo

La propiedad Border permite mostrar (por defecto) u ocultar el borde del


área de entrada.
Establezca las propiedades de la fuente del texto que aparece en el control
de editor mediante el cuadro de diálogo Fuente.
Defina la propiedad Scrollbar para mostrar (por defecto) u ocultar las barras
de desplazamiento.

282 Guía del usuario


creform.dwu Page 283 Friday, September 1, 1995 4:46 PM

Vinculación de un editor con campos de tabla o archivos de texto


Puede vincular un control de editor con un campo memo o de caracteres de una tabla
para que los usuarios puedan visualizar y cambiar los datos del campo al ejecutar la
ficha. También es posible vincular un control de editor con un archivo de texto externo
para visualizar y modificar su contenido.
Para vincular un control de editor con datos, haga clic sobre el botón Utilidades de la
propiedad DataLink para visualizar el cuadro de diálogo Elegir vínculo de datos y, a
continuación, realice una de las siguientes acciones:
• En el caso de un campo memo o de caracteres, seleccione Campo en la lista Tipo,
haga clic sobre el botón Utilidades del campo DataLink, elija un campo en el cuadro
de diálogo Elegir campo y escoja Aceptar.
• Si el archivo es de texto, seleccione Archivo en la lista Tipo, haga clic sobre el botón
Utilidades en el campo DataLink, elija un archivo en el cuadro de diálogo Elegir
vínculo de datos y escoja Aceptar.
Elija Aceptar para cerrar el cuadro de diálogo Elegir vínculo de datos. El nombre del
campo o archivo se muestra en el cuadro de texto de la propiedad DataLink, y los datos
vinculados aparecen en el control del editor.
Figura 12.27 Ejemplo de un control de editor vinculado con un archivo de texto

Un rectángulo sirve como contorno del editor de


texto, y la etiqueta describe su contenido.

El contenido del archivo de texto


aparece aquí.

Asignación de la propiedad de sólo lectura a un control de editor


Por defecto, el Diseñador de fichas permite que los usuarios editen el contenido de los
controles de editor. Sin embargo, puede aplicar la propiedad de sólo lectura al control
para impedir que los usuarios modifiquen su contenido. Por ejemplo, podría hacerlo al
mostrar un mensaje de error en un cuadro de diálogo, o cuando los usuarios desean
visualizar el archivo AUTOEXEC.BAT sin realizar cambios.
Para asignar la propiedad de sólo lectura a un control de editor, expanda Edición en
Propiedades y defina Modify como False.

Capítulo 12, Creación de fichas 283


creform.dwu Page 284 Friday, September 1, 1995 4:46 PM

Visualización y ocultación de barras de desplazamiento


Por defecto, el Diseñador de fichas proporciona barras de desplazamiento en los
controles de editor para que, al ejecutar la ficha, los usuarios puedan desplazarse en
sentido horizontal y vertical a fin de visualizar el texto que no aparece inicialmente.
La visualización de las barras de desplazamiento puede ser condicional, de forma que
éstas aparezcan cuando el texto sobrepase el área de visualización y se oculten en caso
contrario. Para ello, expanda Propiedades de visualización y defina la propiedad
ScrollBar como Auto.
Puede desactivar las barras de desplazamiento por completo si prefiere que los usuarios
no se desplacen por el texto, o si éste nunca va a sobrepasar los límites del área de
visualización (en este caso, también podría utilizar un campo de entrada). Por ejemplo,
si emplea un control de editor para mostrar texto de mensajes de error en un cuadro de
diálogo, deberá desactivar las barras de desplazamiento. Para ello, expanda
Propiedades de visualización y defina la propiedad ScrollBar como Disabled.

Justificación de texto
Por defecto, el Diseñador de fichas muestra el texto tal como aparece en el campo o
archivo de origen, línea por línea. Sin embargo, si la longitud del texto sobrepasa el
ancho del área de visualización, el editor puede justificarlo automáticamente a la línea
siguiente. De este modo, los usuarios no tienen necesidad de desplazarse hacia la
derecha para leer el texto. Esta función le puede interesar, por ejemplo, al presentar un
mensaje en un cuadro de diálogo.
Para justificar texto, expanda Editar propiedades y defina la propiedad Wrap como
True.
Figura 12.28 Ejemplos del editor con la justificación de texto activada y desactivada

Justificación de texto
desactivada
(Wrap es False).

Justificación de texto activada


(Wrap es True).

284 Guía del usuario


creform.dwu Page 285 Friday, September 1, 1995 4:46 PM

Creación de controles Browse


Los controles Browse muestran los registros en formato tabular. Cada registro ocupa
una fila y cada campo es una columna. Estos controles simulan el formato Browse
de la ventana Registros de tabla, e incluso permiten cambiar a otro formato
(Ficha o En Columnas).
Los objetos Browse resultan especialmente útiles para mostrar los registros de una tabla
secundaria si la ficha se basa en una consulta multitabla. Por ejemplo, para visualizar
información sobre pedidos que reside en dos tablas en una relación de valores múltiples
(Pedidos es la tabla principal y Elemento la secundaria), puede utilizar un control
Browse para ver varios elementos.
Si elige Browse o Uno con muchos en el Experto de fichas, éste crea un control Browse
de forma automática.
Para añadir un control Browse, haga clic sobre el control correspondiente de la paleta de
controles y sitúelo en la posición apropiada de la ficha.
Figura 12.29 Control Browse nuevo
Propiedad Fields: Define los campos del control Browse.
Propiedad FieldWidth: Define el ancho por defecto de los campos de
carácter.
Propiedad ShowHeading: Permite mostrar (por defecto) u ocultar esta fila.

Propiedades ShowRecNo y ShowDeleted: Permiten mostrar (por defecto) u


ocultar estas columnas.

Vinculación de un control Browse con una tabla


Es posible vincular un control Browse con una tabla para que los usuarios puedan
visualizar y modificar el contenido de la misma al ejecutar la ficha. Si ha creado el
control con el Experto de fichas, el vínculo ya está definido.
Para vincular un control Browse, expanda Vincular datos y realice una de las siguientes
acciones:
• Haga clic sobre el botón Utilidades de la propiedad Alias para seleccionar el archivo
mediante el cuadro de diálogo Alias. Para obtener más información, pulse F1 para
acceder a la Ayuda en línea.
• Introduzca el nombre de alias de una tabla mediante la propiedad Alias. Por ejemplo,
para vincular el control Browse con la tabla Pedidos, introduzca pedidos.
Al completar el vínculo, la tabla aparece en el control Browse.

Capítulo 12, Creación de fichas 285


creform.dwu Page 286 Friday, September 1, 1995 4:46 PM

Especificación de campos de Browse


Puede excluir determinados campos de un objeto Browse, como los que no son
relevantes para la tarea actual o los que pueden mostrar datos repetidos (como los
campos indexados). Por ejemplo, si la ficha muestra pedidos y elementos, no es
necesario repetir el número de pedido en cada registro. De la misma manera, si la ficha
muestra datos de personal, puede que desee omitir datos confidenciales como los
sueldos de los empleados.
Estos campos suelen seleccionarse al crear la consulta para que sólo se recuperen los
datos de campo necesarios de una tabla. Sin embargo, también es posible elegir los
campos después de aplicar el control Browse a la ficha.
Para ello, expanda la propiedad Datalink, haga clic sobre el botón Utilidades de la
propiedad Field y seleccione campos en el cuadro de diálogo Selector de campos de
Browse. También es posible añadir campos calculados y definir propiedades de campo.
Para obtener más información, pulse F1 para acceder a la Ayuda en línea.

Selección del modo de visualización por defecto


Por defecto, el Diseñador de fichas muestra los datos de los controles Browse en formato
tabular (el formato Browse). Sin embargo, tal como ocurre en la ventana Registros de
tabla, los controles Browse permiten visualizar registros con los formatos Browse, Ficha
y En columnas.
Figura 12.30 Ejemplo de un objeto Browse con los formatos Ficha y En columnas

Ficha En columnas

Para elegir otro modo de visualización, expanda Editar propiedades y seleccione uno en
la lista de la propiedad Mode.
Por defecto, el Diseñador de fichas permite a los usuarios cambiar de modo al ejecutar la
ficha. De esta forma, pueden visualizar varios registros a la vez o sólo uno. Sin embargo,
es posible impedir que cambien de formato, para evitar que presenten una pantalla
desconocida inesperadamente. Para ello, expanda Editar propiedades y defina la
propiedad Toggle como False.

286 Guía del usuario


creform.dwu Page 287 Friday, September 1, 1995 4:46 PM

Control de las operaciones de introducción de datos


Por defecto, los usuarios pueden añadir, suprimir y modificar los registros de una tabla
vinculada con un control Browse. Sin embargo, en determinados casos quizá prefiera
impedir estas operaciones. Por ejemplo, podría permitir a los usuarios añadir y cambiar
nombres de cliente, pero no suprimirlos.
Para restringir las operaciones de edición, expanda Editar propiedades y realice una o
todas las acciones siguientes:
• Defina la propiedad Append como False para impedir la adición de registros.
• La propiedad Modify debe ser False para que no se modifiquen registros.
• Defina la propiedad Delete como False para evitar la supresión de registros.

Seguimiento de registros con valores clave cambiados


Si el objeto Browse está vinculado con una tabla indexada, la posición de un registro en
el índice puede cambiar si los valores de un campo indexado varían al ejecutar la ficha.
Por ejemplo, si la tabla está indexada según el campo NUM_PED, un registro pasará a
otra posición del índice si los usuarios cambian el número de pedido de 2518 a 1518.
Por defecto, el control Browse sigue al registro y lo muestra en su nueva ubicación.
Sin embargo, quizá prefiera no abandonar la posición de edición actual para seguir el
registro. Por ejemplo, para cambiar el nombre Jiménez a Giménez cada vez que aparece,
no sería práctico restablecer el puntero de registro cada vez que siguiera el registro
modificado a su nueva posición. Para permanecer en su ubicación actual aunque el
registro cambie de posición en el índice, expanda Editar propiedades y defina la
propiedad Follow como False.

Modificación del aspecto de controles Browse


Por defecto, el Diseñador de fichas muestra las cabeceras de columna (nombres de
campo) y el NUMERO DE REGISTRO en el control Browse. Si está marcado Borrados
en Propiedades del escritorio, también se muestra la columna BORRADO. Para ver un
ejemplo, consulte la Figura 12.29. No obstante, puede que prefiera ocultar estos
elementos para ahorrar espacio en la pantalla o eliminar información innecesaria de la
ficha.
Para ello, expanda Propiedades de visualización y realice una o todas las siguientes
operaciones:
• Defina la propiedad ShowHeadings como False.
• Defina la propiedad ShowRecNo como False.
• Defina la propiedad ShowDeleted como False.

Capítulo 12, Creación de fichas 287


creform.dwu Page 288 Friday, September 1, 1995 4:46 PM

En la figura siguiente estos elementos están ocultos en un control Browse.


Figura 12.31 Ejemplo de un control Browse con elementos de pantalla ocultos

Las cabeceras de columna están visibles (ShowHeadings es verdadero).

Las columnas Número de registro y Borrado están


ocultas (ShowRecNo y ShowDeleted son falsas).

Nota La columna Borrado se oculta de forma automática si Borrado está seleccionado


(valor por defecto) en la página Tabla del cuadro de diálogo Propiedades del escritorio.

Creación de barras de desplazamiento para números y fechas


Las barras de desplazamiento aceptan valores de un rango conocido de números o
fechas. Por ejemplo, los usuarios pueden ajustar una barra de desplazamiento para
cambiar el porcentaje terminado de un proyecto, mostrar la temperatura de un paciente
o calificar la atención al cliente en una escala del uno al diez. Las barras de
desplazamiento pueden vincularse con campos numéricos, de coma flotante y de fecha.
A diferencia de los cuadros de incremento, las barras de desplazamiento no aceptan
entradas del teclado ni emplean pasos. Para aumentar o reducir el valor, los usuarios
arrastran el cursor deslizante de la barra de desplazamiento.
Para añadir una barra de desplazamiento, haga clic sobre el control correspondiente de
la paleta de controles y sitúelo en la posición apropiada de la ficha.
Figura 12.32 Barras de desplazamiento vertical y horizontal

Propiedad Vertical verdadera.

Propiedad Vertical falsa.

288 Guía del usuario


creform.dwu Page 289 Friday, September 1, 1995 4:46 PM

Figura 12.33 Ejemplo de una barra de desplazamiento con etiquetas

Las etiquetas identifican los valores mínimos y máximos, así como las
gradaciones entre ellos.

El campo de entrada sólo muestra el valor actual del campo.

El cursor deslizante aumenta o reduce el valor.

Vinculación de una barra de desplazamiento con un campo


Las barras de desplazamiento pueden vincularse con un campo numérico, de coma
flotante o de fecha de una tabla para que los usuarios puedan visualizar y modificar el
campo al ejecutar la ficha. Por ejemplo, un usuario podría vincular el campo PAGADO
de la tabla Pedidos con una barra de desplazamiento para averiguar qué proporción del
importe FACTURADO está pagado.
Para vincular una barra de desplazamiento, expanda la propiedad DataLink y realice
una de las siguientes acciones:
• Haga clic sobre el botón Utilidades de la propiedad DataLink para seleccionar el
campo mediante el cuadro de diálogo Elegir campo. Para obtener más información,
pulse F1 para acceder a la Ayuda en línea.
• Introduzca un nombre de campo en el cuadro de texto junto a la propiedad DataLink,
precedido por el correspondiente nombre de tabla o alias. Por ejemplo, para vincular
la barra de desplazamiento con el campo PAGADO de la tabla Pedidos, introduzca
pedidos->pagado.
Al completar el vínculo, el cursor deslizante de la barra de desplazamiento refleja el
valor del campo vinculado en el registro actual.

Definición del rango válido


Las barras de desplazamiento siempre tienen un rango válido de valores. Para definir el
rango, expanda Editar propiedades y realice las siguientes acciones:
• Defina RangeMin como el valor mínimo que desea establecer.
• La propiedad RangeMax indica el valor máximo. Su valor por defecto es 100.
A partir de entonces, el cursor deslizante de la barra de desplazamiento no sobrepasará
los límites seleccionados al ejecutar la ficha.

Capítulo 12, Creación de fichas 289


creform.dwu Page 290 Friday, September 1, 1995 4:46 PM

Creación de controles de imagen


Los controles de imagen muestran imágenes gráficas estáticas. Pueden vincularse con
un campo binario de una tabla, un mapa de bits almacenado en un archivo gráfico
externo (formato .PCX, .BMP, .ICO, .WMF, .TIF o .EPS) o en una biblioteca de recursos
como el archivo RESOURCE.DLL que se suministra con Visual dBASE. Puede utilizar
imágenes para presentar información de forma visual (un icono de teléfono en lugar del
texto “Teléfono”), o como datos reales (imágenes fotografiadas de los empleados
pasadas por escáner).
Para añadir un control de imagen, haga clic sobre el control correspondiente de la paleta
de controles y sitúelo en la posición apropiada de la ficha.
Figura 12.34 Control de imagen nuevo

Ajuste el tamaño del control de imagen para definir la región de


visualización de la imagen que debe aparecer aquí.

Nota También puede anexar imágenes gráficas a botones y barras rápidas (consulte el
Capítulo 13).

Vinculación de datos
Los controles de imagen pueden vincularse con:
• Un campo binario de una tabla.
• Un archivo gráfico externo (formato .PCX, .BMP, .WMF, .ICO, .EPS o .TIF).
• Un recurso de una biblioteca de recursos, como RESOURCE.DLL.
Para establecer un vínculo, haga clic en el botón Utilidades del campo DataSource.
Figura 12.35 Cuadro de diálogo Generador de propiedades del origen de los datos:

290 Guía del usuario


creform.dwu Page 291 Friday, September 1, 1995 4:46 PM

A continuación, realice una de las siguientes acciones:


• Para utilizar un archivo externo, seleccione Archivo en la lista Situación y, a
continuación, introduzca el nombre del archivo de imagen (si se encuentra en el
directorio actual) o haga doble clic sobre el botón Utilidades para seleccionarlo en el
cuadro de diálogo Abrir archivo. Para obtener más información, pulse F1 para
acceder a la Ayuda en línea.
• Para emplear un campo binario, elija Binario en la lista Situación e introduzca el
nombre del campo en el campo de entrada (precedido por el nombre de tabla o alias,
como animales->bmp), o haga clic sobre el botón Utilidades para seleccionarlo en el
cuadro de diálogo Elegir campo.
• Para usar un recurso en una .DLL, escoja Recurso en la lista Situación y haga clic
sobre el botón Utilidades. Aparece el cuadro de diálogo Elegir mapa de bits de
recurso.
Figura 12.36 Cuadro de diálogo Elegir mapa de bits de recurso

Seleccione la ID del mapa de bits.

Aquí aparece un ejemplo del mapa de bits


seleccionado.

Seleccione el gráfico adecuado y elija Aceptar.


Al completar el vínculo, el gráfico aparece en la ficha tal como se muestra en la figura
siguiente.
Figura 12.37 Ejemplo de un control de imagen vinculado con un archivo gráfico externo

Capítulo 12, Creación de fichas 291


creform.dwu Page 292 Friday, September 1, 1995 4:46 PM

Alineación de datos
Si el control de imagen es más grande que el gráfico, puede alinear éste con el ángulo
superior izquierdo del control de imagen, centrarlo o estirar la imagen para ajustarla al
control o llenarlo por completo. En los ejemplos siguientes se muestra la misma imagen
gráfica alineada de distintas maneras.
Figura 12.38 Ejemplos de alineación de una imagen binaria

Alineación Ajustar Alineación Superior Izquierda Alineación Centro

Para definir la alineación, expanda Propiedades de posición y seleccione la opción


apropiada en la lista de la propiedad Alignment.

Creación de controles OLE


OLE controla la visualización de los documentos OLE (Vínculo e incrustación de
objetos) almacenados en los campos OLE de una tabla. Al ejecutar la ficha, puede
visualizar el control OLE y hacer doble clic sobre él para arrancar la aplicación servidor
y modificar su contenido. Esta operación resulta útil, por ejemplo, para utilizar una hoja
de cálculo que contenga las cifras de ventas de cada vendedor de la tabla de empleados.
Para más información sobre los campos OLE, consulte el Capítulo 3.
Para añadir un control OLE, haga clic sobre el control correspondiente de la paleta de
controles y sitúelo en la posición apropiada de la ficha.
Figura 12.39 Control OLE nuevo

Puede definir la propiedad Border para mostrar (por defecto) u ocultar el


borde del área de visualización OLE.

292 Guía del usuario


creform.dwu Page 293 Friday, September 1, 1995 4:46 PM

Vinculación de datos
Los controles OLE pueden vincularse con objetos OLE almacenados en campos OLE.
Al ejecutar la ficha, los usuarios pueden ver la imagen y hacer doble clic para editarla.
• Para vincular un control OLE, haga clic sobre el botón Utilidades junto a la propiedad
DataLink para seleccionar el campo OLE mediante el cuadro de diálogo. Para obtener
más información, pulse F1 para acceder a la Ayuda en línea.
• También puede introducir un nombre de campo en el cuadro de texto junto a la
propiedad DataLink, precedido por el correspondiente nombre de tabla o alias.
Por ejemplo, para vincular un control OLE con el campo OLEBMP de la tabla
Imágenes, introduzca Imagenes->OLEBMP.
Al completar el vínculo, los datos del campo apropiado del registro actual aparecen en
el campo OLE. El control OLE almacena información sobre un objeto OLE en las
propiedades LinkFileName, OleType y ServerName. Para obtener más información
sobre alguna de estas propiedades, pulse F1 con la propiedad resaltada.

Creación de una forma en una ficha


Puede crear una forma mediante la incorporación de un control de forma. En el
Inspector, utilice la propiedad ShapeStyle para asignar una forma al control, como
rectángulo redondeado, elipse, círculo o cuadrado redondeado.
Las formas, al igual que las líneas, son gráficos de sólo lectura que no aceptan entrada de
teclado. Utilícelos para organizar los controles de una ficha y añadir atractivo visual.
Las formas no pueden vincularse con datos. Además, no se incluyen en el orden de
entrada de datos (orden de solapa).
Las formas pueden agrupar visuamente y asociar controles de una ficha. También
pueden realzar la alineación de los controles de ficha.
Para añadir una forma, haga clic en el control de forma de la paleta de controles y sitúelo
en la posición de la ficha que desee.
Figura 12.40 Forma nueva

Puede definir la propiedad ShapeStyle para que la forma sea un


círculo, elipse, rectángulo redondeado... Defina la propiedad PenStyle
para especificar líneas continuas o discontinuas con guiones o puntos y
la propiedad PenWidth para cambiar el ancho de línea.

Definición del tipo de forma


El Diseñador de fichas crea por defecto una forma como círculo. Puede utilizar el
Inspector para cambiar la forma a un rectángulo redondeado, elipse, cuadrado
redondeado o cuadrado.

Capítulo 12, Creación de fichas 293


creform.dwu Page 294 Friday, September 1, 1995 4:46 PM

Definición del ancho de la línea


El Diseñador de fichas crea por defecto una forma con un ancho de una (1) unidad.
Puede aumentar este ancho, para conseguir mayor impacto visual. Para ello, introduzca
o seleccione un número en la propiedad PenWidth.

Definición del estilo de línea


El Diseñador de fichas crea por defecto una línea continua. Si conserva el ancho de una
(1) unidad, también puede utilizar líneas discontinuas que combinan guiones y puntos.
Para cambiar el estilo de línea, seleccione una opción en la propiedad PenStyle.

Inclusión de solapas en una ficha


Los controles de cuadro de solapas permiten desplazarse en las fichas; además facilitan
la agrupación de elementos de datos relacionados o proporcionan fichas de entrada
paso a paso.
Figura 12.41 Páginas con solapa en una ficha

Defina las propiedades de posición para


determinar la ubicación de las solapas en la ficha.

Los controles de cuadro de solapas se utilizan frecuentemente para desplazarse entre


varias páginas de la ficha, pero pueden utilizarse de diferentes formas. Por ejemplo,
puede añadir letras para facilitar el desplazamiento a una sección de una tabla indexada
alfabéticamente. Consulte el Capítulo 13, “Creación de aplicaciones con fichas” en la
Guía del programador.

294 Guía del usuario


creform.dwu Page 295 Friday, September 1, 1995 4:46 PM

Creación de solapas
Un solo control de cuadro de solapas crea un conjunto completo de solapas en la ficha.
El número de solapas y su texto se especifican en una matriz de la propiedad
DataSource. Para crear un conjunto de solapas:
1 Incluya un control de cuadro de solapas en la ficha.
2 Seleccione el cuadro y haga clic en la herramienta de su propiedad DataSource para
abrir el cuadro de diálogo Generador de propiedades del origen de los datos.
3 Haga clic en la herramienta de este cuadro para abrir el cuadro de diálogo
Generar matriz.
4 Especifique el texto de las solapas como elementos independientes de la matriz, como
se muestra en 4.
Figura 12.42 Especificación de solapas en el cuadro de diálogo Generar matriz

Introduzca Cada elemento de la


una matriz es el texto
cadena o utilizado en una solapa.
expresión
para cada
solapa y
haga clic en
Agregar.

El cuadro de solapas crea automáticamente una página de ficha para cada elemento de
la matriz de DataSource.

Desplazamiento entre las solapas


Cuando se hace clic en una solapa para cambiar de página, se ejecuta el suceso
OnSelChange del cuadro de solapas. La propiedad CurSel especifica el número de la
solapa activa y la propiedad PageNo determina en qué página de la ficha aparece el
cuadro de solapas.
Para que el cuadro de solapas cambie las páginas, puede crear un procedimiento para el
suceso OnSelChange, como se muestra a continuación:
Form.PageNo=This.CurSel
Este procedimiento del suceso OnSelChange cambia a la página de un cuadro de
solapas en la que se hace clic.

Capítulo 12, Creación de fichas 295


creform.dwu Page 296 Friday, September 1, 1995 4:46 PM

Incoporación de un control de cuadro de dibujo a una ficha


Este control se diferencia de todos los demás en que los usuarios finales nunca
interactúan con el directamente. Cuadro de dibujo se utiliza para crear controles de ficha
personalizados; proporciona un API para establecer comunicación directa con
Windows.
Debe proporcionar código personalizado para controlar todas las características de un
cuadro de dibujo. Por ejemplo, se puede entrar con la tecla Tab en un control de cuadro
de dibujo, pero no salir. Debe incluir el código para examinar y controlar los sucesos
como las pulsaciones de Tab.
Consulte el Capítulo 13, “Creación de aplicaciones con fichas” en la Guía del programador
para obtener más información sobre los controles de cuadro de dibujo.

Definición del desplazamiento en las fichas


La manera de desplazarse por una ficha es una cuestión muy importante a la hora de
diseñarla, sobre todo en las fichas de entrada de datos, con las que el teclado se utiliza a
menudo. En general, se procura diseñar la ficha de forma que los usuarios puedan
introducir datos con facilidad y eficacia.
Los usuarios se desplazan por las fichas mediante el teclado o el ratón, según la tarea
que tengan que realizar. A veces resulta más rápido hacer clic sobre un campo, mientras
que otras es más cómodo pulsar Tab o la tecla rápida (Alt+[Tecla]) de un control.
Lo más recomendable es permitir al acceso a cada control de la ficha utilizando
cualquiera de estos métodos. De este modo, los usuarios pueden elegir el que más
les convenga.

Gestión del foco de objetos


En Visual dBASE, un objeto recibe el foco cuando el usuario lo selecciona, ya sea
desplazándose a él mediante la tecla Tab, haciendo clic sobre él o pulsando la tecla
rápida correspondiente. El objeto que tiene el foco se convierte en el objeto actual de la
ficha, que se verá afectado por las entradas del teclado.
Por ejemplo, si un usuario hace clic sobre el campo Teléfono y empieza a teclear, el texto
introducido se añade a dicho campo. De la misma manera, si un usuario se desplaza al
botón Aceptar de una ficha y pulsa Intro, se selecciona el botón y se inicia la acción
asociada a él. Las ventanas de ficha reciben el foco al abrirse o cuando el usuario hace
clic sobre su barra de título.

296 Guía del usuario


creform.dwu Page 297 Friday, September 1, 1995 4:46 PM

Puede emplear las siguientes propiedades de objeto para determinar si un control


puede recibir el foco en una ficha:
• TabStop permite que un objeto reciba el foco cuando el usuario pulsa Tab o
Mayús +Tab. Si el valor de TabStop es False, el usuario tiene que hacer clic sobre el
objeto con el ratón para seleccionarlo. Podría definir TabStop como False, por
ejemplo, para excluir del orden de tabulación los controles que no se utilizan a
menudo.
• Enabled permite la selección de un objeto. Si el valor de Enabled es False, el objeto no
está disponible para selecciones ni entradas, por lo que aparece atenuado en pantalla.
Podría definir Enabled como False, por ejemplo, para desactivar los controles que no
están disponibles por defecto.
• When especifica una condición que debe cumplirse para que un objeto pueda recibir
el foco. Por ejemplo, puede que sólo desee activar el campo Salario si está marcada la
casilla de verificación Empleado.
• Visible permite la aparición de un objeto en la ficha. Si el valor de Visible es False, el
control está oculto y por tanto no disponible para los usuarios.
Puede establecer el estado por defecto de los objetos mediante el Inspector del
Diseñador de fichas. Estas propiedades también pueden definirse de forma dinámica en
los programas de dBASE. Además, Visual dBASE proporciona sucesos para la gestión
del foco de objetos (por ejemplo, OnGotFocus y OnLostFocus). Para obtener más
información, consulte la Guía del programador.

Gestión del orden de tabulación (orden z)


Por defecto, el usuario se desplaza entre los controles por el orden en que éstos se hayan
colocado. Sin embargo, al diseñar la ficha, puede que desee sustituir esta secuencia por
otra que resulte más eficaz para la introducción de datos. Para ello, hay que modificar el
orden z, (descrito en el Capítulo 11).

Uso de teclas rápidas con etiquetas de control


Las etiquetas identifican el propósito de un control de ficha. Algunos controles tienen
etiquetas implícitas, como las casillas de verificación, botones de radio, rectángulos y
botones de comando. A todos los demás controles de ficha es posible asignarles un
objeto de texto para identificarlos.
Las etiquetas también pueden incluir una tecla rápida para ayudar a los usuarios a
desplazarse rápidamente al control asociado sin hacer clic sobre él ni pulsar la tecla Tab.
El control asociado es el siguiente en el orden z. En las etiquetas, las teclas rápidas
aparecen como caracteres subrayados, como la N de Nombre. Para desplazarse al control
asociado, los usuarios pulsan Alt+N. Para obtener más información, consulte la
página 264.

Capítulo 12, Creación de fichas 297


creform.dwu Page 298 Friday, September 1, 1995 4:46 PM

Control de la acción de la tecla Intro


En las versiones anteriores de dBASE, los usuarios podían pulsar Intro para desplazarse
entre los campos de las fichas de entrada de datos.
Por defecto, en Visual dBASE la tecla Intro ejecuta el botón de comando por defecto, si lo
hay. En las aplicaciones de Windows, se suele hacer clic sobre un campo con el ratón o
pulsar Tab o Mayús +Tab para trasladar el foco de un campo de entrada a otro. Sin
embargo, es posible definir la tecla Intro para simular su funcionamiento en versiones
anteriores de dBASE. Para ello, desactive el parámetro Intro tipo CUA de la página
Entrada de datos del cuadro de diálogo Propiedades del escritorio.
De la misma manera, cuando los usuarios rellenan un campo de entrada de datos, el
foco se traslada por defecto al siguiente control del orden de tabulación de la ficha. Si un
campo tiene 10 caracteres de longitud y se introducen 10 caracteres mediante el teclado,
el foco pasa automáticamente al campo siguiente. Sin embargo, es posible obligar a los
usuarios a confirmar la entrada pulsando Intro para poder desplazarse al próximo
campo. Para ello, seleccione el parámetro Confirmar de la página Entrada de datos del
cuadro de diálogo Propiedades del escritorio. Esta operación sólo funciona si no está
activado el parámetro Intro tipo CUA.

298 Guía del usuario


cremenu.dwu Page 299 Friday, September 1, 1995 4:49 PM

Capítulo

Creación de menús, botones


Capítulo 13
13
y barras rápidas
En este capítulo se describe cómo utilizar el Diseñador de fichas y el Diseñador de
menús para crear botones, barras rápidas y menús en una ficha. Dichos objetos
contienen un suceso OnClick que requiere algunas operaciones de programación.
Para obtener información detallada sobre la programación de estos objetos, consulte el
Capítulo 14 de la Referencia del lenguaje.
Antes de comenzar este capítulo, lea los Capítulos 10 y 11.

Acerca de los menús


Los menús presentan una lista de alternativas, que se denominan elementos, entre las
cuales el usuario puede elegir. Al escogerse, las elementos de menú inician una tarea,
como comenzar un proceso, presentar un cuadro de diálogo, mostrar otro menú,
seleccionar un parámetro, etc. La elección de un elemento de menú activa el
procedimiento OnClick del menú, que contiene el código que debe ejecutarse.
La mayoría de las aplicaciones tienen al menos un menú, que puede aparecer en la
ventana de ficha o sustituir al menú de Visual dBASE. Los menús siempre están
asociados a un objeto de ficha.

Capítulo 13, Creación de menús, botones y barras rápidas 299


cremenu.dwu Page 300 Friday, September 1, 1995 4:49 PM

Tipos de menús
Con el Diseñador de menús puede crear los siguientes tipos de menús:
• Barras de menús: son los elementos de menú de primer nivel que aparecen en la
ficha. Cada ficha puede tener una barra de menús. Los elementos de la barra se
generan automáticamente cuando se crea un menú.
• Menús desplegables: cuando se abren, se despliegan bajo la barra de menús para
mostrar una lista de elementos subordinados. Los títulos de los menús desplegables
aparecen en la barra de menús.
• Menús en cascada: cuando se abren, aparecen a la derecha de los menús
desplegables (u otros menús en cascada) para mostrar una lista de elementos.
• Menús de ventana: aparecen como menús locales o “rápidos”
La figura siguiente muestra el aspecto que pueden tener estos tipos de menús en una
aplicación.
Figura 13.1 Ejemplos de menús

Barra de
menús

Menú en cascada

Menú desplegable

300 Guía del usuario


cremenu.dwu Page 301 Friday, September 1, 1995 4:49 PM

Jerarquía de menús
Los menús se organizan como una jerarquía de elementos. La barra de menús
constituye el primer nivel. El siguiente nivel consta de los menús desplegables que
aparecen debajo de la barra de menús. Los niveles subsiguientes incluyen los menús en
cascada asociados a los menús desplegables o a otros menús en cascada.
Los diferentes niveles de menús tienen relaciones principal-sencundario. Para un menú
desplegable, la barra de menús es el menú principal y los menús en cascada asociados son
los menús secundarios. Cada menú secundario corresponde a un menú principal, y cada
menú principal puede tener numerosos menús secundarios.
Al diseñar menús, considere la mejor manera de organizar los elementos en una
jerarquía. Es posible crear muchas capas de menús con pocos elementos en cada menú,
o pocas capas con muchos elementos en cada una. El objetivo consiste en conseguir que
los elementos más importantes y utilizados sean tan accesibles para los usuarios como
sea posible, y que los que se emplean con menos frecuencia sean fáciles de encontrar.

Menús comunes de Windows


Muchas aplicaciones para Windows utilizan elementos estándar en los menús.
Por ejemplo, el menú Edición de muchas aplicaciones contiene los elementos Deshacer,
Cortar, Copiar y Pegar. Al diseñar un sistema de menús, puede consultar Visual dBASE
y la documentación de Windows SDK para obtener información sobre técnicas útiles de
diseño.

Archivos de menú (.MNU)


El Diseñador de menús guarda la definición de menú en un archivo .MNU. Dicho
archivo contiene el código de programación que define el menú. Puede realizar cambios
en el archivo de menú tal como lo haría en cualquier otro programa de Visual dBASE.
Para obtener más información, consulte la Referencia del lenguaje.

Capítulo 13, Creación de menús, botones y barras rápidas 301


cremenu.dwu Page 302 Friday, September 1, 1995 4:49 PM

Líneas maestras de la asignación de nombre a títulos y


opciones de menú
Las opciones de la barra de menús se convierten en títulos de los menús desplegables
asociados. Así pues, estas opciones deben representar claramente los tipos de opciones
del menú desplegable. Por ejemplo, el menú Archivo contiene operaciones que abren,
guardan y cierran archivos.
Los menús desplegables y en cascada contienen opciones de menú. A continuación se
incluyen algunas indicaciones sobre la asignación de nombre a las opciones:
• Elija palabras que describan la acción que se realiza cuando se selecciona la opción.
• Siempre que sea posible, asigne una sola palabra como nombre; utilice varias
palabras sólo cuando sea necesario. Por ejemplo, al opción de menú Guardar como
utiliza dos palabras para describir su finalidad y diferenciarla de la opción Guardar.
• Si una opción de menú abre un cuadro de diálogo, incluya puntos suspensivos (...)
detrás de su nombre. Por ejemplo, en un menú Archivo la opción Guardar como
incluye puntos suspensivos (Guardar como...) porque muestra un cuadro de diálogo
para crear archivos.
• Asigne a las opciones teclas rápidas, es decir, las teclas que pueden introducirse para
seleccionar la opción cuando el menú está abierto. La tecla rápida aparece subrayada
en la opción. Por ejemplo, en el menú Ayuda, la opción Contenido utiliza la C como
letra mnemotécnica.
Para especificar la letra rápida cuando crea una opción de menú, se incluye un
ampersand (&) precediéndola. Por ejemplo, para especificar la letra C como carácter
mnemotécnico de la opción de menú Contenido, teclee &Contenido.
• Las letras mnemotécnicas deben ser exclusivas en los menús; en otras palabras, no
puede crear dos opciones en el mismo menú con la misma letra mnemotécnica.
• Utilice la primera letra de la opción de menú como tecla rápida, siempre que no la
utilice otra opción. En ocasiones, sin embargo, una letra más habitual puede
resultar preferible (por ejemplo, el menú Exit utiliza la letra X a pesar de que la
palabra comienza con E).
• Asigne a las opciones de menú habituales una tecla de método abreviado, es decir, una
combinación de teclas que pueden pulsarse para activar la opción aunque el menú
esté cerrado. Por ejemplo, Ctrl+O muestra en Visual dBASE el cuadro de diálogo
Abrir archivo, aunque el menú Archivo esté cerrado.

302 Guía del usuario


cremenu.dwu Page 303 Friday, September 1, 1995 4:49 PM

Para definir la tecla de método abreviado de una opción, especifique la combinación


de teclas en el cuadro de texto situado junto a la propiedad Shortcut. El Diseñador de
menús alinea a la izquierda estas teclas automáticamente.
Figura 13.2 Menú de ejemplo con teclas de método abreviado y teclas rápidas

Los puntos suspensivos indican que la opción abre un cuadro de


diálogo.
Las teclas de método abreviado de estas opciones aparecen en el
menú en tiempo de ejecución (propiedad Shortcut).
Las teclas rápdias aparecen subrayadas.

Uso de separadores
Los separadores son líneas horizontales que dividen los elementos de los menús
desplegables en diferentes grupos. Los separadores facilitan la localización de los
elementos de menú. Por ejemplo, permiten distinguir entre los comandos que activan
acciones y los que sirven para alternar entre dos estados, como se muestra en la
figura siguiente.
Figura 13.3 Ejemplo de menú con separadores

Separadores
en un menú de
Visual dBASE
(propiedad
Separator).

Por defecto, los elementos de menú no son separadores (la propiedad Separator
es falsa).

Capítulo 13, Creación de menús, botones y barras rápidas 303


cremenu.dwu Page 304 Friday, September 1, 1995 4:49 PM

Uso de marcas de verificación para alternar elementos de menú


Puede utilizar marcas de verificación con los elementos de menú para permitir a los
usuarios seleccionar parámetros, definir propiedades o elegir entre una lista de
elementos. Los elementos de menú con marcas de verificación permiten alternar entre
dos estados: marcado (sí, activado, verdadero, seleccionado) o no marcado
(no, desactivado, falso, no seleccionado). Por defecto, los elementos de menú no están
marcados (la propiedad Checkmark es falsa).
Por ejemplo, quizá desee elegir entre un entorno compartido o no compartido, mostrar
u ocultar objetos visuales como ventanas MDI, etc. En este sentido, los elementos de
menú con marcas de verificación son análogos a los controles de las casillas de
verificación en las fichas.
Las marcas de verificación también sirven para que los usuarios puedan seleccionar un
elemento de menú en un grupo de elementos relacionados. Cuando se elige uno, todos
los demás elementos del grupo se desactivan. Por ejemplo, tal vez desee que los
usuarios seleccionen parámetros de hardware en una lista breve, como el tipo de
monitor (8514, SVGA, VGA, CGA o monocromo). En este sentido, los elementos de
menú con marcas de verificación son análogos a un grupo de botones de radio en una
ficha. En la siguiente figura se muestra un elemento de menú seleccionado (marcado).
Figura 13.4 Selección en un grupo de elementos de menú relacionados

La marca de verificación indica qué elemento del grupo se


encuentra seleccionado (propiedad Checkmark).

304 Guía del usuario


cremenu.dwu Page 305 Friday, September 1, 1995 4:49 PM

Creación de elementos de menú


Para crear un elemento de menú, realice una de las siguientes acciones:
• En el Diseñador de fichas, elija Archivo|Nuevo|Menú.
• En la ventana de comandos, introduzca CREATE MENU.
Aparece el Diseñador de menús con un elemento nuevo en la barra de menús.
Figura 13.5 Objeto de menú nuevo en el Diseñador de menús

Elemento de la barra de menús

Punto de inserción

Creación de menús desplegables


Puede crear un menú desplegable y añadirle distintos elementos. Para definir las
propiedades de los elementos de menú, consulte la página 310. Siga estos pasos para
crear un menú desplegable:
1 En primer lugar debe teclear el título del menú donde se halla el punto de inserción
en la barra de menús, tal como se muestra en la siguiente figura.
Figura 13.6 Creación de un menú desplegable

Título del menú.

El ampersand (&) identifica la tecla rápida del


menú.

2 Para generar otro menú desplegable, realice una de las siguientes acciones:
• Pulse → o Tab para insertarlo a la derecha.
• Elija Menú|Insertar título de menú para insertarlo a la izquierda.
• Haga clic en el botón Insertar de la barra rápida para insertarlo a la izquierda.
3 A continuación, teclee el título de este menú desplegable.

Capítulo 13, Creación de menús, botones y barras rápidas 305


cremenu.dwu Page 306 Friday, September 1, 1995 4:49 PM

Puede pulsar las teclas → y ← (o Tab y Mayús+Tab) para desplazarse a los distintos
títulos en la barra de menús. En la siguiente figura se muestra una barra de menús
con varios menús desplegables.
Figura 13.7 Serie de títulos de menú

El menú Ayuda suele ser el último de una serie de menús desplegables.

Adición de una opción de menú a un menú desplegable


Siga estos pasos para añadir un elemento al menú desplegable:
1 Para generar un menú desplegable vacío, seleccione el título en la barra de menús y
pulse ↓.
Aparecerá un nuevo elemento de menú bajo el título, como muestra la figura
siguiente.
Figura 13.8 Un elemento nuevo en un menú desplegable

Elemento de menú nuevo

2 A continuación, teclee el texto del elemento de menú. Para añadir código al suceso
OnClick del elemento, consulte la Referencia del lenguaje.
3 Para añadir más elementos de menú, pulse Intro y teclee otro.
Puede pulsar ↑ y ↓ para desplazarse a los distintos elementos del menú desplegable.
En la siguiente figura se muestra un menú desplegable terminado con sus elementos.
Figura 13.9 Ejemplo de un menú desplegable con sus elementos

306 Guía del usuario


cremenu.dwu Page 307 Friday, September 1, 1995 4:49 PM

Creación de menús en cascada


Puede añadir menús en cascada a un elemento de un menú desplegable u otro menú en
cascada. Siga estos pasos:
1 Seleccione el elemento del menú desplegable y pulse Tab o elija Menú|Insertar menú.
Aparece un nuevo menú en cascada.
Figura 13.10 Menú en cascada nuevo

Menú en cascada nuevo

2 A continuación, teclee el texto del primer elemento del menú en cascada.

Adición de elementos a un menú en cascada


1 Para añadir elementos a un menú en cascada, realice una de las siguientes acciones:
• Seleccione el último elemento de la lista y pulse ↓. Aparece un nuevo elemento
debajo del seleccionado.
• Elija Menú|Insertar elemento de menú o haga clic en el botón Insertar de la barra
rápida. Aparece un nuevo elemento de menú encima del seleccionado.
2 A continuación, teclee el texto del elemento. Para añadir código al suceso OnClick del
nuevo elemento, consulte el Capítulo 14 de la Referencia del lenguaje.
En el siguiente ejemplo se muestra un menú en cascada terminado.
Figura 13.11 Menú en cascada con varios elementos

Capítulo 13, Creación de menús, botones y barras rápidas 307


cremenu.dwu Page 308 Friday, September 1, 1995 4:49 PM

Creación de menús de ventana


Para crear un menú de ventana puede:
• En el Diseñador de fichas, elegir Archivo|Nuevo|Menú de ventana.
• En la ventana de comandos, introducir CREATE POPUP.
Aparecerá el Diseñador de menús de ventana, con un nuevo elemento de menú de
ventana.
Figura 13.12 Nuevo objeto de menú de ventana en el Diseñador de menús de ventana

Nuevo menú de ventana

Nueva ventana en cascada

Después de abrir el Diseñador de menús de ventana, puede editar el menú de la misma


forma que las barras de menú o los menús en cascada:
• Pulse Tab o elija Menú |Insertar menú para crear un menú en cascada.
• Para añadir elementos adicionales, pulse Intro.
No puede insertar un menú Edición o Ventana en un menú en cascada.

308 Guía del usuario


cremenu.dwu Page 309 Friday, September 1, 1995 4:49 PM

Apertura de un menú existente


Para abrir un menú existente en el Selector o en la ventana Catálogo, elija
Archivo|Abrir. Aparecerá el cuadro de diálogo Abrir archivos. Siga los pasos
que se indican a continuación:
1 Seleccione el tipo de archivo de menú (.MNU).
2 Seleccione el archivo de menú que desea cambiar.
3 Elija Aceptar.
O bien, desde el Diseñador de fichas:
1 Seleccione el objeto ficha en el Inspector.
2 Haga doble clic en el botón Utilidades situado junto a la propiedad MenuFile.
3 Seleccione el archivo de menú que desea cambiar.
4 Elija Aceptar para cambiar el menú.
Aparecerá el Diseñador de menús con el menú seleccionado.

Almacenamiento de cambios
Almacene el menú para conservar los cambios realizados. Si todavía no ha guardado el
menú, creará un nuevo archivo de menú (.MNU).
Para guardar los cambios en un menú, puede:
• Elegir Archivo|Guardar comolo haría para guardar el menú con otro nombre.
• Elegir Archivo |Guardar o hacer clic en el botón Guardar de la barra rápida para
actualizar un menú existente y conservar el Diseñador de menús abierto.
Si guarda el menú con un nuevo nombre, un cuadro de diálogo permite introducir o
seleccionar un nombre.

Cancelación de cambios
Abandone los cambios realizados en un diseño de menú si desea cancelar la creación de
un nuevo menú o descartar los cambios realizados en uno existente. Para abandonar los
cambios, elija Archivo |Abandonar y cerrar.

Borrado de menús
Puede borrar un menú desplegable, un menú en cascada o un elemento de menú que ya
no necesite. Si borra un menú principal también borra sus menús secundarios.
Para eliminar un menú, seleccione el menú y elija Menú|Borrar selección.

Capítulo 13, Creación de menús, botones y barras rápidas 309


cremenu.dwu Page 310 Friday, September 1, 1995 4:49 PM

Definición de propiedades de elemento de menú


Es posible definir un gran número de propiedades de elemento de menú de forma
automática mediante el Diseñador de menús, y todas ellas pueden establecerse con el
Inspector. Los procedimientos para definir estas propiedades son los mismos para los
menús desplegables y en cascada. Se ofrece una introducción a estas propiedades en el
apartado “Acerca de los menús” de este capítulo.

Definición de títulos de menú y teclas rápidas


Para definir el título del menú, puede introducir el texto directamente en el Diseñador
de menús o en el cuadro de texto adjunto a la propiedad Text del Inspector. Por ejemplo,
para añadir un menú llamado Ventana, añada Ventana.
Para especificar la letra que desea utilizar como tecla rápida de un elemento del menú,
dicha letra debe ir precedida por un ampersand (&) en el texto del título. Para obtener
más información sobre las teclas rápidas, consulte la página 302.

Definición de teclas de método abreviado


Para asignar una tecla de método abreviado a un elemento de menú, introdúzcala en la
propiedad Shortcut del Inspector. Por ejemplo, si quiere especificar la combinación de
teclas Ctrl+X para salir de un menú, introduzca CTRL-X. A partir de entonces, siempre que
el usuario pulse Ctrl+X, el suceso OnClick se producirá de forma automática.
Esta combinación de teclas también aparece en el título del menú.

Definición de separadores
Para incluir un separador en un elemento de menú, realice una de las siguientes
acciones:
• Elija Menú|Insertar separador para situar un separador encima del elemento de
menú seleccionado.
• Elija el elemento de menú y, a continuación, defina la propiedad Separator como
verdadera en el Inspector.

Visualización de marcas de verificación


Para incluir una marca de verificación junto a un elemento de menú, defina la
propiedad Checkmark como verdadera en el Inspector.

310 Guía del usuario


cremenu.dwu Page 311 Friday, September 1, 1995 4:49 PM

Uso de menús en ventanas no MDI


Por defecto, cuando se añade un menú a una ficha, éste sustituye al menú de
Visual dBASE, siempre que la ficha sea la ventana actual. Sin embargo, tal vez quiera
que los usuarios puedan utilizar tanto el menú de Visual dBASE como el que va a
diseñar. Por ejemplo, si la ficha es una ventana no MDI, se puede incluir el menú dentro
de la ventana de forma que sólo esté disponible cuando la ventana se encuentre
seleccionada.
Si desea convertir una ficha en una ventana no MDI, expanda Propiedades de la
ventana para esa ficha en el Inspector y defina MDI como falso.

Asociación de código a los menús


Cuando los usuarios ejecutan una ficha con un menú, la selección de un elemento de
menú activa el suceso OnClick. Es necesario escribir código de programa para dicho
suceso. También se puede escribir código para el suceso OnHelp a fin de mostrar ayuda
en línea siempre que se seleccione el elemento. Para obtener información más detallada,
consulte el Capítulo 14 de la Referencia del lenguaje.

Creación de botones de comando


Los botones de comando son controles que inician una acción cuando el usuario hace clic
sobre ellos o bien pulsa Intro cuando tienen el foco. Así se activa el suceso OnClick del
botón, que contiene el código de ejecución. Un botón de comando puede cerrar una
ficha, mostrar un cuadro de diálogo, guardar parámetros, iniciar un proceso, etc.
Los botones de comando suelen aparecer en cuadros de diálogo. Sin embargo, también
puede crear botones de barra rápida, que son variantes de los botones de comando, para
que aparezcan en la barra rápida de una ficha. Los botones de barra rápida no reciben el
foco cuando los usuarios pulsan Tab o Mayús+Tab en el teclado. Para obtener información
detallada, consulte “Creación de barras rápidas” más adelante en este capítulo.

Normas para situar los botones de comando


Los cuadros de diálogo siempre contienen al menos un botón de comando que sirve
para cerrar el cuadro. La mayoría tienen varios botones que realizan diferentes acciones.
Al colocar los botones de comando, tenga presente las siguientes normas:
• Los botones deben tener el mismo tamaño dentro de un cuadro de diálogo y en todos
los cuadros de diálogo de una aplicación. Sólo deben emplearse tamaños diferentes si
la etiqueta es muy larga.
• Sitúe los botones de comando en la parte inferior o derecha de un cuadro de diálogo.
Los usuarios suelen mirar los cuadros de la misma manera que leen las páginas de un
libro, recorriéndolas de izquierda a derecha y de arriba a abajo. La elección de un
botón de comando suele ser la última acción que realiza el usuario.

Capítulo 13, Creación de menús, botones y barras rápidas 311


cremenu.dwu Page 312 Friday, September 1, 1995 4:49 PM

Figura 13.13 Formatos habituales de los botones de comando

Botones de comando en la parte


derecha de un cuadro de
diálogo.

Botones alineados y distribuidos


Botones de comando en la homogéneamente.
parte inferior de un cuadro de
diálogo.

• Alinee los botones con respecto a sus bordes superior o izquierdo para que sean
fáciles de recorrer con la vista.
• Distribuya los botones uniformemente en el área de visualización disponible, con el
mismo espaciado entre los botones o grupos de botones.
• En un cuadro de diálogo con muchos botones, coloque los botones de comando que
realizan acciones similares en grupos visuales para que sea más fácil recorrerlos con
la vista.
Figura 13.14 Botones dispuestos en grupos

Este grupo cambia la lista.

Este grupo cierra el cuadro de diálogo y muestra


Ayuda en línea.

312 Guía del usuario


cremenu.dwu Page 313 Friday, September 1, 1995 4:49 PM

Normas para las etiquetas de botones


Los botones incluyen etiquetas de texto que pueden introducirse en el cuadro de texto
situado junto a la propiedad Text en el Inspector de objetos. Tenga en cuenta las normas
siguientes para las etiquetas de botones:
• Las etiquetas deben describir la acción que se produce cuando se selecciona el botón.
Por ejemplo, el botón Cerrar debería cerrar el cuadro de diálogo.
• Las etiquetas deben ser breves y limitarse a una palabra o pequeña frase si es posible.
Utilice varias palabras sólo cuando sea estrictamente necesario. Por ejemplo, si un
botón busca un cliente, la utilización de “Buscar cliente” en la etiqueta puede resultar
más descriptiva que simplemente “Buscar”.
• Si un botón abre un cuadro de diálogo, utilice puntos suspensivos (...) al final de la
etiqueta.
• En los cuadros de dálogo con varios botones o controles, éstos deben incluir una tecla
rápida, es decir, la letra que se puede pulsar en el teclado para desplazar el foco al
botón correspondiente. Consulte la información sobre teclas rápidas en la página 302.
• En general, mantenga un tipo y tamaño de fuente uniforme para todas las etiquetas
de botones de la aplicación. Utilice negrita, así la etiqueta también resultará legible
aunque el botón esté atenuado.

Adición de botones
Pueden añadirse dos tipos de botones en una ficha:
• Botones estándar: botones genéricos que se diseñan partiendo de cero.
• Botones personalizados dBASE: botones prediseñados que contienen gráficos y
código para operaciones habituales. Estos botones incluyen los botones Aceptar,
Cancelar y Ayuda, utilizados frecuentemente en los cuadros de diálogo.
Utilice los botones personalizados para ahorrar tiempo y esfuerzo, y para conseguir un
aspecto homogéneo en los botones.

Adición de botones estándar


Para añadir un botón estándar en una ficha, haga clic en el control de botón de la página
Estándar de la paleta de controles, desplace el puntero a la posición de la ficha donde
desea que aparezca y haga clic o arrastre el botón hasta que tenga el tamaño adecuado.
Figura 13.15 Nuevo botón estándar

Defina la propiedad Text para asignar a la etiqueta un nombre más


descriptivo. Puede cambiar la fuente mediante el cuadro de diálogo Fuente.

Capítulo 13, Creación de menús, botones y barras rápidas 313


cremenu.dwu Page 314 Friday, September 1, 1995 4:49 PM

Como mínimo, cambie la etiqueta del botón para introducir un nombre descriptivo en la
propiedad Text. Además, añada el código que desee en la propiedad OnClick.

Adición de botones personalizados dBASE


Para añadir un botón personalizado en una ficha, haga clic en el control de botón que
desea en la página Personalizado de la paleta de controles.
Nota Si esta página no está disponible, debe configurar controles personalizados. Para ello,
elija Archivo |Definir controles personalizados, haga que aparezca los controles
personalizados dBASE (archivos .CC) y seleccione BUTTONS.CC.
Figura 13.16 Controles de botón personalizados

Sitúe el puntero en la posición adecuada y haga clic o arrastre el botón hasta obtener el
tamaño que desee.
Figura 13.17 Ejemplo de botón personalizado

El gráfico ya aparece en el botón personalizado.

Especificación del botón por defecto


El botón por defecto es aquél en el que se sitúa el foco cuando se abre el cuadro de diálogo.
Es la opción más probable y sólo debe pulsarse Intro para elegirla. Como medida de
protección, si un cuadro de diálogo pide la confirmación para borrar datos, el botón por
defecto suele ser No o Cancelar.
Figura 13.18 Ejemplo de botones por defecto

En este cuadro de diálogo, el botón En este cuadro de diálogo, el


por defecto es la opción más botón por defecto es la opción
probable. más segura.

314 Guía del usuario


cremenu.dwu Page 315 Friday, September 1, 1995 4:49 PM

El botón por defecto es el primero que se añade en la ficha. Para cambiarlo, abra las
propiedades Access y defina la propiedad Default como verdadero. Asegúrese de que la
propiedad Default de los demás botones está definida como falso.

Adición de gráficos en los botones


Los botones pueden mostrar gráficos que proporcionan información visual sobre sus
acciones. Por ejemplo, en Visual dBASE, los botones Aceptar incluyen una marca de
verificación, los botones Cancelar un signo de tachado (X) y los botones Ayuda un signo
de interrogación. Puede utilizar los gráficos de botón personalizado que incluye
Visual dBASE o cualquier archivo de mapa de bits (.BMP) que desee.
Además, un botón puede mostrar varios gráficos según el estado actual (con foco,
desactivado, alzado o hundido). Por ejemplo, un botón puede mostrar un gráfico
atenuado si está desactivado o un gráfico mejorado cuando tiene el foco, como se
muestra en la figura siguiente. Los botones de la barra rápida, en particular, utilizan
gráficos en lugar de etiquetas para identificar la finalidad del botón. Consulte la sección
siguiente.
Figura 13.19 Gráficos de botón para botones activados y desactivados

Gráfico mejorado si el objeto tiene el foco (propiedad FocusBitmap).

Gráfico atenuado si el objeto está desactivado (propiedad DisabledBitmap).

Para añadir un gráfico en un botón, siga los pasos que se indican a continuación:
1 Seleccione el botón que desea utilizar.
2 Abra Mapa de bits en el Inspector.
• FocusBitmap es el gráfico que aparece cuando el foco está en el botón,
generalmente una versión mejorada del gráfico de DisabledBitmap.
• DisabledBitmap es el gráfico que aparece cuando el botón está desactivado,
generalmente una versión atenuada del gráfico de FocusBitmap.
• UpBitmap es el gráfico que aparece cuando el botón está hundido, si tiene
definido este estado.
• DownBitmap es el gráfico que aparece cuando el botón está elevado, si tiene
definido este estado.
3 Para cada propiedad que desee especificar, puede introducir el nombre del mapa de
bits que desea utilizar o hacer clic en el botón Utilidades para elegirlo en el Generador
de mapa de bits. Para obtener más información sobre el uso de este cuadro de
diálogo, elija Ayuda o pulse F1.

Capítulo 13, Creación de menús, botones y barras rápidas 315


cremenu.dwu Page 316 Friday, September 1, 1995 4:49 PM

Creación de barras rápidas


Las barras rápidas son dos o más botones incluidos en un rectángulo que suelen aparecer
en una fila horizontal o vertical.
Los botones de la barra rápida se diferencian de los botones normales en varios
aspectos:
• Las barras rápidas suelen aparecer en ventanas MDI o de aplicación, en tanto que los
botones aparecen más a menudo en cuadros de diálogo. Sin embargo, los botones de
la barra rápida también pueden aparecer en cuadros de diálogo. Por ejemplo, el
botón Utilidades que aparece en varias propiedades del Inspector es un botón de
barra rápida.
• Si la ventana MDI incluye un menú, los botones de la barra rápida pueden actuar
como tecla de método abreviado de un elemento de menú. Llame al procedimiento
asociado con el elemento de menú en el suceso OnClick del botón y el procedimiento
del menú se ejecutará cuando se haga clic en el botón de la barra rápida.
• A diferencia de los botones normales, los botones de la barra rápida no reciben el foco
cuando se pulsa Tab o Mayús+Tab. Estos botones sólo reciben el foco si se hace clic en
ellos con el ratón.
• A diferencia de los botones normales, los botones de la barra rápida suelen tener
gráficos y no etiquetas de texto y aparecen con un tamaño menor. Puede utilizar
mapas de bits de Visual dBASE; consulte “Vinculación de datos” en la página 290.
La figura siguiente muestra una barra rápida normal.
Figura 13.20 Ejemplo de barra rápida

Barra rápida normal con controles de desplazamiento.

316 Guía del usuario


cremenu.dwu Page 317 Friday, September 1, 1995 4:49 PM

Para crear una barra rápida:


1 Incluya un rectángulo en la ficha y defina su propiedad BorderStyle como Elevado.
2 Incluya botones en el rectángulo, como se describe en “Adición de botones estándar”;
a continuación, defina sus propiedades Speedbar como verdadero.
3 Elimine la etiqueta del botón; para ello, borre el texto de etiqueta de la propiedad
Text.
4 Añada los gráficos como se describe en la página 315.
5 Defina que la barra rápida cambie de tamaño dinámicamente a medida que cambia el
tamaño de la ficha; para ello, defina el ancho del rectángulo según el ancho de la ficha
en el suceso OnSize de la ficha.

Capítulo 13, Creación de menús, botones y barras rápidas 317


cremenu.dwu Page 318 Friday, September 1, 1995 4:49 PM

318 Guía del usuario


formex.dwu Page 319 Friday, September 1, 1995 4:50 PM

Capítulo

Creación de una ficha de ejemplo


Capítulo 14
14
En este capítulo se explica paso a paso el proceso de creación de una ficha de entrada de
datos. Antes de comenzar, lea el Capítulo 10 para familiarizarse con los conceptos sobre
fichas y las normas de diseño, y el Capítulo 11 para consultar las instrucciones generales
de uso de las utilidades del Diseñador de fichas.
En este capítulo se emplea como modelo la ficha de clientes de ejemplo
(CLIENTE.WFM) suministrada con Visual dBASE, que contiene los clientes y los
pedidos asociados. Para crear una ficha similar, realizará las siguientes tareas:
1 Crear una consulta que vincule las tablas de ejemplo Cliente y Pedidos en una
relación de valores múltiples (uno con muchos).
2 Elaborar un objeto de ficha y vincularlo a la consulta que ha creado.
3 Añadir campos de entrada, imagen y editores y vincularlos a los campos de la tabla
Cliente.
4 Añadir un objeto Browse y vincularlo a la tabla Pedidos para visualizar los pedidos
de los clientes.
5 Cambiar los colores del texto de los campos de entrada y de un control Browse.
6 Añadir rectángulos para crear grupos visuales de controles.
7 Cambiar el orden de introducción de datos (orden z) de los controles.
8 Añadir botones de comando estándar y personalizados.
9 Ejecutar la ficha para comprobarla.
Aunque el Experto de fichas permite efectuar muchas de estas tareas de forma
automática, las instrucciones de este capítulo ayudan a aprender las técnicas básicas
necesarias para crear una ficha desde cero. La elaboración de una ficha es un proceso
acumulativo, por lo que recomendamos que siga las instrucciones por el orden en que
se presentan en este capítulo.

Capítulo 14, Creación de una ficha de ejemplo 319


formex.dwu Page 320 Friday, September 1, 1995 4:50 PM

Además de fichas de entrada de datos, puede crear cuadros de diálogo, ventanas de


aplicación y otros tipos de ficha mediante el Diseñador de fichas. Para obtener más
información, consulte la Guía del programador.

Acerca de la ficha de entrada de datos Cliente


La ficha de entrada de datos Cliente suministrada con Visual dBASE muestra
información sobre los clientes y los pedidos asociados. Permite a los usuarios realizar
cambios en la información de dicha tabla y examinar, pero no modificar, la información
sobre los pedidos de cada cliente.
Para ejecutar la ficha Cliente, cambie el directorio de trabajo a Ejemplos (si es preciso),
escoja Archivo|Abrir, seleccione Ficha en la lista Tipo de archivo, elija CLIENTE.WFM
en la lista, seleccione Ejecutar ficha y, a continuación, Aceptar.
Aparece la ficha Cliente.
Figura 14.1 Ficha de entrada de datos Cliente

La información
sobre los
clientes procede La información
de la tabla sobre los
Cliente. pedidos procede
de la tabla
Pedidos.

Intente visualizar clientes y editar datos con esta ficha para comprender su
funcionamiento antes de seguir con este capítulo. Elija Anterior y Siguiente para ver los
distintos clientes, y seleccione Edición para editar los datos sobre ellos. Examine los
pedidos mediante las barras de desplazamiento. Cuando termine, utilice Cancelar para
cerrar la ficha.

320 Guía del usuario


formex.dwu Page 321 Friday, September 1, 1995 4:50 PM

Paso 1: Creación de una consulta para vincular tablas


Aunque los usuarios pueden editar datos de tabla en la ventana Registros de tabla,
también pueden emplear fichas para visualizar y editar datos en varias tablas
vinculadas.
La ficha Cliente utiliza dos tablas, CLIENTE.DBF y PEDIDOS.DBF, vinculadas en una
relación de valores múltiples. Cada cliente puede tener varios pedidos, y cada pedido
está asociado a un cliente. En el vínculo, Cliente es la tabla principal y Pedidos es la
secundaria. Las tablas están vinculadas por el número de cliente (campo NUM_CLI),
que es común a ambas.
Antes de crear una ficha, deberá definir este vínculo entre las tablas en una consulta
(no es necesario ejecutar la consulta, simplemente crearla). Una vez generado el archivo
de consulta, puede vincularlo a cualquier ficha para acceder a los datos
correspondientes. Consulte el Capítulo 9 para obtener más información sobre la
definición de vínculos en una consulta.
Para crear una consulta, siga estos pasos:
1 Elija Archivo|Nuevo|Consulta.
2 Cuando aparezca el mensaje, seleccione CLIENTE.DBF.
3 Escoja Consulta|Añadir tabla para agregar una tabla y, a continuación, elija
PEDIDOS.DBF.
4 Vincule las tablas Cliente y Pedidos arrastrando desde el icono de tablas vinculadas
de Cliente hasta el mismo icono de Pedidos.
Figura 14.2 Vinculación de las tablas Cliente y Pedidos

Iconos de tablas
vinculadas

Capítulo 14, Creación de una ficha de ejemplo 321


formex.dwu Page 322 Friday, September 1, 1995 4:50 PM

Aparece el cuadro de diálogo Definir relación, con la casilla de verificación Uno con
muchos seleccionada por defecto.
Figura 14.3 Cuadro de diálogo Definir relación

Elija el campo de vinculación.

Seleccione esta opción para que los


usuarios borren los registros secundarios
junto con el principal.

5 Seleccione NUM_CLI en la lista Indice. Así se define el campo de vinculación.


6 Marque Forzar integridad. Ello garantiza que si los usuarios borran un cliente al
utilizar la ficha, también se borrarán los pedidos correspondientes. Con esta opción
se evita que queden registros secundarios “huérfanos” en la tabla secundaria.
7 Elija Aceptar para cerrar el cuadro de diálogo Definir relación.
8 Ahora escoja Archivo|Guardar y cerrar para almacenar su trabajo en un archivo de
consulta nuevo. Cuando aparezca el mensaje, introduzca el nombre del archivo de
consulta MIFICHA.QBE y elija Aceptar.

322 Guía del usuario


formex.dwu Page 323 Friday, September 1, 1995 4:50 PM

Paso 2: Creación de una ficha


El próximo paso consiste en crear una ficha con el Diseñador de fichas y vincularla al
archivo de consulta que acaba de crear. Un vínculo con una consulta permite vincular
los controles de ficha con los campos de tabla definidos en la consulta.
1 Abra una ficha nueva en el Diseñador de fichas, como se muestra en la siguiente
figura.
Figura 14.4 Ficha nueva vacía

2 Deberá agrandar la ficha, ya que el tamaño por defecto no es suficiente para todos los
controles que va a colocar en este ejemplo.
3 Elija Archivo|Guardar como para almacenar su trabajo en un archivo de ficha nuevo.
Cuando aparezca el mensaje, introduzca el nombre de archivo MIFICHA.WFM y, a
continuación, elija Aceptar. El Diseñador de fichas guarda los cambios y permanece
abierto.
Puede guardar la ficha con la frecuencia que desee. Para almacenar cambios posteriores,
escoja Archivo|Guardar.

Capítulo 14, Creación de una ficha de ejemplo 323


formex.dwu Page 324 Friday, September 1, 1995 4:50 PM

Vinculación de la ficha a la consulta


Para vincular una ficha a una consulta, hay que acceder al Inspector de objetos y
seleccionar el nombre del archivo de consulta en la propiedad View de la ficha.
1 Haga clic en la ficha con el botón derecho y elija Inspector en su menú rápido.
2 Seleccione la propiedad View y haga clic en el botón Utilidades. Aparece el cuadro de
diálogo Elegir vista (puede que tenga que desplazarse hacia abajo para ver la
propiedad View).
Figura 14.5 Cuadro de diálogo Elegir vista

3 Seleccione el archivo MIFICHA.QBE y, a continuación, Aceptar. El texto MIFICHA.QBE


aparece en el cuadro de edición de la propiedad View.

324 Guía del usuario


formex.dwu Page 325 Friday, September 1, 1995 4:50 PM

Paso 3: Adición de campos de entrada, imágenes y editores


El próximo paso consiste en añadir y vincular controles para visualizar y editar datos en
la tabla Cliente. Empleará controles de campo de entrada para los campos de carácter,
un control de imagen para el campo FIRMA (datos binarios) y un control de editor para
el campo NOTA (datos memo). También añadirá etiquetas de texto (objetos de texto)
para identificar cada control.

Adición de campos de entrada


Los campos de entrada se suelen utilizar para campos de carácter, numéricos y de fecha.
En esta ficha, añadirá controles de campo de entrada para todos los campos de carácter
de la tabla Cliente. También añadirá una etiqueta de texto a cada campo de entrada.
En la Tabla 14.1 se relacionan los campos de entrada que hay que añadir.
Tabla 14.1 Campos de entrada de la ficha Cliente
Valor de la propiedad Etiqueta de texto
Campo de CLIENTE.DBF DataLink (con teclas rápidas)
NOMBRE CLIENTE->NOMBRE N&ombre de cliente:
NUM_CLI CLIENTE->NUM_CLI N&umero de cliente:
TELEFONO CLIENTE->TELEFONO T&eléfono:
CALLE CLIENTE->CALLE &Calle:
CIUDAD CLIENTE->CIUDAD C&iudad:
PROVINCIA CLIENTE->PROVINCIA Pro&vincia:
COD_POST CLIENTE->COD_POST Código &postal:
PAIS CLIENTE->PAIS P&aís:

Para añadir el primer control de campo de entrada:


1 Haga clic sobre el campo NUM_CLI de la paleta de campos. Si no está visible, elija
Ver |Paleta de campos para presentarla.
2 Haga clic (no es necesario arrastrar) sobre la posición donde desee situar el primer
control en la ficha. Aparece el campo de entrada nuevo.
3 Puede cambiar su posición, tamaño y alineación si lo desea.
Repita estos pasos para los demás campos de la Tabla 14.1.
Nota Utilice la Figura 14.1 como modelo para colocar correctamente los controles.

Capítulo 14, Creación de una ficha de ejemplo 325


formex.dwu Page 326 Friday, September 1, 1995 4:50 PM

Adición de etiquetas de texto


Una etiqueta de texto es un objeto de texto que identifica la función de un campo de
entrada. Para añadir el primer objeto de texto:
1 Haga clic en la herramienta Texto de la página Estándar de la paleta de controles y, a
continuación, a la izquierda del campo de edición NOMBRE. Aparece un objeto de
texto nuevo.
2 Cambie la posición, tamaño o alineación de la etiqueta si es preciso.
Para modificar el texto de la etiqueta:
1 Abra el Inspector.
2 Introduzca el texto en la propiedad Text. Utilice un ampersand (&) justo delante de la
letra subrayada para identificar la tecla rápida que los usuarios pueden pulsar para
desplazarse rápidamente al campo. Por ejemplo, introduzca lo siguiente en la
propiedad Text: N&ombre de cliente. Cambie el tamaño del objeto de texto si es
necesario. Consulte “Uso de teclas rápidas con etiquetas de control” en la página 297.
Repita estos pasos para los demás campos de la Tabla 14.1 y guarde los cambios.

Adición de controles de imagen


Los controles de imagen se utilizan normalmente con los campos binarios que contienen
datos de gráficos. En esta ficha, añadirá un control de imagen para visualizar el campo
FIRMA de la tabla Cliente. También añadirá una etiqueta de texto.
Para añadir un control de imagen:
1 Haga clic en el campo FIRMA de la paleta de campos y, a continuación, en la posición
donde desee situarlo en la ficha (consulte la Figura 14.1 para ver un ejemplo).
Aparece un control de imagen nuevo.
2 Cambie la posición, tamaño o alineación de la imagen si es preciso.
3 Guarde los cambios.

326 Guía del usuario


formex.dwu Page 327 Friday, September 1, 1995 4:50 PM

Adición de controles editor


Los controles editor se suelen utilizar con campos memo y campos de carácter largos.
En esta ficha, añadirá un control editor para visualizar el campo NOTAS de la tabla
Cliente.
Para añadir el control editor:
1 Elija Formato|Asociar tipos de controles para acceder al cuadro de diálogo
Asociar tipos de controles.
2 En el Tipo de campo Memo, elija el Tipo de control Editor para asociar controles
editor con campos memo. Haga clic sobre Aceptar.
3 Haga clic sobre el campo NOTAS de la paleta de campos y sobre cualquier posición
de la ficha (consulte la Figura 14.1). Aparecerá el nuevo control editor.
4 Cambie la posición, el tamaño y la alineación como desee.

Adición de una etiqueta de texto


Para añadir una etiqueta de texto para este control editor:
1 Haga clic en la herramienta Texto de la página Estándar de la paleta de controles y, a
continuación, en el control editor. Aparece el objeto de texto nuevo.
2 Cambie la posición, tamaño o alineación de la etiqueta si es preciso.
Para modificar el texto de la etiqueta:
1 Abra el Inspector e introduzca el siguiente texto en la propiedad Text: No&tas.
2 Ahora guarde los cambios y compare la ficha con la Figura 14.1 para verificar la
situación de los controles de texto, campo de entrada, imagen y editor. Realice los
reajustes necesarios.

Capítulo 14, Creación de una ficha de ejemplo 327


formex.dwu Page 328 Friday, September 1, 1995 4:50 PM

Paso 4: Adición de un control Browse


Los controles Browse se suelen utilizar para visualizar varios registros al mismo tiempo,
incluidos los registros secundarios de las tablas que forman parte de una relación de
valores múltiples. En esta ficha, añadirá un control Browse para ver la mayoría de los
campos de la tabla Pedidos. También establecerá un vínculo con la tabla, seleccionará
campos, cambiará las propiedades de edición y visualización y añadirá una etiqueta de
texto.
Para añadir el control Browse:
1 Haga clic sobre la herramienta Browse en la página Estándar de la paleta de controles
y, a continuación, en la posición apropiada de la ficha (consulte la Figura 14.1).
Aparece el nuevo control Browse.
2 Cambie la posición, tamaño o alineación si es preciso.

Vinculación con un alias


Para vincular el control Browse con un alias de tabla:
1 Seleccione el control y cambie al Inspector.
2 Expanda las propiedades DataLinkage (haga doble clic sobre ellas) y haga clic en el
botón Utilidades de la propiedad Alias. Aparece el Generador de alias.
Figura 14.6 Generador de alias

Seleccione la tabla Pedidos en la lista Alias.

3 En la lista Tablas, seleccione PEDIDOS y, a continuación, elija Aceptar para cerrar el


cuadro de diálogo. Aparece el nombre de la tabla en el cuadro de diálogo Alias
(PEDIDOS).

328 Guía del usuario


formex.dwu Page 329 Friday, September 1, 1995 4:50 PM

Selección de campos Browse


Va a incluir todos los campos de la tabla Pedidos salvo NUM_CLI, que repite
información que ya aparece en la tabla Cliente (el número de cliente es el mismo para
todos los pedidos). Para seleccionar campos para el control Browse:
1 Seleccione el control Browse y cambie al Inspector.
2 Expanda las propiedades DataLinkage y haga clic en el botón Utilidades de la
propiedad Fields. Aparece el cuadro de diálogo Elegir campos.
Figura 14.7 Cuadro de diálogo Elegir campos

3 En la lista Campos seleccionados, elija NUM_CLI y haga clic en el botón de flecha


izquierda (<) para eliminarlo de la lista.
Nota No cierre el cuadro de diálogo todavía. Debe permanecer abierto para el siguiente
paso.

Capítulo 14, Creación de una ficha de ejemplo 329


formex.dwu Page 330 Friday, September 1, 1995 4:50 PM

Modificación de cabeceras de campo


Puede cambiar el texto de la cabecera que aparece en la parte superior de cada columna.
Por defecto, se emplea el nombre del campo, pero puede añadir un título más
descriptivo.
Para modificar el texto de la cabecera:
1 En el cuadro de diálogo Elegir campos , elija el campo cuya cabecera desee cambiar y,
a continuación, Propiedades. Aparece el cuadro de diálogo Propiedades del campo.
Figura 14.8 Cuadro de diálogo Propiedades del campo

2 En el campo Encabezado, teclee el texto del campo, como se muestra en la Tabla 14.2,
y haga clic en Aceptar. Repita este procedimiento para cada campo.
Tabla 14.2 Cabeceras de los campos del objeto Browse
Nombre de
campo Cabecera Browse
NUM_PED Número de pedido
FECH_VENTA Fecha de venta
FECH_ENVIO Fecha de envío
MODO_ENVIO Modo de envío
FACTURADO Total facturado
PAGADO Importe pagado
DEBE Importe debido
CONDI_PAGO Condiciones de pago
FORMA_PAGO Forma de pago
TOTAL Total

Nota Puede que aumente el ancho de columna al introducir una cabecera larga.
3 Haga clic en Aceptar para cerrar el cuadro de diálogo Propiedades del campo.

330 Guía del usuario


formex.dwu Page 331 Friday, September 1, 1995 4:50 PM

Adición de etiquetas de texto


Para añadir la etiqueta de texto:
1 Haga clic sobre la herramienta Texto en la página Estándar de la paleta de controles
y, a continuación, en el control Browse. Aparece el objeto de texto nuevo.
2 Cambie la posición, tamaño o alineación de la etiqueta si es preciso.
Para modificar el texto de la etiqueta:
1 Seleccione el control y cambie al Inspector.
2 Introduzca el siguiente texto en la propiedad Text: &Pedidos.

Definición de propiedades de edición


Por defecto, los usuarios pueden añadir, cambiar y borrar registros en los campos
Browse. Sin embargo, va a impedirlo en la tabla Pedidos de esta ficha. Estas operaciones
deben realizarse en una ficha aparte para garantizar la integridad de los datos. Pedidos
tiene una relación de valores múltiples con los registros de la tabla Elemento, y hay que
asegurarse de que los cambios realizados en un registro principal se reflejan en los
secundarios.
Para impedir estas operaciones:
1 Seleccione el objeto Browse y cambie al Inspector.
2 Expanda Editar propiedades y defina las siguientes propiedades como falsas (.F.):
Append, Delete y Modify.

Definición de propiedades de visualización


Por defecto, los usuarios ven las columnas Record Number y Deleted en los objetos
Browse. Va a ocultar estas columnas en la ficha para despejar la pantalla.
Para ocultar estas columnas:
1 Seleccione el control Browse y cambie al Inspector .
2 Expanda Propiedades de visualización y defina las siguientes propiedades como
falsas (.F.): ShowDeleted y ShowRecNo.
3 Ahora guarde los cambios.

Capítulo 14, Creación de una ficha de ejemplo 331


formex.dwu Page 332 Friday, September 1, 1995 4:50 PM

Paso 5: Definición de colores para los campos de entrada


El siguiente paso consiste en utilizar color para resaltar los campos que aceptan entradas
del teclado. Puede emplear colores en una ficha para destacar o disimular objetos,
enfatizar similitudes o diferencias entre ellos y mostrar un objeto con el foco.

Acerca de los colores


Los controles de ficha tienen una propiedad ColorNormal que define sus colores.
Los que pueden recibir el foco, como los campos de entrada y cuadros de incremento,
tienen una propiedad ColorHighlight que aparece cuando tienen el foco; en caso
contrario, el color que aparece es el valor de ColorNormal.
Muchos objetos tienen un color de primer plano y uno de fondo. En los campos de
entrada, el color de primer plano es el texto que aparece en el área de entradas, y el color
de fondo es el color de relleno de dicha área. En esta ficha, el color de primer plano
(texto) de los campos de entrada será azul, y el color de fondo será gris claro. Así se
distingue el texto de los campos de entrada de los demás objetos de texto (las etiquetas,
que son negras) de la ficha, y hay suficiente contraste entre los colores de primer plano y
de fondo, de forma que es fácil ver el texto.
Por defecto, la propiedad ColorNormal está definida con los colores de Elemento de
pantalla especificados en el Panel de control de Windows, como Cara del botón y Texto
del botón. Si utiliza estos colores, las fichas y campos pueden presentar diferentes
colores en cada sistema, ya que siguen el formato de color que se define en el Panel de
control de Windows. Consulte la documentación de Windows para obtener más
información sobre los formatos de color del Panel de control.

332 Guía del usuario


formex.dwu Page 333 Friday, September 1, 1995 4:50 PM

Selección de colores para los campos de entrada


Para establecer el color de un campo de entrada:
1 Seleccione el campo de entrada y cambie al Inspector.
2 Expanda Propiedades de visualización y haga clic en el botón Utilidades de la
propiedad ColorNormal. Aparece el cuadro de diálogo Elegir color.
Figura 14.9 Cuadro de diálogo Elegir color

3 Seleccione el botón de radio Primer plano, que define el color del texto del área de
entradas.
4 Elija el panel azul oscuro en el área Colores básicos. Aparece la indicación B+ en el
área de texto del campo Primer plano.
5 Escoja el botón de radio Fondo, que define el color de relleno del área de entradas.
6 Seleccione el panel gris claro en el área Colores básicos. Aparece una W en el área de
texto del campo Fondo.
7 Elija Aceptar para cerrar el cuadro de diálogo. Aparece el siguiente texto en el cuadro
de texto ColorNormal: B+/W.
Una vez que conoce el código primer plano/fondo, puede ahorrar pulsaciones para los
demás campos de entrada introduciendo dicho código (B+/W) en el correspondiente
cuadro de texto ColorNormal. De la misma manera, puede teclear el código de color
B+/W* en el cuadro de texto ColorHighlight para mostrar un fondo claro (W*) cuando
el campo de entrada tiene el foco.
8 Realice esta operación para el resto de los campos de entrada de la ficha. Para ahorrar
tiempo puede utilizar el Portapapeles. Seleccione el código de color, pulse Ctrl+C para
copiarlo en el Portapapeles, elija ColorNormal o ColorHighlight para el objeto en
cuestión y pulse Ctrl+V para pegarlo.

Capítulo 14, Creación de una ficha de ejemplo 333


formex.dwu Page 334 Friday, September 1, 1995 4:50 PM

Definición de colores para el objeto Browse


El objeto Browse muestra texto con un color que contrasta (magenta), para que destaque
en la ficha. Para cambiar el color del objeto Browse:
1 Seleccione el objeto Browse y cambie al Inspector .
2 Teclee RB/W (RB es el código de magenta) en la propiedad ColorNormal. El texto del
objeto Browse se torna magenta.
3 Ahora guarde los cambios.

Paso 6: Adición de rectángulos para crear grupos visuales


Ahora rodeará los grupos que contienen información relacionada con rectángulos
(también denominados cuadros de grupo) para resaltar las similitudes y diferencias
entre los controles. Puede clasificar la información sobre los clientes en distintos
grupos: nombre y número de cliente, dirección, pedidos, etc. Las fichas que se
organizan bien visualmente son fáciles de utilizar.
Añadirá rectángulos para rodear estos tres grupos de información:
• Nombre, número de cliente y teléfono
• Calle, Ciudad, Provincia, Código postal y País
• Campo de firma
Para añadir un control rectangular al primer grupo:
1 Haga clic sobre la herramienta Rectángulo en la página Estándar de la paleta
de controles y, a continuación, en la posición apropiada de la ficha (consulte la
Figura 14.1). Aparece el rectángulo nuevo.
2 Cambie su posición, tamaño o alineación si es preciso.
Nota El rectángulo oculta los campos que rodea. Ya corregirá este detalle en el Paso 7.
3 Añada los demás rectángulos para rodear los dos grupos restantes.

Modificación de las etiquetas de los rectángulos


El rectángulo lleva una etiqueta de texto. Por defecto, se utiliza el nombre del objeto
(por ejemplo, RECTANGULO1). Para ajustar los rectángulos de la ficha:
1 Para los dos primeros rectángulos, elimine esta etiqueta borrando el texto mediante la
propiedad Text.
2 Para el tercer rectángulo, cambie la etiqueta a Firma:.
3 Ahora guarde los cambios.

334 Guía del usuario


formex.dwu Page 335 Friday, September 1, 1995 4:50 PM

Paso 7: Modificación del orden z


El siguiente paso consiste en cambiar el orden z de los controles, que es el orden en que
los usuarios se desplazan de un objeto a otro mediante las teclas Tab o Mayús+Tab.
Por defecto, el orden z es el mismo en que los controles se añadieron a la ficha.
Sin embargo, se suele preferir otro orden.
La definición del orden z establece también el orden de entrada de datos de los objetos
en la ficha. Para obtener más información sobre el orden z, consulte el Capítulo 11 y la
Ayuda en línea, que presenta esta información con gráficos tridimensionales.

Cambio a la vista Orden


Para examinar el orden z, elija Ver |Orden. La ficha aparece en la vista Orden, como se
muestra en la siguiente figura.
Figura 14.10 Los controles de Cliente en la vista Orden

Las etiquetas
con teclas
rápidas deben Los números indican el orden z
preceder a los y las posiciones en el orden de
campos de entrada de datos.
entrada de
datos asociados
en el orden z.

Capítulo 14, Creación de una ficha de ejemplo 335


formex.dwu Page 336 Friday, September 1, 1995 4:50 PM

Modificación del orden de objetos individuales


Para cambiar el orden de entrada de datos de los objetos de una ficha:
1 Seleccione Formato|Establecer el orden de controles.
La vista de la ficha cambia a Orden y aparece el cuadro de diálogo Establecer el orden
de controles.
Figura 14.11 Definición del orden z

Seleccione un campo y
utilice los botones para
cambiar su posición en el
orden z.

Especifique si
los controles se
van a ver por
nombre o valor.

2 Verifique o cambie la posición de cada objeto de la ficha utilizando la siguiente tabla.


Tabla 14.3 Orden Z de los controles de la ficha de ejemplo
Posición en el Nombre del
orden Z control Control
1 RECTANGLE 1
2 RECTANGLE 2
3 RECTANGLE 3
4 TEXT 1 Nombre de cliente: etiqueta
5 ENTRYFIELD 1 Campo NOMBRE
6 TEXT 2 Número de cliente: etiqueta
7 ENTRYFIELD 2 Campo NUM_CLI
8 TEXT 3 Teléfono: etiqueta
9 ENTRYFIELD 3 Campo TELEFONO
10 TEXT 4 Calle: etiqueta
11 ENTRYFIELD 4 Campo CALLE
12 TEXT 5 Ciudad: etiqueta
13 ENTRYFIELD 5 Campo CIUDAD
14 TEXT 6 Provincia: etiqueta
15 ENTRYFIELD 6 Campo PROVINCIA
16 TEXT 7 Código postal: etiqueta
17 ENTRYFIELD 7 Campo COD_POST
18 TEXT 8 País: etiqueta
19 ENTRYFIELD 8 Campo PAIS
20 TEXT 9 Pedidos: etiqueta

336 Guía del usuario


formex.dwu Page 337 Friday, September 1, 1995 4:50 PM

Tabla 14.3 Orden Z de los controles de la ficha de ejemplo (continuación)


Posición en el Nombre del
orden Z control Control
21 BROWSE 1 Tabla PEDIDOS, Browse
22 IMAGE 1 Campo FIRMA
23 TEXT 11 Notas: etiqueta
24 EDITOR 1 Campo NOTAS

3 Cuando termine, haga clic en el botón Formato para volver a la vista Formato.
Los campos que quedaban ocultos en el Paso 6 deberían estar visibles ahora.
4 Guarde los cambios.
Nota Si intenta incluir controles en una ficha desde la vista Orden, Visual dBASE cambia
automáticamente a vista Formato.

Paso 8: Adición de botones de comando


Finalmente, va a añadir botones de comando a la ficha. Dichos botones ejecutan
comandos de Visual dBASE cuando los elige el usuario (haciendo clic sobre ellos o
pulsando Intro cuando tienen el foco). Va a añadir cuatro botones de comando a la ficha:
• Anterior muestra el cliente anterior y los pedidos asociados.
• Siguiente muestra el cliente siguiente y los pedidos asociados.
• Cancelar cierra la ficha.
• Editar permite realizar cambios en la información sobre los clientes. Cuando se
selecciona, activa las propiedades de edición de los campos de entrada y cambia la
etiqueta del botón a Ver (para volver al modo de sólo lectura). Si el botón se elige de
nuevo, desactiva las propiedades de edición y vuelve a cambiar la etiqueta a Editar.
Anterior, Siguiente y Cancelar son botones de comando personalizados que se
suministran con Visual dBASE. Tienen etiquetas, gráficos y código predefinidos.
El botón Editar requiere algunas operaciones de programación para el suceso OnClick
que no entran en el ámbito de este capítulo.

Capítulo 14, Creación de una ficha de ejemplo 337


formex.dwu Page 338 Friday, September 1, 1995 4:50 PM

Adición de botones de comando personalizados


Para añadir un botón de comando personalizado:
1 Haga clic en el botón correspondiente (Siguiente, Anterior o Cancelar) en la página
Personalizado de la paleta de controles y, a continuación, en la posición apropiada de
la ficha (consulte la Figura 14.1). Aparece el botón de comando nuevo.
2 Cambie su posición, tamaño o alineación si es preciso.
3 Añada los tres botones de la misma forma.
Si desea ver el código personalizado asociado a alguno de estos botones:
1 Seleccione el botón y cambie al Inspector.
2 Haga clic en la página Sucesos y, a continuación, en el botón Utilidades del suceso
OnClick para visualizar el código con el Editor de procedimientos.
3 Cuando termine de revisar el código, haga doble clic en el menú de Control para
cerrar el Editor de procedimientos.
Para obtener más información sobre el uso del Editor de procedimientos, consulte el
Capítulo 11.

Paso 9: Ejecución de la ficha


Una vez terminados todos los pasos descritos en este capítulo, puede ejecutar la ficha
para comprobar su funcionamiento.
1 Para ejecutar la ficha, pulse F2 o elija Ver|Ejecutar ficha. La ficha aparece en modo
ejecutar.
2 Elija los botones Siguiente y Anterior para ver los distintos clientes de la ficha.
Al cambiar de cliente, los pedidos correspondientes a cada uno deben aparecer
automáticamente en el objeto Browse. Cuando termine la comprobación, elija
Cancelar para cerrar la ficha.
Si la ficha se ejecuta correctamente, enhorabuena. Ha conseguido crear de la nada una
ficha de entrada de datos. Si surgen problemas, invierta el proceso y modifique la parte
de la ficha que no funcione como pretende.
El diseño de fichas es un proceso iterativo que funciona a base de tanteos y errores, y el
Diseñador de fichas constituye una herramienta flexible que permite retocar el diseño
con gran facilidad.

338 Guía del usuario


p_tools.dwu Page 339 Friday, September 1, 1995 4:51 PM

Parte

V
Utilidades
Parte V

Visual dBASE le ofrece una amplia gama de utilidades y técnicas que le facilitarán la
creación de aplicaciones por muy complejas que sean.
En la Parte V conocerá las diversas utilidades y otras facetas del entorno Visual dBASE.
• Capítulo 15, “Creación de expresiones”
• Capítulo 16, “Impresión”
• Capítulo 17, “Trabajo en entornos compartidos”
• Capítulo 18, “Uso de los editores de Visual dBASE”
• Capítulo 19, “Introducción de comandos de dBASE en la ventana de comandos”

Parte V, Utilidades 339


p_tools.dwu Page 340 Friday, September 1, 1995 4:51 PM

340 Guía del usuario


bildexp.dwu Page 341 Friday, September 1, 1995 4:52 PM

Capítulo

Creación de expresiones
Capítulo 15
15
El Generador de expresiones facilita la creación de expresiones de dBASE, desde las más
simples hasta las más complejas, así como su inserción en la ventana o cuadro de
diálogo actual. El Generador de expresiones simplifica el proceso de creación de
expresiones y asegura que su sintaxis sea correcta.
En este capítulo se describen los siguientes aspectos:
• Inicio del Generador de expresiones.
• Creación de una expresión básica
• Uso de la Asistencia
• Inserción de expresiones en la ventana o cuadro de diálogo de partida.
• Adición de funciones definidas por el usuario al Generador de expresiones.

Capítulo 15, Creación de expresiones 341


bildexp.dwu Page 342 Friday, September 1, 1995 4:52 PM

Acerca de las expresiones


Una expresión se compone de uno o varios elementos de dBASE, como constantes,
funciones y operadores, que equivalen a un único valor. El resultado de una expresión
puede ser un valor de carácter, de fecha, lógico o numérico, o también un objeto, un
código o un puntero de función.
Las expresiones pueden tener valores constantes, como números (3,14) o cadenas de
caracteres (“CA”). También pueden tener valores variables, como Precio*0.85, al que
corresponderá un valor distinto para cada registro.
Utilice las expresiones cuando necesite introducir un valor, como el valor de prueba
empleado para filtrar los registros de una consulta. La condición de la consulta puede
ser una expresión del tipo Nombre >= “R”, que dará como resultado T o F para cada
registro y seleccionará sólo aquellos cuyo valor sea T, es decir, los nombres
comprendidos entre la “R” y el final del alfabeto.
Las expresiones pueden tener los siguientes elementos:
• Nombres de campo, como Apellido o Ventas_ac.
• Constantes, como {9/1/94} o “MA”.
• Funciones, como STR, que convierte un número en una cadena de caracteres.
• Operadores, como +, * y /.
• Variables de memoria, que pueden crearse utilizando el lenguaje dBASE.
• Elementos de matrices, que también se crean con el lenguaje dBASE.
• Funciones definidas por el usuario.
Para obtener más información sobre estos elementos y el lenguaje dBASE, consulte la
Guía del programador.
Tenga en cuenta la diferencia que existe entre expresiones y comandos. Los comandos
son los verbos del lenguaje dBASE, mientras que las expresiones representan un valor,
por lo que no contienen comandos. Una sentencia completa suele estar compuesta por un
comando y una o varias expresiones.
El objetivo del Generador de expresiones no es crear sentencias de comandos completas,
sino expresiones. Si se encuentra en la ventana de comandos y desea introducir una
sentencia como SET FILTER TO COD_POST> ”90000”, teclee la parte de comando de la
sentencia, “SET FILTER TO ”, y a continuación abra el Generador de expresiones para
crear la expresión y pegarla en la sentencia.

342 Guía del usuario


bildexp.dwu Page 343 Friday, September 1, 1995 4:52 PM

Apertura del Generador de expresiones


El Generador de expresiones se encuentra disponible en la ventana de comandos y en el
Editor de textos, así como en los cuadros de diálogo donde pueda ser necesario
introducir expresiones. Para abrir el Generador de expresiones, efectúe una de las
siguientes acciones:
• Escoja Edición|Generar expresión (o pulse Ctrl+E ).
• En un cuadro de diálogo, haga clic en el botón Utilidades que aparece junto a los
campos que aceptan expresiones.
(En los programas, utilice la función GETEXPR() para abrir el Generador de
expresiones. Para obtener información sobre la sintaxis, consulte la Ayuda en línea.)
Figura 15.1 El Generador de expresiones

Botón Evaluar
Casilla de verificación Asistencia
Cuadro Expresión

Panel informativo
Listas de elementos

Panel informativo

Si selecciona texto antes de abrir el Generador de expresiones, éste mostrará el texto


preparado para su revisión (consulte la Figura 15.13).
Dentro del cuadro de diálogo Generador de expresiones, el cuadro Expresión es donde
se crea la expresión. Los distintos elementos van apareciendo en él al añadirlos,
solicitando a veces la introducción de algunos datos.
Bajo el cuadro Expresión, se encuentran las listas Categoría, Tipo (o Tabla) y Pegar.
Utilícelas de izquierda a derecha para escoger los elementos que forman la expresión.
Al seleccionar un elemento en una de las listas, la lista situada a su derecha muestra las
opciones disponibles en ese grupo.
• La lista Categoría contiene las principales categorías de elementos que se pueden
emplear en una expresión. Al escoger una, aparecen en la lista Tipo los tipos
disponibles para esa categoría.
• La lista Tipo muestra las opciones disponibles dentro de la categoría seleccionada en
el cuadro anterior. Si selecciona Campo en el cuadro Categoría, esta lista tendrá la
etiqueta Tabla en lugar de Tipo y mostrará una relación de las tablas abiertas.
Al escoger un valor en el cuadro Tipo, aparecen los elementos correspondientes en la
lsita Pegar.

Capítulo 15, Creación de expresiones 343


bildexp.dwu Page 344 Friday, September 1, 1995 4:52 PM

• La lista Pegar muestra los elementos incluidos en la categoría y el tipo seleccionado.


Escoja un elemento de esta lista para introducirlo en la expresión que está creando.
Los dos paneles informativos muestran mensajes relativos a la expresión o al elemento
actual.

La Asistencia
La Asistencia es un sistema de ayuda para generar expresiones de dBASE, con todos los
elementos necesarios y la sintaxis adecuada. Permite escoger los elementos de diversas
listas de selección y comprueba la sintaxis utilizada al crear la expresión.
Antes de crear una expresión debe decidir si la Asistencia ha de estar activada o
desactivada. En general, debe activar la Asistencia si no conoce la sintaxis de dBASE.
Por el contrario, debe desactivarla si desea la máxima flexibilidad posible para teclear
algunas partes de la expresión y pegar otras.
Para activar o desactivar la Asistencia, haga clic en la casilla de verificación Asistencia
situada en la parte superior del cuadro de diálogo. Esto sólo puede realizarse cuando el
cuadro Expresión esté vacío o cuando la expresión del cuadro tenga una sintaxis
correcta.
Cuando la Asistencia está activada,
• El usuario sólo puede seleccionar los elementos de lista Pegar, no teclearlos
directamente en el cuadro Expresión. Conforme se van introduciendo elementos,
Visual dBASE comprueba su sintaxis.
• Los identificadores de distintos colores representan elementos que hay que sustituir.
Las letras Op, que aparecen en blanco, indican que se debe introducir un operador.
El texto amarillo representa un operando, como una constante o el argumento de una
función.
• El punto de inserción sólo puede situarse entre elementos.
• Los botones Agrupar y Deshacer están activados.
Cuando la Asistencia está desactivada,
• El usuario puede seleccionar y pegar elementos, pero también teclearlos
directamente en el cuadro Expresión.
• Los botones Agrupar y Deshacer están desactivados.
• Puede cortarse, copiarse y pegarse texto en el cuadro Expresión mediante los
comandos del Portapapeles.
Cuando pulsa el botón Evaluar, el Generador de expresiones intenta evaluar la
expresión y, si es válida, muestra el resultado en el panel informativo. En caso de no ser
válida o estar incompleta, aparece un mensaje explicando el problema y queda
atenuado el botón Aceptar, por lo que no se puede introducir la expresión en el entorno.

344 Guía del usuario


bildexp.dwu Page 345 Friday, September 1, 1995 4:52 PM

Trabajar con la Asistencia activada es en cierto modo más complejo (ya que se
proporciona más ayuda), por lo que la mayor parte de este capítulo se centra en los
procedimientos que deben seguirse cuando la Asistencia está activada.

Inicio de la expresión
El proceso de creación de una expresión empieza por la selección de elementos en la
lista Pegar y su introducción en el cuadro Expresión. Una vez hecho esto, sustituya los
identificadores por los valores apropiados e introduzca la expresión ya terminada en la
ventana o cuadro de diálogo de donde partió. La Figura 15.2 muestra cómo se
introducen los elementos, mientras que las siguientes ilustran la forma en que se realiza
la sustitución de los identificadores.
Primero, seleccione uno o varios elementos para la expresión e introdúzcalos en el
cuadro Expresión, como muestra la siguiente figura. Si desea seleccionar un campo de la
lista Pegar, como en este ejemplo, abra la tabla antes de iniciar el Generador de
expresiones.
Figura 15.2 Creación de expresiones

3. Escoja un campo en la lista


Pegar y arrástrelo al cuadro
Expresión. También puede
hacer doble clic en él o pulsar la
1. Escoja una de las opciones barra espaciadora para pegarlo.
de la lista Categoría.
Aparecerá una lista nueva en
el panel Tipo/Tabla.

2. Elija una opción en la lista


Tipo. Aquí, la única opción
es la tabla abierta, Cliente.
Sus campos aparecen en la
lista Pegar.

4. Repita esta operación para 5. Haga doble clic o arrastre el


añadir otros elementos a la operador “menor que” para
expresión. Si desea añadir incluirlo en la expresión.
el operador “menor que”, Al hacerlo, el Generador de
escoja la categoría expresiones introduce Valor
Operador y el Tipo Todas o como identificador.
Relacional.

Capítulo 15, Creación de expresiones 345


bildexp.dwu Page 346 Friday, September 1, 1995 4:52 PM

Si se equivoca al crear una expresión, pulse el botón Deshacer para anular la última
operación. Si necesita suprimir varios elementos, utilice Retroceso o Supr.
Para agrupar elementos entre paréntesis, selecciónelos en el cuadro Expresión y pulse el
botón Agrupar.
Al escoger una función o una variable en la lista Pegar, aparece una descripción de la
función y de su sintaxis en el panel informativo situado debajo del cuadro. Al hacer clic
en un nombre de campo, este panel muestra datos relativos al tipo y tamaño del campo.

Funciones con diversas variantes


Algunas funciones pueden admitir conjuntos de argumentos alternativos.
Estas variantes aparecen en la lista Pegar, seguidas de uno o varios puntos. Con estas
entradas marque el panel informativo situado debajo de la lista Pegar para ver la
sintaxis y una explicación de cada versión.
Figura 15.3 Variantes de la sintaxis de las funciones

La función CENTER presenta tres variantes.

La sintaxis de cada una de ellas aparece aquí al


seleccionarla.

Por ejemplo, CENTER aparece tres veces: sin punto, con un punto y con dos puntos.
Al seleccionar una de ellas puede ver su sintaxis junto con una explicación:

Función Sintaxis y explicación


CENTER CENTER(expC | Campo memo)
Centra cadenas de caracteres o campos memo en líneas de 80 caracteres
CENTER. CENTER(expC | Campo memo, expN)
Centra cadenas o campos memo en líneas de la longitud especificada
CENTER.. CENTER(expC | Campo memo, expN, línea expC)
Rellena cadenas o campos memo centrados con el carácter especificado hasta una
longitud de línea determinada

Nota En este ejemplo, cada variante añade un argumento más a la anterior. Para obtener una
explicación completa de variantes con descripciones largas, es necesario leer la
descripción de otra entrada anterior. Por ejemplo, la descripción de GETFIELDS.
(con un punto) es “GETFIELDS + máscara nombre campo.” El signo “+” indica que
debe leerse la descripción de GETFIELDS y añadirle esta información.
En la sintaxis, una barra vertical ( | ) entre dos elementos indica que se puede
usar cualquiera de ellos. En los ejemplos anteriores con la función CENTER,
“expC | Campo memo” es la abreviatura de “expresión de caracteres o campo memo.”
Para obtener más información sobre una función, haga clic en ella en el cuadro Pegar y
pulse F1.

346 Guía del usuario


bildexp.dwu Page 347 Friday, September 1, 1995 4:52 PM

Sustitución de identificadores
Una vez pegados los elementos de la expresión, es posible que tenga que sustituir
algunos identificadores por datos reales.
Si trabaja con la Asistencia desactivada, haga clic en cada uno de los identificadores y
teclee la información correspondiente. Por ejemplo, si ha introducido una constante de
carácter, haga clic entre las comillas y teclee la cadena o el valor adecuado.
Si la Asistencia está activada, los identificadores aparecen resaltados e igualmente habrá
que sustituirlos por los valores necesarios. Los caracteres Op, que aparecen en blanco,
representan un operador que se debe especificar.
Los caracteres, en amarillo, representan operandos (o argumentos), como valores o
nombres de campo. Estos elementos identifican los operandos con terminología
estándar de dBASE. Por ejemplo, expC puede ser cualquier cosa que dé como resultado
una cadena de caracteres, como el nombre de un campo de carácter, una función que
devuelva caracteres o una cadena literal entre comillas. Para obtener más información
sobre estos términos y la sintaxis, consulte la Guía del programador.

Sustitución de identificadores de operandos


Los identificadores de constantes, expresiones y otros valores aparecen en amarillo.
A menudo adoptan la forma “Valor” o “exp”, seguida de una letra que representa el
tipo de datos (si se admiten campos memo, aparece “expC | memo field”).
Sustitúyalos pegando el tipo de constante adecuado e introduciendo su valor.
Figura 15.4 Sustitución de identificadores de caracteres por constantes

Para sustituir el identificador Valor por el valor de


constante deseado, haga clic en él…

…y a continuación haga doble clic o arrastre el tipo de


constante del cuadro Pegar. Las comillas aparecen en
el cuadro de la expresión en lugar de Valor.

Capítulo 15, Creación de expresiones 347


bildexp.dwu Page 348 Friday, September 1, 1995 4:52 PM

Para introducir el valor deseado, haga clic junto a las


comillas y tecléelo (también puede hacer clic con el
botón derecho y teclearlo). Al pulsar Intro aparece el
valor en la expresión, dentro de las comillas.

Figura 15.5 Sustitución de identificadores de caracteres por campos

El identificador equivale a cualquier expresión de


caracteres (que puede contener campos de carácter) o
campo memo.

Para introducir un campo, selecciónelo en la lista


haciendo doble clic, arrastrándolo o pulsando la
barra espaciadora.

El nombre del campo aparece en lugar del


identificador.

348 Guía del usuario


bildexp.dwu Page 349 Friday, September 1, 1995 4:52 PM

Si introduce una constante numérica en sustitución del identificador, teclee el número


apropiado, como muestra la siguiente figura.
Figura 15.6 Sustitución de identificadores numéricos

Para sustituir el identificador Valor por un número…

…escoja Numérico en el cuadro Pegar, haciendo doble


clic o arrastrándolo, con lo que aparecerá un cero (0)
en la expresión en lugar de Valor.

Haga clic en el 0 con cualquier botón e introduzca el


valor. Al pulsar Intro, aparece el valor en la expresión
en lugar del 0.

Los demás tipos de datos se manejan de la misma forma. Sustituya el identificador


amarillo por el elemento, haga clic en él (con cualquier botón) e introduzca el valor.
Sólo se pueden introducir caracteres válidos para las constantes. Por ejemplo, no se
puede introducir una letra si se ha especificado una constante numérica.

Capítulo 15, Creación de expresiones 349


bildexp.dwu Page 350 Friday, September 1, 1995 4:52 PM

Sustitución de identificadores de operadores


Si introduce dos elementos, como un nombre de campo y un identificador, en una
misma cadena, el Generador de expresiones inserta entre ellos el identificador Op.
Para sustituirlo, escoja la categoría Operador, seleccione un tipo y especifique el
operador adecuado. Si se equivoca, haga clic en Deshacer y vuelva a empezar.
Figura 15.7 Sustitución del identificador Op

Para sustituir el identificador Op…

…escoja el operador que desee y arrástrelo hasta el


lugar que debe ocupar en la expresión. También puede
hacer clic junto a Op y seleccionar el operador haciendo
doble clic en él o pulsando la barra espaciadora.

El operador sustituye al identificador en la expresión.

350 Guía del usuario


bildexp.dwu Page 351 Friday, September 1, 1995 4:52 PM

Tipo de resultado obligatorio


Según dónde se encuentre al iniciar el Generador de expresiones, es posible que sea
obligatoria una expresión que equivalga a un tipo específico. Por ejemplo, si está
visualizando una tabla y escoge Tabla|Buscar registros, una de las opciones Avanzadas
le permite especificar una condición For o While. Si pulsa el botón Utilidades para abrir
el Generador de expresiones, verá que en el panel informativo aparece el tipo
obligatorio para estos campos (lógico).
Figura 15.8 Tipo obligatorio

El botón Utilidades de los campos Para y Mientras


abre el Generador de expresiones.

Dado que la expresión de los campos Para y


Mientras debe ser equivalente a un valor lógico
(verdadero/falso), aparece un mensaje que indica
el tipo de resultado obligatorio.

Cuando el contexto hace que sea obligatorio un tipo concreto, el Generador de


expresiones no permite que se pegue en dBASE una expresión que no sea equivalente a
este tipo. Dado que el Generador de expresiones debe verificar el tipo, evalúa la
expresión aunque el usuario no pulse el botón Evaluar.
Si el resultado es un tipo incorrecto, aparecerá el mensaje Tipo de resultado incorrecto
en el panel informativo y el botón Aceptar estará atenuado.

Capítulo 15, Creación de expresiones 351


bildexp.dwu Page 352 Friday, September 1, 1995 4:52 PM

Ejemplo de uso del Generador de expresiones


El siguiente ejemplo (Figuras 15.9 a 15.11) ilustra cómo debe utilizarse el Generador de
expresiones con la Asistencia activada. En él se crea una expresión que utiliza la función
SUBSTR, la cual extrae una subcadena de caracteres o texto de un campo.
Figura 15.9 Inicio de una expresión SUBSTR

4. Aparece la función SUBSTR.


Sustituya los identificadores
por los siguientes valores:
expC | campo memo—los
1. En Categoría, escoja caracteres o el texto
Función.
inicio expN—la posición inicial
(en números)
2. En Tipo, escoja Cadena.
longitud expN—la longitud de
3. En Pegar, escoja SUBSTR. la subcadena (en números)
(la variante con un punto).
Arrástrela, haga doble clic o Sintaxis y descripción de SUBSTR.
pulse la barra espaciadora
para pegarla en el cuadro
Expresión.
Para obtener información sobre las variantes de
SUBSTR con y sin punto, consulte
“Funciones con diversas variantes” en la
página 346.

352 Guía del usuario


bildexp.dwu Page 353 Friday, September 1, 1995 4:52 PM

Figura 15.10 Introducción de la cadena de caracteres

1. Haga clic junto a la primera


variable.

2. Escoja la categoría
Constante y el tipo Carácter.
Haga doble clic en la opción
“comillas dobles” para
introducir las comillas.

3. Aparecen comillas en la
expresión. Haga clic junto a
ellas, con cualquier botón, e
introduzca un valor.

4. Teclee los caracteres en el


cuadro de texto y pulse Intro.

Capítulo 15, Creación de expresiones 353


bildexp.dwu Page 354 Friday, September 1, 1995 4:52 PM

Figura 15.11 Introducción del valor inicial

1. Haga clic junto a la variable


start expN.

2. Seleccione el tipo Numérico


de la categoría Constante.
3. Seleccione el 0 haciendo
doble clic en él, arrastrándolo
al cuadro Expresión o
pulsando la barra
espaciadora.

4. Haga clic junto al 0 con


cualquier botón. Introduzca un
número y pulse Intro.

5. Repita el proceso con la


variable length expN.

354 Guía del usuario


bildexp.dwu Page 355 Friday, September 1, 1995 4:52 PM

Evaluación de la expresión
El Generador de expresiones controla continuamente la sintaxis de los elementos y
valores que se van introduciendo en la expresión. También el usuario puede evaluar la
expresión para probarla con el registro actual.
Para evaluar la expresión, haga clic en el botón Evaluar. El resultado aparece en el panel
informativo.
Figura 15.12 Evaluación de una expresión

Haga clic en el botón Evaluar...

...para ver el resultado con el registro actual.

Si la expresión tiene un valor incorrecto, aparece un mensaje de error en la ventana


informativa. Por ejemplo, si introduce SUBSTR(“abcdef”,8,2), aparecerá un mensaje de
error, ya que está solicitando una subcadena que empiece en la octava posición de una
cadena que sólo tiene seis caracteres.

Pegado de la expresión en Visual dBASE


Una vez terminada la expresión, pulse Aceptar para pegarla en la ventana o el cuadro
de diálogo desde el que inició el Generador de expresiones.
Es aconsejable pulsar el botón Evaluar antes de pegar la expresión en Visual dBASE.
Si el contexto requiere un tipo de resultado concreto, el Generador de expresiones
evalúa la expresión automáticamente para verificar su tipo antes de pegarla en el
entorno.

Capítulo 15, Creación de expresiones 355


bildexp.dwu Page 356 Friday, September 1, 1995 4:52 PM

Edición de expresiones
Para editar una expresión ya creada, selecciónela arrastrándola con el ratón y abra el
Generador de expresiones. Aparecerá el texto seleccionado en el cuadro Expresión.
Figura 15.13 Selección de una expresión para editarla en el Generador de expresiones

Seleccione el texto antes de abrir el


Generador de expresiones…

…y aparecerá dicho texto en el cuadro


Expresión, listo para editarlo.

Por ejemplo, si desea que el resultado del ejemplo anterior aparezca en mayúsculas,
seleccione la expresión, abra el Generador de expresiones y añada el operador UPPER,
como muestra la Figura 15.14.
Figura 15.14 Edición de una expresión

Si arrastra el elemento UPPER del cuadro Pegar y lo sitúa


detrás de SUBSTR…

…se aplicará primero la función UPPER y a continuación se


aplicará SUBSTR a la cadena en mayúsculas.

356 Guía del usuario


bildexp.dwu Page 357 Friday, September 1, 1995 4:52 PM

Si coloca el elemento UPPER delante de SUBSTR…

…se aplicará la función UPPER una vez que SUBSTR haya


determinado la subcadena.
El Generador de expresiones agrupa automáticamente los
elementos utilizando los paréntesis adecuados.
El resultado aparece en la ventana informativa.

Capítulo 15, Creación de expresiones 357


bildexp.dwu Page 358 Friday, September 1, 1995 4:52 PM

Adición de funciones definidas por el usuario


Si tiene funciones personalizadas (denominadas funciones definidas por el usuario o
FDU), puede añadirlas al Generador de expresiones para que aparezcan en los cuadros
de lista. Para ello, introdúzcalas en la tabla que almacena la información relativa a las
funciones, llamada DBASEWIN.FNF. Los datos de esta tabla aparecen en el cuadro
informativo y en los cuadros de lista del Generador de expresiones.
La Tabla 15.1 muestra los campos de DBASEWIN.FNF.
Tabla 15.1 Campos de la tabla DBASEWIN.FNF
Nombre del
campo Descripción
Name Nombre de la función, por ejemplo, TAGCOUNT.
Name_Ext Uno o varios puntos que indican la existencia de distintas variantes de esta
función. En la mayoría de los casos, debe dejar este campo en blanco.
(Consulte “Funciones con diversas variantes” en la página 346.)
Purpose Finalidad de la función.
Arguments Lista de argumentos delimitados por comas para la función cuyo nombre aparece
en el campo Name.
Categories Lista de tipos de elementos de lenguaje delimitados por comas que aparecen en el
cuadro de lista Tipo.

Al seleccionar una función en el cuadro de lista Pegar, aparece la información de la tabla


DBASEWIN.FNF en el panel informativo de elementos. La primera línea se construye
de la siguiente forma:
• Nombre que aparece en el campo Name
• Paréntesis de apertura
• Argumentos que aparecen en el campo Arguments
• Paréntesis de cierre
La segunda línea contiene el texto del campo Purpose.
Para añadir funciones definidas por el usuario, introduzca USE DBASEWIN.FNF en la
ventana de comandos para abrir la tabla DBASEWIN.FNF (no se puede abrir como tabla
desde el Selector porque no tiene extensión .DBF). Añada los datos de la función.
Si desea que aparezca en más de una categoría, separe los nombres de éstas mediante
comas. También puede crear nuevas categorías introduciendo sus nombres en el campo
Categoría.
No se pueden cambiar los nombres de los campos que aparecen en la tabla.
Puede añadir otros, pero el Generador de expresiones no los tendrá en cuenta.
Se puede modificar el tamaño de los campos, que son todos de carácter.

358 Guía del usuario


prntrpt.dwu Page 359 Friday, September 1, 1995 4:53 PM

Capítulo

16 Impresión
Capítulo 16

La mayoría de las ventanas y diseñadores de Visual dBASE proporcionan un nivel


básico de impresión, que resulta muy útil para imprimir de manera rápida la
información de una tabla o su estructura.
Si necesita un mayor control de la salida impresa, cree un informe con la herramienta
que se incluye a tal efecto, Crystal Reports (consulte la documentación específica de
Crystal Reports).
En este capítulo se explica la capacidad de impresión que ofrece directamente el
interface de usuario de Visual dBASE.
Nota La opción de menú y el botón de la barra rápida Imprimir no se encuentran disponibles
en las ventanas de comandos y de catálogo ni en el Selector de archivos.

Información general
Visual dBASE utiliza los controladores y el software de impresión de Windows para
enviar los datos a la impresora. Si necesita cambiar la impresora o su configuración,
escoja Archivo|Configuración de impresora cuando tenga un archivo abierto.
Las páginas se imprimen con cabeceras y pies, que no se pueden personalizar.
La cabecera muestra el nombre de la ventana o del archivo actual, mientras que el pie
indica el número de página.

Capítulo 16, Impresión 359


prntrpt.dwu Page 360 Friday, September 1, 1995 4:53 PM

Impresión de los datos de una tabla


Puede imprimir los datos de una tabla directamente desde los formatos de edición
(Browse, Ficha, En columnas y Resultado de la consulta), siempre que necesite una
copia impresa de la información sin un formato específico.
Al escoger Archivo|Imprimir (o hacer clic en el botón Imprimir de la barra rápida)
desde cualquiera de los formatos de edición aparece el cuadro de diálogo
Imprimir registros.
Figura 16.1 Cuadro de diálogo Imprimir registros

Las opciones situadas en la parte inferior permiten controlar la copia impresa:


calidad de impresión, número de copias, número de registros por página, etcétera.
El panel Ambito contiene las siguientes opciones:
• Todo imprime todos los registros.
• Resto imprime todos los registros que quedan a partir del actual.
• Siguiente imprime el número de registros que especifique, empezando por el actual.
• Registro imprime el registro cuyo número se especifica.
• Para imprime todos los registros que cumplen la expresión For.
• Mientras imprime todos los registros seleccionados por la expresión While
especificada.
Pulse el botón Configurar (o escoja Archivo|Configuración de impresora) para abrir los
cuadros de diálogo de Windows que permiten controlar la impresión.
La documentación de Windows ofrece información más detallada sobre este grupo de
cuadros de diálogo.

360 Guía del usuario


prntrpt.dwu Page 361 Friday, September 1, 1995 4:53 PM

Figura 16.2 Cuadro de diálogo Configuración de impresión

Formatos de impresión
Si se encuentra en la ventana Registros de tabla, la salida reflejará el formato de pantalla:
en formato Browse, se imprimen todos los registros como filas y los campos como
columnas; los formatos Ficha y En columnas también aparecen impresos igual que en
pantalla.
En la mayoría de los casos, los formatos Ficha y En columnas proporcionan los mejores
resultados en una impresión de datos rápida, ya que toda la información de cada
registro suele caber a lo ancho de una página (dependiendo del tamaño del registro).
El formato Browse suele tener una anchura superior a una página, por lo que
normalmente necesita dos o más páginas para imprimir los datos de los registros.
Figura 16.3 Formatos de impresión

El formato Browse suele necesitar más de una página El formato Ficha suele ser El formato En columnas
para imprimir todos los campos. el mejor cuando hay es a veces el mejor para
muchos campos pequeños. campos largos.

Muchas impresoras láser admiten orientación Horizontal, lo cual permite realizar la


impresión de forma apaisada, dejando así más espacio para los campos. Esta opción
aparece, si la impresora la admite, en el cuadro de diálogo Configuración de impresión.

Capítulo 16, Impresión 361


prntrpt.dwu Page 362 Friday, September 1, 1995 4:53 PM

Figura 16.4 Orientación del papel

Orientación vertical Orientación horizontal

Impresión de la estructura de tabla


Al imprimir en modo Diseñar tabla, Visual dBASE imprime la estructura de tabla.
La impresión incluye el nombre de los campos, su tipo, anchura, número de cifras
decimales y, si lo hay, tipo de índice.
Figura 16.5 Salida impresa de la estructura de tabla

362 Guía del usuario


prntrpt.dwu Page 363 Friday, September 1, 1995 4:53 PM

Impresión del diseño de consulta


Al imprimir desde el Diseñador de consultas, Visual dBASE genera e imprime el
contenido del archivo .QBE que define la consulta.
Figura 16.6 La salida impresa del diseño de consulta es el contenido del archivo .QBE

Si ejecuta una consulta y escoge Imprimir en el formato Resultado de la consulta,


aparecen las mismas opciones antes detalladas para los datos de la tabla.

Impresión del diseño de ficha


Al imprimir desde el Diseñador de fichas, la salida impresa muestra los objetos de la
ficha y su contenido. Los objetos de mapa de bits de las fichas, como .BMP u OLE, se
imprimen tal como aparecen en pantalla. Algunos objetos, como las barras de
desplazamiento, no se imprimen.

Capítulo 16, Impresión 363


prntrpt.dwu Page 364 Friday, September 1, 1995 4:53 PM

Impresión desde el Editor de textos


Puede imprimir desde el Editor de textos de dBASE, que se emplea para revisar
programas (archivos .PRG), consultas (archivos .QBE), fichas (archivos .WFM) o
cualquier archivo de texto (consulte el Capítulo 18).
El cuadro de diálogo Imprimir proporciona opciones que permiten controlar diversos
aspectos de la salida impresa, entre ellos el rango de impresión.
Figura 16.7 Cuadro de diálogo Imprimir

Figura 16.8 Se pueden imprimir programas (.PRG) desde el Editor

Los archivos de programa de Visual dBASE están en texto ASCII normal, por lo que se
pueden abrir en cualquier editor o procesador de textos.

364 Guía del usuario


dbnetwk.dwu Page 365 Friday, September 1, 1995 4:54 PM

Capítulo

Trabajo en entornos compartidos


Capítulo 17
17
Al trabajar en entornos donde se comparte la información se deben tener en cuenta
algunas consideraciones específicas. Los datos ya no están almacenados en el ordenador
del usuario, sino en un ordenador de la red al que pueden acceder varias personas a la
vez. Además, Visual dBASE permite al usuario abrir una misma tabla en varias
ventanas. La posibilidad de que se realicen varios cambios en la misma información y al
mismo tiempo hace necesaria una protección especial para salvaguardar la integridad
de los datos.
En este capítulo se explican algunas de las circunstancias que se producen al compartir
la información, así como los sistemas que utiliza Visual dBASE en estos casos. Se tratan,
entre otros, los siguientes temas:
• Conceptos generales sobre compartición de datos
• Bloqueo de tablas y registros
• Bloqueo automático y explícito
• Definición de propiedades que afectan a los entornos compartidos
Nota A menos que se especifique lo contrario, las características que se explican en este
capítulo se aplican a las tablas de dBASE, Paradox y SQL.

Capítulo 17, Trabajo en entornos compartidos 365


dbnetwk.dwu Page 366 Friday, September 1, 1995 4:54 PM

Acerca de las redes


Este capítulo se centra en la posibilidad de compartir datos, tanto si se ha hecho una
instalación de Visual dBASE local como en red. Si se trata de una instalación en red, es
necesario asegurarse de que se ha instalado y configurado correctamente. Algunas redes
requieren que se cargue el programa SHARE para gestionar el bloqueo de archivos.
Para obtener información sobre la instalación y configuración de Visual dBASE en red,
consulte el Capítulo 1.
Note Debe cargarse SHARE si se va a compartir la información en una unidad local, ya sea
mediante el uso de varias sesiones o de varias copias de dBASE. OS/2 usa SHARE
automáticamente para sesiones DOS y Windows.
Además, el administrador de la red debe proporcionar los derechos necesarios para
poder acceder a las unidades y directorios que contienen la información. Por ejemplo,
puede tener los siguientes derechos de acceso:
• Examinar y utilizar los datos, pero no modificarlos (derechos de sólo lectura)
• Leer y modificar los datos (derechos de lectura y escritura)
• Leer y modificar los archivos existentes, así como borrarlos y crear otros (derechos de
lectura, escritura, creación y borrado).
Los detalles específicos y la terminología de los derechos de acceso varían de una red a
otra, e incluso de una instalación a otra. Si tiene alguna duda, consulte con el
administrador de la red.
En este capítulo se asume que el usuario tiene al menos derechos de lectura y escritura
sobre los directorios que almacenan los datos compartidos. Para algunas tareas, como el
uso de índices temporales, Visual dBASE crea y elimina archivos temporales. Si se
almacenan éstos en un directorio compartido, también necesitará derechos de lectura,
escritura, creación y borrado sobre ese directorio.
Nota Si comparte datos en una unidad local, debe definir en el parámetro LOCAL SHARE de
la Utilidad de configuración IDAPI. Para obtener información consulte la página 14.

Antes de empezar
Si va a compartir información en un entorno de red, primero debe tener en cuenta los
detalles de configuración de ésta: el ordenador debe estar conectado a la red y el
software de red debe estar instalado. Debe poder conectarse a la red, introducir la
contraseña en caso de que se solicite y utilizar los servicios de la red.
Además, debe hacer lo siguiente:
• Si va a utilizar tablas externas a dBASE (no .DBF), emplee la Utilidad de
configuración BDE para definir correctamente las opciones de BDE. Consulte
“Database Engine de Borland.”.
• Incluya los directorios DBASEWIN\BIN y DBASEWIN\SQLDLL en la sentencia
PATH del DOS.

366 Guía del usuario


dbnetwk.dwu Page 367 Friday, September 1, 1995 4:54 PM

Conceptos básicos sobre compartición de datos


Cuando sólo un usuario trabaja con los datos de una tabla, no tiene que preocuparse por
los conflictos que puedan producirse entre acciones efectuadas por distintos usuarios.
El usuario único sabe con certeza que los datos que aparecen en pantalla corresponden a
la última versión de la tabla y que ningún otro usuario está realizando cambios en ella.
Dentro de una red, los datos y los archivos relacionados se almacenan en un ordenador
específico, denominado servidor de archivos, o en una unidad compartida de otro
ordenador. La información se encuentra en una o varias unidades y directorios
compartidos. Varias personas pueden utilizar estas unidades como si estuviesen en su
propio ordenador. Todos los procesos de apertura de tablas, uso de fichas, etcétera, se
producen como si la información estuviese en el disco duro de cada usuario (siempre
que se tengan los derechos de acceso necesarios).
Nota Si no trabaja en red, también puede emplear algunas de las funciones de dBASE que
permiten compartir la información, ya que puede editar la misma tabla en varias
sesiones. Esto le permite, por ejemplo, utilizar distintos índices maestros para ver la
información ordenada de manera diferente, o examinar una tabla en una sesión y en
otra ejecutar una ficha o un informe sobre ella (para obtener información sobre las
sesiones, consulte el Capítulo 5). También puede abrir una tabla más de una vez usando
varias copias de Visual dBASE u otras aplicaciones que puedan acceder a tablas de
dBASE.
Al compartir datos surgen dos temas clave:
• Dos usuarios pueden intentar modificar la misma información a la vez, o un usuario
puede intentar añadir registros mientras otro reestructura la tabla.
• Cada usuario necesita la información actualizada, incluyendo los últimos cambios
realizados por otros. Por ejemplo, un usuario que necesita la dirección de un cliente
tiene que estar seguro de que recoge las últimas modificaciones, aunque éstas se
hayan producido poco antes. Para definir la frecuencia de actualización de los datos,
utilice la opción Actualización (consulte la página 373).
Cuando dos usuarios intentan modificar la misma información a la vez se produce un
conflicto. Las aplicaciones que se utilizan en entornos compartidos deben proporcionar
una forma de resolver los conflictos. El sistema empleado consiste en bloquear los datos
y presentar un mensaje de error si se intenta modificar información bloqueada.

Capítulo 17, Trabajo en entornos compartidos 367


dbnetwk.dwu Page 368 Friday, September 1, 1995 4:54 PM

Bloqueo de tablas y registros


Los bloqueos evitan que varios usuarios modifiquen a la vez los mismos datos.
Visual dBASE bloquea automáticamente los datos cuando un usuario inicia un proceso
que pueda modificar la información. Dependiendo del tipo de bloqueo, los demás
usuarios pueden acceder o no a los datos, o pueden leerlos pero no modificarlos.
Dado que la definición de bloqueos restringe el acceso a la información, lo ideal es
aplicar el mínimo nivel de bloqueo necesario para asegurar la integridad de los datos y
suprimirlo tan pronto como deje de ser necesario. El sistema automático de bloqueo de
Visual dBASE aplica y suprime bloqueos de forma eficaz, con lo que se restringe el
acceso a la información durante el tiempo indispensable.
Los bloqueos pueden aplicarse en dos niveles:
• Los bloqueos de tabla se aplican a toda la tabla. Según el tipo de bloqueo, puede
permitir o no que otros usuarios lean la tabla.
• Los bloqueos de registro impiden a otros usuarios modificar registros concretos,
pero sí les permiten verlos, así como modificar los demás registros de la tabla.
(InterBase no admite bloqueos de registro.)
El nivel de restricción necesario depende de la actividad actual: lectura de datos, cambio
de los datos de un registro, cambio de los datos de varios registros o cambios
fundamentales, como la reestructuración de una tabla o la eliminación de todos los
registros. (En entornos SQL también se deben tener en cuenta las reglas de bloqueo
del servidor.)
La primera decisión importante sobre los derechos de acceso se produce al abrir una
tabla, que se puede abrir en modo compartido o exclusivo:
• El modo compartido permite a otros usuarios abrir la tabla, editar sus registros,
etcétera, pero no realizar funciones que requieran acceso exclusivo.
• El modo exclusivo (también denominado bloqueo exclusivo) implica que ningún otro
usuario podrá abrir la tabla, ni siquiera para leerla. Este modo es obligatorio para
realizar actividades que afectan a toda la tabla (consulte la Tabla 17.1).
Ningún usuario puede obtener acceso exclusivo si otro ya tiene abierta la tabla en
modo exclusivo o compartido.
Algunas actividades no requieren bloqueo exclusivo, pero sí un bloqueo que impida
que otros usuarios modifiquen los datos de la tabla. Si inicia alguna de estas actividades
se aplicará un bloqueo de tabla (nivel de bloqueo proporcionado por la función de
dBASE FLOCK()).
Además del bloqueo de tabla, Visual dBASE aplica un bloqueo de registro a un registro
individual al iniciarse cualquier actividad que pueda modificarlo.
Visual dBASE aplica automáticamente el tipo de bloqueo necesario a la tabla o al
registro, dependiendo de la naturaleza de la tarea que se vaya a realizar, como se explica
en la siguiente sección.

368 Guía del usuario


dbnetwk.dwu Page 369 Friday, September 1, 1995 4:54 PM

Nota En las tablas SQL se aplica el bloqueo en el servidor, no en el cliente. Por tanto, dos
usuarios pueden editar el mismo registro a la vez y bloqueará la información el primero
que almacene los cambios.
Visual dBASE no admite bloqueos de lectura de Paradox.

Bloqueo automático
Cuando se inicia un proceso que conlleva la modificación de datos compartidos,
Visual dBASE intenta aplicar automáticamente el nivel de bloqueo adecuado (a menos
que se haya desactivado el bloqueo automático; consulte la página 373). Si la tabla o el
registro ya está bloqueado, aparece un cuadro de diálogo que explica las opciones
disponibles. Si no lo está, se aplica el bloqueo hasta que finalice su tarea.
Si está activado el bloqueo automático, puede dejar que Visual dBASE se encargue de
decidir el tipo de bloqueo que debe aplicar, cuándo aplicarlo y cuándo suprimirlo.
No obstante, tenga en cuenta las acciones que originan la aplicación de los distintos
tipos de bloqueo para entender los efectos que pueden producir sus acciones y las de
otros usuarios (para obtener información sobre programación, consulte las entradas
SET LOCK, FLOCK() y RLOCK() en la Ayuda en línea).

Aplicación de bloqueos de tabla


Al abrir una tabla para editarla, ya sea haciendo doble clic en su icono o bien utilizando
Archivo|Abrir o alguno de los comandos del menú rápido, se abre la tabla en modo
compartido (a menos que se haya especificado que todas las tablas se abran en modo
exclusivo; consulte la página 373).
Se aplica bloqueo exclusivo cuando se abre la tabla en modo diseño, ya sea haciendo clic
en el botón Diseñar estructura de tabla del cuadro de diálogo Abrir archivo o
escogiendo Diseñar estructura de tabla en el menú rápido.
La barra de estado muestra el tipo de bloqueo activo. En la ventana de comandos puede
introducir DISPLAY STATUS para ver la información relativa al bloqueo de uno o
varios archivos.
Figura 17.1 Cuadro de diálogo Abrir archivo

Opciones que definen el modo de apertura de


la tabla.
Registros de tabla no necesita bloqueo de
tabla.
Diseñar estructura de tabla aplica un bloqueo
exclusivo a la tabla.

Capítulo 17, Trabajo en entornos compartidos 369


dbnetwk.dwu Page 370 Friday, September 1, 1995 4:54 PM

Una vez abierta la tabla para editarla, se aplica automáticamente un bloqueo de registro
a aquellos en los que se introduzcan cambios, como se explica en la siguiente sección.
No obstante, hay varias tareas que al iniciarse podrían afectar a toda la tabla, por lo que
necesitan un bloqueo de tabla o exclusivo. Entre ellas se incluye el cambio al modo
diseño o cualquier otra operación que pueda ocasionar la modificación de todos los
registros.
La tabla siguiente muestra el tipo de bloqueo necesario para diversos comandos de
menú.
Tabla 17.1 Tipos de bloqueo de tabla
Acción o comando de menú Tipo de bloqueo
Sustituir <ámbito> Bloqueo de tabla
Ficha de informe <ámbito> Bloqueo de tabla
Ficha de etiquetas <ámbito> Bloqueo de tabla
Tabla|Utilidades de tabla:
Mantenimiento de índices Bloqueo exclusivo
Reindexar Bloqueo exclusivo
Borrar <ámbito> Bloqueo de tabla
Eliminar marcas de borrado Bloqueo de tabla
<ámbito>
Eliminar registros marcados Bloqueo exclusivo
Eliminar todos los registros Bloqueo exclusivo
Importar Bloqueo exclusivo
Ordenar Bloqueo de tabla (si SET LOCK está desactivado, no se bloquea
automáticamente la tabla)
Exportar Bloqueo de tabla
Contar registros Bloqueo de tabla (si SET LOCK está desactivado, no se bloquea
automáticamente la tabla)
Calcular Bloqueo de tabla (si SET LOCK está desactivado, no se bloquea
automáticamente la tabla)

Si un usuario que no posee acceso exclusivo intenta iniciar un proceso para el que lo
necesita, verá el siguiente cuadro de diálogo.
Figura 17.2 Indicación de apertura de tabla en modo exclusivo

Para continuar con la tarea iniciada deberá escoger Abrir exclusiva. Mientras dure la
tarea o se encuentre en modo diseño, el bloqueo exclusivo impedirá que otros usuarios
accedan a la tabla.

370 Guía del usuario


dbnetwk.dwu Page 371 Friday, September 1, 1995 4:54 PM

La tabla puede no estar disponible para uso exclusivo si la ha abierto otro usuario para
verla o editarla. En ese caso aparecerá la advertencia Archivo bloqueado.
Figura 17.3 Advertencia Archivo bloqueado

Si esto ocurre, tendrá que esperar hasta que el archivo esté disponible para abrirlo.

Aplicación de bloqueos de registro


La visualización de una tabla en la ventana Registros de tabla no conlleva la aplicación
de bloqueos, siempre que el usuario se limite a desplazarse por ella o a realizar
operaciones que no modifiquen los registros. El bloqueo de registro se aplica sólo
cuando se pulsa una tecla que origina la modificación de los datos, como iniciar la
introducción de nuevas direcciones o eliminar caracteres.
Mientras permanece activo un bloqueo de registro, no puede modificar ese registro
ningún otro usuario ni tampoco ninguna otra sesión del mismo ordenador. El bloqueo
desaparece cuando se termina la tarea y se pasa a otro registro.
Si intenta modificar un registro bloqueado por otro usuario o por otra sesión, aparecerá
una advertencia.
Figura 17.4 Cuadro de diálogo Reintentando bloqueo

Puede esperar a que desaparezca la advertencia Reintentando bloqueo para editar el


registro cuando desaparezca el bloqueo. Entonces aparecerá un mensaje advirtiéndole
de la posibilidad de que el registro haya cambiado. Si no desea esperar a que se libere el
registro, escoja Cancelar o pulse Esc.
Figura 17.5 Advertencia sobre la modificación del registro

Si está trabajando en una consulta multitabla o en una ficha basada en una consulta de
este tipo, las acciones que bloquean un registro principal también bloquearán su registro
secundario actual, aunque no todos sus registros secundarios.

Capítulo 17, Trabajo en entornos compartidos 371


dbnetwk.dwu Page 372 Friday, September 1, 1995 4:54 PM

Bloqueo explícito
Si está desactivado el bloqueo automático de archivos, o si desea bloquear un registro
que va a modificar pronto, puede aplicar de forma explícita un bloqueo de registro.
Para ello, seleccione cualquier campo del registro y pulse Ctrl+O, o bien escoja
Tabla|Bloquear registro seleccionado. (También puede hacer clic con el botón derecho
en un registro y escoger Bloquear registro seleccionado en el menú rápido).
Cuando termine, pulse Ctrtl+O o escoja Tabla|Desbloquear este registro para
desbloquear el registro.
En la ventana de comandos, utilice RLOCK().

372 Guía del usuario


dbnetwk.dwu Page 373 Friday, September 1, 1995 4:54 PM

Definición de opciones multiusuario


El cuadro de diálogo Propiedades del escritorio permite controlar los parámetros que
afectan a los entornos compartidos. Para abrirlo, escoja Propiedades|Escritorio y haga
clic en la solapa Tabla.
Figura 17.6 Propiedades que afectan a los entornos compartidos

Propiedades que afectan a los


entornos compartidos

Las opciones multiusuario, o de entorno compartido, que aparecen en este cuadro de


diálogo son las siguientes:
• Bloqueo, si está marcada, activa la función de bloqueo automático. Deje marcada esta
casilla a menos que tenga una razón concreta para desactivarla. Esta opción afecta
sólo a los comandos específicos de dBASE; consulte el tema SET LOCK en la Ayuda
en línea.
• Exclusivo, si está marcada, implica que todos los archivos se abrirán con bloqueo
exclusivo, lo cual significa que los demás usuarios no podrán abrir el archivo
(esto no afecta a las tablas abiertas con anterioridad). Por lo general, no debe marcar
esta casilla a menos que tenga la seguridad de que no está compartiendo archivos, en
cuyo caso puede marcarla para mejorar el rendimiento.
• Actualización determina la frecuencia con la que Visual dBASE vuelve a leer los datos
en el archivo para actualizar la pantalla. Puede aumentar la frecuencia si comparte la
información con otros usuarios, pero no olvide que las actualizaciones de pantalla
ralentizan el rendimiento, por lo que debe buscar un equilibrio entre la velocidad de
proceso y la necesidad de datos actualizados.
• Reintentos determina el número de veces que Visual dBASE intenta bloquear un
archivo antes de presentar un mensaje de error. Si introduce el valor 0, Visual dBASE
continúa intentándolo indefinidamente, hasta que se libere el bloqueo anterior o el
usuario escoja Cancelar. El máximo valor admitido para esta opción es 32.000.

Capítulo 17, Trabajo en entornos compartidos 373


dbnetwk.dwu Page 374 Friday, September 1, 1995 4:54 PM

Funciones de programación
Si utiliza Visual dBASE para crear fichas o programas que se vayan a utilizar en entornos
compartidos, le serán de utilidad otras funciones que proporciona el lenguaje dBASE.
Por ejemplo, puede utilizar el comando CONVERT para que las tablas tengan un
rendimiento óptimo en entornos compartidos. CONVERT añade a la tabla un campo
que almacena la información relativa al estado de bloqueo y a la actualización de
registros. CONVERT necesita bloqueo exclusivo.
Para obtener información sobre la programación de aplicaciones para entornos
compartidos, consulte el Capítulo 21 de la Guía del programador.

374 Guía del usuario


texted.dwu Page 375 Friday, September 1, 1995 4:55 PM

Capítulo

Uso de los editores de Visual dBASE


Capítulo 18
18
Visual dBASE contiene un Editor de programas, que permite crear y editar archivos de
programa, y un Editor de textos, que permite crear y editar archivos de texto
(como memorandos y correspondencia) así como editar campos memo.
En lugar de los editores internos puede utilizar también editores externos, como el
Bloc de notas de Windows. El Capítulo 1 explica cómo se debe configurar dBASE para
utilizar otros editores.
Nota Puede abrir varias copias de un mismo editor, lo cual le permite cortar y pegar de un
archivo a otro o entre distintas partes de un mismo archivo. Si abre el mismo archivo en
varias ventanas, puede editarlo en cualquiera de ellas y los cambios se reflejarán en las
demás al cambiar de ventana. Si intenta salir del editor sin guardar los cambios,
aparecerá un mensaje instándole a almacenar el archivo al cerrar la última ventana.
Las primeras secciones de este capítulo explican las funciones y técnicas comunes al
Editor de programas y al Editor de textos, mientras que las secciones posteriores
describen las características particulares de cada uno de ellos.

Capítulo 18, Uso de los editores de Visual dBASE 375


texted.dwu Page 376 Friday, September 1, 1995 4:55 PM

Funciones y técnicas básicas de los editores


En esta sección se describe lo siguiente:
• Desplazamiento dentro del archivo
• Introducción y edición de texto
• Definición de propiedades de los editores

Desplazamiento dentro del archivo


Puede utilizar el ratón para situar el punto de inserción en el archivo o para desplazarse
horizontal o verticalmente. Además, el editor incluye combinaciones de teclas
(cuya relación aparece en la Tabla 18.1) que permiten al usuario desplazarse por el
archivo.
Tabla 18.1 Teclas que desplazan el punto de inserción
Teclas Acción
→/← Carácter siguiente/anterior.
Ctrl+ →/← Palabra siguiente/anterior.
Inicio/Fin Principio/fin de línea.
RePág/AvPág Pantalla anterior/siguiente.
Ctrl+RePág/AvPág, Ctrl+Inicio/Fin Principio/fin de archivo.

La barra de estado muestra el número de la línea donde se encuentra el punto de


inserción en cada momento. Para desplazarse hasta una línea concreta, escoja
Edición|Buscar|Ir a número de línea o pulse Ctrl+G.
Nota El uso de las barras de desplazamiento, las flechas o los cuadros de desplazamiento no
mueve el punto de inserción. (Puede comprobarlo mirando la barra de estado, que
seguirá mostrando el mismo número de línea.) Si pulsa una tecla, el editor vuelve al
punto de inserción para ejecutar la acción correspondiente.

376 Guía del usuario


texted.dwu Page 377 Friday, September 1, 1995 4:55 PM

Introducción y edición de texto


El Editor de programas y el Editor de textos funcionan como la mayoría de los editores
de Windows: los caracteres se introducen en el punto de inserción, la tecla Retroceso
borra el carácter situado a la izquierda de este punto, la tecla Supr borra el carácter
situado a la derecha del mismo, etcétera. Otras funciones de edición son las siguientes:
• Puede intercambiar los modos insertar y sobrescritura pulsando la tecla Insert.
El cuadro situado en el extremo derecho de la barra de estado indica el estado actual.
(Cuando el cuadro está vacío, el editor se encuentra en modo sobrescritura.)
• Puede seleccionar un bloque y pasarlo todo a mayúsculas, a minúsculas o a
mayúsculas iniciales, es decir, minúsculas con la primera letra de cada palabra en
mayúscula (consulte “Operaciones con bloques de texto” en la página 378). Para ello,
escoja Edición|Convertir caracteres, a continuación seleccione la opción de menú que
adecuada.
• El editor emplea por defecto un sistema de fuentes fijas (todos los caracteres ocupan
el mismo espacio). Para utilizar otra fuente, escoja el comando adecuado del menú
Propiedades y elija Fuente en el cuadro de diálogo Propiedades del editor
(consulte la Figura 18.3). La fuente seleccionada se aplica automáticamente
a todo el archivo; no es necesario seleccionar texto antes.
• La longitud de línea máxima para archivos de programa es de 4.096 caracteres,
aunque el editor permite introducir hasta 32.767 caracteres por línea. Para terminar
una línea con un retorno de carro fijo, pulse Intro.
La tabla siguiente describe algunas de las combinaciones de teclas básicas para la
edición de texto.
Tabla 18.2 Teclas utilizadas en los editores
Teclas Acción
Ctrl+T Borra desde el punto de inserción hasta el principio de la palabra siguiente.
Ctrl+Retroceso Borra desde el punto de inserción hasta el principio de la palabra actual o, si el punto
de inserción está en un espacio, hasta el principio de la palabra anterior.
Ctrl+Y Borra la línea donde se encuentra el punto de inserción.
Ctrl+N Corta la línea por el punto de inserción.

Capítulo 18, Uso de los editores de Visual dBASE 377


texted.dwu Page 378 Friday, September 1, 1995 4:55 PM

Operaciones con bloques de texto


Para seleccionar un bloque de texto, puede arrastrar el puntero del ratón o mantener
pulsada la tecla Mayús mientras pulsa las teclas del cursor. Para continuar seleccionando
texto no visible en la pantalla actual, siga pulsando las teclas del cursor o arrastre el
puntero del ratón hacia arriba o hacia abajo, hasta sobrepasar el borde de la ventana.
El editor se desplazará por el archivo, seleccionando el texto que vaya apareciendo.
Puede utilizar las teclas de edición estándar (como Retroceso y Supr) para editar el texto.
La Tabla 18.3 describe cómo se seleccionan, copian, cortan y pegan bloques de texto.
Tabla 18.3 Acciones con los bloques de texto
Botón de la
Teclas Comando barra rápida Acción
Mayús+ ←/→ n/d n/d Selecciona el carácter de la izquierda o de la derecha.
Mayús+ ↑/ ↓ n/d n/d Selecciona hasta la misma posición de la línea anterior o
posterior.
Mayús+Ctrl+ ←/→ n/d n/d Selecciona la palabra anterior/posterior.
Mayús+Inicio/Fin n/d n/d Selecciona hasta el principio/fin de la línea.
Mayús+clic n/d n/d Selecciona desde el punto de inserción hasta el punto en el
que se ha hecho clic.
Mayús+RePág/AvPág n/d n/d Selecciona la pantalla anterior/siguiente desde el punto de
inserción.
Mayús+Ctrl+RePág/ n/d n/d Selecciona desde el punto de inserción hasta el
AvPág principio/fin del archivo.
Mayús+Ctrl+Inicio/Fin
Ctrl+X Edición|Cortar Elimina el texto seleccionado del archivo o de la línea de
comando y lo coloca en el Portapapeles.

Ctrl+C Edición|Copiar Copia el texto seleccionado en el Portapapeles, sin


eliminarlo del archivo o de la línea de comando.

Ctrl+V Edición|Pegar Coloca el contenido del Portapapeles en el punto de


inserción del archivo o de la línea de comando.

Supr Edición|Borrar Elimina el texto seleccionado sin colocarlo en el


Portapapeles.
Edición| Selecciona todo el texto del archivo.
Seleccionar todo

Si selecciona un bloque de texto y a continuación teclea algo, el texto que teclee


sustituirá al que había seleccionado.
Nota Estas acciones con bloques de texto también se aplican en la ventana de comandos
(consulte el Capítulo 19).

378 Guía del usuario


texted.dwu Page 379 Friday, September 1, 1995 4:55 PM

Inserción de texto en un archivo


Para introducir un archivo entero en el punto de inserción, escoja Edición|Insertar de
archivo y seleccione un nombre de archivo en el cuadro de diálogo. Sólo puede utilizar
este comando para insertar archivos enteros, no parte de ellos.
Para introducir en el archivo actual una parte de otro archivo, es necesario abrir el
archivo origen en otra ventana de edición y cortar o copiar el texto adecuado
(consulte la Nota de la página 375).

Justificación de líneas del texto importado


El texto importado puede tener retornos de carro fijos no sólo al final de cada párrafo,
sino también al final de cada línea. El editor puede sustituir estos retornos fijos por
retornos automáticos, insertando espacios entre palabras si es necesario. Para ello,
1 Asegúrese de que la opción Justificación está activada. Consulte la página 381.
2 Seleccione el texto que desea justificar.
3 Escoja Edición|Unir líneas de texto.

Copia de texto en un archivo


Para copiar texto en un archivo, seleccione un bloque y escoja Edición|Copiar en
archivo. (Si no selecciona un bloque, se copia todo el contenido del editor.)
Este comando crea un archivo con el nombre que introduzca en el cuadro de diálogo
Copiar en archivo. Si el archivo ya existe, Visual dBASE preguntará si sobreescribirlo.

Búsqueda de texto
Puede buscar y sustituir texto en archivos, al igual que con la mayoría de editores de
texto. Para iniciar una búsqueda, escoja Edición|Buscar|Buscar texto o haga clic en el
botón de la barra rápida. El editor mostrará el cuadro de diálogo Buscar texto.
Figura 18.1 Cuadro de diálogo Buscar texto

Este cuadro de diálogo copia automáticamente en el cuadro Buscar el texto seleccionado


o la palabra donde se encuentra el punto de inserción. (Si selecciona un bloque de texto
de más de una línea, se copia sólo la primera.) Para buscar otra cadena, tecléela sobre el
texto resaltado en el cuadro Buscar.

Capítulo 18, Uso de los editores de Visual dBASE 379


texted.dwu Page 380 Friday, September 1, 1995 4:55 PM

La tabla siguiente describe las opciones del cuadro de diálogo Buscar texto.
Tabla 18.4 Opciones del cuadro de diálogo Buscar texto
Opción Descripción
Palabras completas Busca sólo las palabras completas que coincidan con el texto de búsqueda.
Con la cadena “art” no se encontraría la palabra “artista.”
Coincidencia de Busca sólo las palabras cuyas mayúsculas y minúsculas coincidan con las del texto
mayúsculas de búsqueda. Con la cadena “Art” no se encontraría “ART” ni “art.”
Arriba Busca desde el punto de inserción hasta el principio del archivo.
Abajo Busca desde el punto de inserción hasta el final del archivo.

Para buscar la siguiente vez que aparece una cadena, escoja


Edición|Buscar|Buscar texto siguiente o pulse Ctrl+K.
Para sustituir texto, escoja Edición|Buscar|Sustituir texto o pulse Ctrl+R.
Figura 18.2 Cuadro de diálogo Sustituir texto

Introduzca el texto de sustitución en el cuadro de texto


Sustituir por.

Haga clic en Buscar para ir a la siguiente aparición del texto de búsqueda. Para realizar
las sustituciones una a una, pulse el botón Sustituir. Si desea sustituir de una sola vez
todos los casos en los que aparezca el texto de búsqueda, pulse el botón Sustituir todo.
Las demás opciones son las mismas que las del cuadro de diálogo Buscar texto.

Almacenamiento de archivos
El menú Archivo del editor tiene varios comandos que permiten guardar archivos o
cerrar la ventana del editor actual. La tabla siguiente describe estos comandos.
Tabla 18.5 Comandos de almacenamiento del editor
Comando Teclas Permite...
Guardar Ctrl+S Guardar el archivo con su nombre actual. Si el archivo aún no tiene
nombre, este comando funciona igual que Guardar como.
Guardar como Asignar nombre al archivo y guardarlo por primera vez, o guardar un
archivo ya existente con otro nombre o en otra vía de acceso. El nuevo
archivo pasa a ser el archivo activo en la ventana del editor.
Guardar y Ctrl+W Guardar el archivo con su nombre actual y cerrar la ventana del editor.
cerrar
Abandonar y Ctrl+Q Cancelar los cambios no guardados y cerrar la ventana del editor actual.
cerrar Visual dBASE no insta a guardar los cambios.
Cerrar Ctrl+F4 Cerrar la ventana del editor. Visual dBASE insta al usuario a guardar los
cambios que aún no haya almacenado.

380 Guía del usuario


texted.dwu Page 381 Friday, September 1, 1995 4:55 PM

Definición de las propiedades de los editores


El cuadro de diálogo Propiedades del editor permite cambiar las siguientes propiedades
del Editor de programas y del Editor de textos:
• El estado de la justificación (ACTIVADA o DESACTIVADA).
• La posición del margen derecho (sólo si la justificación está ACTIVADA).
• El estado del sangrado automático (ACTIVADO o DESACTIVADO).
• El espaciado del sangrado automático (sólo si el sangrado automático está
ACTIVADO).
• El estado de los colores automáticos (ACTIVADOS o DESACTIVADOS).
• La fuente utilizada en pantalla.
• El juego de caracteres que utiliza para ver el contenido del editor.
Consulte “Convenciones OEM y ANSI” en este capítulo.
El Editor de programas y el Editor de textos se diferencian básicamente en sus
propiedades por defecto (descritas en las secciones de cada editor) y en los comandos
con los que se ejecutan. No obstante, las propiedades no se excluyen mutuamente;
puede cambiar las propiedades de uno de los editores para que coincidan con las del
otro.
Para ver el cuadro de diálogo Propiedades del editor, escoja el comando
correspondiente (Editor de programas o Editor de textos) del menú Propiedades.
Las opciones del cuadro son las mismas para las dos versiones del editor.
Figura 18.3 Cuadro de diálogo Propiedades del editor

Capítulo 18, Uso de los editores de Visual dBASE 381


texted.dwu Page 382 Friday, September 1, 1995 4:55 PM

Convenciones OEM y ANSI


El cuadro de diálogo Propiedades del editor permite especificar si verá el texto en un
editor con el juego de caracteres de DOS (también llamado OEM o ASCII) o de
Windows (también llamado ANSI). El código real del programa no cambia, sólo varía la
forma en que se ve.
También puede realizar conversiones entre juegos y caracteres. Por ejemplo, puede
convertir del juego de caracteres OEM a ANSI si va a cambiar a un controlador de
lenguaje ANSI y el programa utiliza caracteres extendidos.
Advertencia La conversión del programa a otro juego de caracteres puede cambiar los puntos de
código de algunos valores extendidos del programa.
Por ejemplo, si el programa está escrito con el juego de caracteres OEM y utiliza el
carácter ¿ (OEM 168), el valor numérico real del carácter se cambia a 191 cuando se
convierte el programa a ANSI, ya que 191 es el valor numérico de ¿ en el juego de caracteres
ANSI. Sin embargo, si el programa utiliza È (OEM 200), el valor numérico se cambia a
ANSI 128, ya que È no existe en el juego de caracteres ANSI. Si convierte el código entre
juegos de caracteres, debe revisar cuidadosamente los caracteres extendidos.
Consulte los apéndices de Referencia del lenguaje para obtener los valores específicos de
estos juegos de caracteres.
Para realizar conversiones entre juegos de caracteres:
1 Abra el programa o archivo de texto en el editor.
2 Seleccione la sección que desea convertir.
3 Elija Edición|Convertir|A texto DOS para convertir el origen a OEM, o
Edición|Convertir|A texto Windows para convertir a ANSI.
Nota La conversión entre juegos de caracteres no cambia automáticamente el juego de
caracteres que utiliza para ver el texto o programa.
Para cambiar la forma en que ve el texto o programa:
1 Elija Propiedades|Propiedades del editor o Propiedades|Propiedades del editor de
textos.
2 Especifique Texto DOS o Texto Windows.

382 Guía del usuario


texted.dwu Page 383 Friday, September 1, 1995 4:55 PM

Uso del Editor de programas para escribir programas


Puede escribir programas dBASE con cualquier editor o procesador de texto que pueda
guardar texto ASCII. No obstante, el Editor de programas de Visual dBASE ofrece
algunas ventajas que no encontrará en otros editores:
• Forma parte de Visual dBASE, por lo que no tendrá que cambiar de aplicación.
• Puede ejecutar programas desde el Editor de programas, lo que le permite probar y
depurar el código conforme lo escribe.
• Proporciona acceso al Generador de expresiones, lo que facilita la creación e inserción
de expresiones de dBASE.

Ejecución del Editor de programas


Para ejecutar el Editor de programas (ya sea para editar un archivo de programa o para
crearlo) utilice la ventana de catálogo o la de comandos, el Selector o los menús.

Apertura de archivos de programa existentes


Para abrir un archivo de programa existente mediante la ventana de catálogo o el
Selector, efectúe una de las siguientes acciones:
• Haga doble clic con el botón derecho en el icono del archivo de programa.
• Haga clic con el botón derecho en el icono del archivo de programa y escoja
Diseñar programa en el menú rápido.
• Seleccione el icono del archivo de programa y haga clic en el botón Diseñar de la
barra rápida.
Para abrir un archivo de programa existente mediante los menús, seleccione el icono
correspondiente en la ventana de catálogo o en el Selector y efectúe una de las siguientes
acciones:
• Escoja Catálogo|Diseñar programa o Selector|Diseñar programa.
• Escoja Archivo|Abrir, haga clic en el botón Diseñar programa del cuadro de diálogo
Abrir archivo y escoja Aceptar.
Para abrir un archivo de programa existente mediante la ventana de comandos, teclee
MODIFY COMMAND < >, donde < > es el nombre del archivo de programa. No es
necesario incluir la extensión .PRG, ya que Visual dBASE la asume automáticamente.
Si el archivo no se encuentra en el directorio o en la vía de acceso actual, especifique su
ubicación completa.

Capítulo 18, Uso de los editores de Visual dBASE 383


texted.dwu Page 384 Friday, September 1, 1995 4:55 PM

Creación de archivos de programa


Para crear un archivo de programa mediante el Selector o la ventana de catálogo, efectúe
una de las siguientes acciones:
• Haga doble clic en el icono de archivo de programa (Sin título).
• Seleccione el icono de archivo de programa (Sin título) y realice una de las siguientes
acciones:
• Haga clic en el botón Diseñar de la barra rápida.
• Haga clic con el botón derecho y elija Nuevo programa en el menú rápido.
Para crear un nuevo archivo de programa con los menús, puede:
• Eligir Archivo|Nuevo|Programa.
• Seleccionar el icono de programa (Sin título) y elegir Selector |Nuevo programa o
Catálogo|Nuevo programa.
Para crear un nuevo archivo de programa con la ventana de comandos, introduzca
CREATE COMMAND o MODIFY COMMAND (sin nombre de archivo) en el panel de entrada y pulse Intro.
Si introduce CREATE COMMAND <archivo> o MODIFY COMMAND <archivo>, donde <archivo>
todavía no existe, el Editor de programas se abre con el nombre de archivo especificado
en la barra de título (como se muestra en la Figura 18.4).
Figura 18.4 Ventana, barra rápida y menús del Editor de programas de Visual dBASE

Propiedades del Editor de programas


El Editor de programas incluye las siguientes propiedades por defecto:
• Justificación está desactivado (OFF).
• Sangrado automático está activado (ON), con el Espaciado definido como 3.
Consulte “Sangrado con tabulaciones y espacios (Sangrado automático)”.
• Colores automáticos está activado (ON). Consulte “Configuración de Colores
automáticos”.
• La fuente es Terminal, una tipografía estilo sistema monoespaciada.
• El juego de caracteres (DOS o Windows) está determinado por el controlador de
lenguaje elegido en la Utilidad de configuración BDE.

384 Guía del usuario


texted.dwu Page 385 Friday, September 1, 1995 4:55 PM

Edición de archivos de programa


En esta sección se describen las funciones del Editor de programas diseñadas
expresamente para facilitar la escritura de código.

Sangrado con tabulaciones y espacios (Sangrado automático)


El sangrado automático del Editor de programas permite alinear automáticamente
líneas de código sangradas. Al pulsar Intro al final de una línea sangrada con tabuladores
o espacios, el Editor de programas sangra automáticamente la línea siguiente al mismo
nivel de la anterior. Si desea más sangrado, vuelva a pulsar Tab o la barra espaciadora.
Los caracteres de sangrado deben aparecer antes que los demás caracteres de la línea.
Para retrasar el punto de inserción al nivel de tabulación anterior, pulse Mayús+Tab.
Cuando el sangrado automático está activado, la tecla Tab desplaza por defecto el
punto de inserción tres espacios (decimal ASCII 32) y cada tabulación adicional
aumenta el sangrado en otros tres. Para cambiar el tamaño del sangrado, escoja
Propiedades|Editor de programas y cambie el valor de Espaciado en el cuadro de
diálogo Propiedades del editor (consulte la Figura 18.3).
Nota Una vez que haya tecleado cualquier carácter que no sea un espacio o un tabulador,
podrá insertar verdaderos caracteres de tabulación (decimal ASCII 9) pulsando Tab, lo
cual le permite alinear comentarios en una misma columna (consulte la Figura 18.5; los
comentarios se explican en la página 388). El editor se comporta de esta forma siempre
que esté activada la opción Sangrado automático, tanto si está editando archivos de
programa o de texto como campos memo.
Figura 18.5 Sangrado automático

Tabuladores
reales, detrás
Línea tabulada. de caracteres
Mayús+Tab retrocede un de texto.
nivel de tabulación con
respecto a la línea
anterior.

Cuando el sangrado automático está desactivado, al pulsar Tab se inserta un carácter de


tabulación real (decimal ASCII 9), mientras que al pulsar Intro, el punto de inserción
siempre se sitúa al principio de la línea siguiente.
Cuando el editor está en modo insertar, al pulsar Tab se desplaza hasta la siguiente
posición de tabulación todo el texto que quede en la línea. Por el contrario, en modo
sobreescritura, el desplazamiento del punto de inserción a la siguiente posición de
tabulación no afecta al texto.

Capítulo 18, Uso de los editores de Visual dBASE 385


texted.dwu Page 386 Friday, September 1, 1995 4:55 PM

Configuración del tamaño de los caracteres de tabulación


Por defecto, el carácter de tabulación real (decimal ASCII 9) equivale al tamaño medio
de ocho caracteres en la fuente actual. Si desea definir tabuladores específicos en un
archivo, utilice la variable de memoria del sistema _tabs en la ventana de comandos.
Por ejemplo, para definir tabuladores a cuatro, ocho y doce caracteres, introduzca lo
siguiente:
_tabs = “4,8,12”
Observe que los tabuladores van separados por comas y agrupados entre comillas.
Para redefinir los tabuladores en su valor por defecto, teclee las comillas juntas, sin nada
entre ellas:
_tabs = ““
Este parámetro se aplica a todos los tabuladores del archivo, con independencia de los
valores que estuviesen definidos en el momento en que se introdujeron.
Nota Si define tabuladores, sólo dispondrá de aquellos que especifique. Por ejemplo, si define
tres tabuladores, a cuatro, ocho y doce caracteres, cuando pulse Tab por cuarta vez no
ocurrirá nada.

Configuración de Colores automáticos


El Editor de programas emplea un sistema de resalte de la sintaxis mediante colores,
para contribuir a la eliminación de los errores que puedan producirse al editar un
archivo de programa. Esta opción, denominada Colores automáticos, está activada por
defecto.
La opción Colores automáticos utiliza el siguiente esquema de colores:
• Los comentarios aparecen en gris.
• Los caracteres literales van en azul. En ellos se incluye el texto delimitado por
comillas o apóstrofos, los valores numéricos y los valores verdadero y falso de
dBASE (.T. y .F.).
• Los caracteres literales que van entre comillas o apóstrofos aparecen en rojo hasta que
se introduce el delimitador de cierre. Por ejemplo, el texto siguiente iría en rojo:
“Error: Es necesario un parámetro.

386 Guía del usuario


texted.dwu Page 387 Friday, September 1, 1995 4:55 PM

Pegado de sintaxis de la Ayuda


Puede copiar sintaxis de comandos directamente desde la sección Referencia del
lenguaje del sistema de Ayuda en archivos de programa abiertos en el Editor de
programas.
Los siguientes pasos describen la forma de copiar una función de fecha desde el sistema
de Ayuda:
1 Escoja Ayuda|Lenguaje para abrir la sección Referencia del lenguaje del sistema de
Ayuda.
2 Haga clic en el tema que desee, en este caso Categorical List, y a continuación en la
categoría, Date and Time Data.
3 Seleccione el comando o la función que desee utilizar. En este caso, escoja YEAR().
Verá la entrada de referencia de la función YEAR().
4 Escoja Edición|Copiar para abrir el cuadro de diálogo Copiar, resalte la sintaxis de la
función YEAR(), YEAR(<expD>), y haga clic en el botón Copiar para copiarla en el
Portapapeles de Windows.
Figura 18.6 Sintaxis seleccionada en la Ayuda

Seleccione la descripción de la sintaxis y haga


clic en el botón Copiar.

5 Escoja Archivo|Salir o pulse Alt+F4 para salir del sistema de Ayuda.


6 Seleccione el Editor de programas y sitúe el punto de inserción donde desee copiar el
texto.
7 Escoja Edición|Pegar o pulse Ctrl+V para pegar la sintaxis de la función en el
Editor de programas.
8 Proporcione un argumento correcto a la sintaxis. En este caso, sustituya <expD>
por {9/2/94}. La función aparecerá de la siguiente forma:
YEAR({9/2/94})
Este procedimiento funciona con todos los elementos de lenguaje del sistema de Ayuda.
Los detalles de la sintaxis varían según el comando de que se trate.

Capítulo 18, Uso de los editores de Visual dBASE 387


texted.dwu Page 388 Friday, September 1, 1995 4:55 PM

Inserción de comentarios en el código


Puede introducir comentarios de dos formas distintas: utilizando una línea completa o
bien incluyendo el comentario al final de una línea de código.
• Para utilizar una línea completa, sitúe al principio alguno de los caracteres de
comentario: asterisco (*), doble ampersand (&&) o la palabra NOTE (no importa que
esté en mayúsculas o en minúsculas).
• Para incluir el comentario al final de una línea de código, sitúe delante de él un doble
ampersand (consulte la Figura 18.5). Este es el único carácter que puede utilizar con
esta finalidad, ya que el asterisco sería interpretado como un signo de multiplicación
y la palabra NOTE como texto literal.
Cuando la opción Colores automáticos está activada, los comentarios aparecen en gris.

Botones de la barra rápida del Editor de programas


La tabla siguiente describe cuatro botones de la barra rápida que aparecen cuando se
activa el Editor de programas.
Tabla 18.6 Botones de la barra rápida del Editor de programas
Botón Acción
Carga el Generador de expresiones (consulte el Capítulo 12).

Ejecuta la línea o el bloque donde se encuentra el punto de


inserción.

Ejecuta el programa actual.

Carga el Depurador.

Almacenamiento de archivos de programa


La extensión que sugiere Visual dBASE para los archivos de programa es .PRG.
Puede utilizar otra, siempre que no termine con la letra O. Cuando Visual dBASE
compila el archivo de programa, crea un archivo de objeto con el mismo nombre y
extensión del archivo de programa, cambiando sólo la última letra de la extensión por
una O. (Por ejemplo, PROGRAM.PRG se compila como PROGRAM.PRO.) Por tanto, un
archivo de programa cuya extensión terminase en O se sobrescribiría en el proceso de
compilación.

388 Guía del usuario


texted.dwu Page 389 Friday, September 1, 1995 4:55 PM

Uso del Editor de textos para escribir archivos de texto


Para crear archivos de texto, es necesario trabajar en la ventana de comandos. Teclee
MODIFY FILE (sin nombre de archivo) en el panel de entrada y pulse Intro. Si teclea MODIFY
FILE < >, siendo < > un archivo inexistente, se abre el Editor de textos con el
nombre de archivo especificado en la barra de título.
Para editar un archivo de texto existente, teclee MODIFY FILE < >. Si el archivo no está
en el directorio o en la vía de acceso actual, especifique su ubicación completa.
En la barra de título de la ventana aparece Editor de textos junto con el nombre del
archivo o (Sin título).
El Editor de textos tiene esta configuración por defecto:
• La justificación está DESACTIVADA.
• El sangrado automático está DESACTIVADO. Al pulsar Tab se introduce un carácter
de tabulación real (decimal ASCII 9).
• Los colores automáticos están DESACTIVADOS.
Para obtener una descripción completa de las propiedades del Editor de textos, consulte
la página 381.
Al igual que los archivos de programa, los archivos de texto se almacenan en formato
ASCII. El cuadro de diálogo Guardar como no proporciona automáticamente ninguna
extensión para el archivo, pero el usuario puede introducir una, como .TXT.

Capítulo 18, Uso de los editores de Visual dBASE 389


texted.dwu Page 390 Friday, September 1, 1995 4:55 PM

Uso del Editor de textos para editar campos memo


Al hacer doble clic en un campo memo, se abre la ventana Editor de textos.
La configuración por defecto es la siguiente:
• La justificación está ACTIVADA.
• El margen derecho es 0 (cero).
• El sangrado automático está DESACTIVADO. Al pulsar Tab se introduce un carácter
de tabulación real (decimal ASCII 9).
• Los colores automáticos están DESACTIVADOS.
Nota El valor 0 del Margen derecho indica que el texto del campo memo se ajustará
automáticamente a la anchura actual de la ventana del Editor de textos. Si define otro
valor para esta opción, el texto se ajustará al margen definido, con independencia de la
anchura de la ventana.
La barra de título de la ventana contiene el nombre de la tabla y del campo memo.
Por ejemplo, la barra de título de la Figura 18.7 indica que se está visualizando el campo
Notas de CLIENTE.DBF.
Figura 18.7 Campo memo en el Editor de textos

Todas las técnicas antes descritas para la selección y edición de texto se aplican también
al editar campos memo.

390 Guía del usuario


comwindo.dwu Page 391 Friday, September 1, 1995 4:56 PM

Capítulo

Introducción de comandos de
Capítulo 19
19
dBASE en la ventana de comandos
El interface de usuario de Visual dBASE permite realizar una amplia gama de
actividades con bases de datos, pudiendo incluso cubrir todas las necesidades del
usuario. Sin embargo, el lenguaje dBASE abre un amplio espectro de posibilidades para
las bases de datos, incluyendo todo lo necesario para crear aplicaciones personalizadas.
La ventana de comandos es el punto de encuentro entre el interface de usuario y el
lenguaje de programación. Esta ventana permite introducir y ejecutar directamente
comandos de dBASE, siendo el equivalente del punto indicativo de dBASE IV y de otras
versiones anteriores de dBASE para DOS.
El lenguaje dBASE, junto con sus comandos, funciones y sintaxis, se describe con detalle
en la Guía del programador y en la Referencia del lenguaje.

Capítulo 19, Introducción de comandos de dBASE en la ventana de comandos 391


comwindo.dwu Page 392 Friday, September 1, 1995 4:56 PM

Acerca de la ventana de comandos


La ventana de comandos tiene dos paneles, como muestra la Figura 19.1.
Figura 19.1 Ventana de comandos

Panel de entrada

Panel de resultados

Para cambiar el tamaño relativo de los dos paneles,


arrastre la línea de división central. Para asignarles el
mismo tamaño, haga doble clic en ella.

Cada uno de los paneles tiene funciones específicas:


• El panel de entrada es el lugar donde se introducen los comandos interactivos.
(Es el equivalente al punto indicativo de dBASE para DOS.) Puede utilizar de este
modo el panel de entrada si ya conoce los comandos de dBASE o si considera más
fácil y rápido teclear los comandos que utilizar el ratón y los menús.
• El panel de entrada refleja las acciones realizadas en el interface de Visual dBASE,
llevando un historial de los comandos ejecutados. Por ejemplo, al crear una tabla
haciendo doble clic en el icono de tabla (Sin título), la ventana de comandos muestra
que se ha ejecutado el comando CREATE.
Al mostrar la sintaxis correcta de muchas de las acciones realizadas, la ventana de
comandos ayuda al usuario a aprender el lenguaje dBASE.
• El panel de resultados es donde aparece el resultado de los comandos ejecutados, a
menos que éstos creen o activen otras ventanas. El panel de resultados es también el
destino por defecto de los resultados de muchos programas.
• El panel de resultados es el espacio donde se ejecutan los programas dBASE IV y
dBASE III PLUS.
Para cerrar la ventana de comandos, haga doble clic en el cuadro del menú de Control,
que se encuentra en la esquina superior izquierda de la ventana, o pulse Ctrl+F4.
Para abrirla, escoja Ventana|Comando o haga clic en el botón de la barra rápida.
Visual dBASE mantiene un historial completo de las actividades realizadas en la ventana
de comandos, por lo que siempre se encuentran disponibles los comandos utilizados
con anterioridad (consulte la página 394). Para borrar temporalmente el contenido del
panel de entrada, escoja Edición|Seleccionar todo y pulse Supr. La próxima vez que
ejecute un comando en la ventana, volverá a aparecer todo el historial.
Para borrar el panel de resultados de forma permanente, escoja
Edición|Eliminar resultados.

392 Guía del usuario


comwindo.dwu Page 393 Friday, September 1, 1995 4:56 PM

Definición de las propiedades de la ventana de comandos


Para definir las propiedades de la ventana de comandos, elija
Propiedades|Ventana de comandos.
Figura 19.2 Cuadro de diálogo Propiedades de la ventana de comandos

Haga clic en este botón para definir la fuente del panel


de entrada.
Haga clic en este botón para definir la fuente del panel
de resultados.

También puede utilizar este cuadro de diálogo para definir las fuentes empleadas en los
paneles de entrada y de resultados.
La Figura 19.3 muestra las opciones de Posición del panel de entrada para la ventana de
comandos.
Figura 19.3 Opciones de orientación de la ventana de comandos

Entrada Resultados
Entrada Resulta- Resulta-
dos Entrada
dos
Resultados Entrada

Superior Inferior Izquierda Derecha

Haga clic con el botón derecho en el panel de entrada para ver el menú rápido que
aparece en la figura siguiente. Uno de sus comandos abre el cuadro de diálogo
Propiedades de la ventana de comandos:
Figura 19.4 Menú rápido del panel de entrada

Actúan sobre cualquier texto seleccionado en el panel de entrada.

Abre el Generador de expresiones (descrito en el Capítulo 15).


Ejecuta la línea de comando o el bloque de texto de comando.
Abre el cuadro de diálogo Propiedades de la ventana de comandos
(consulte la Figura 19.2).

Capítulo 19, Introducción de comandos de dBASE en la ventana de comandos 393


comwindo.dwu Page 394 Friday, September 1, 1995 4:56 PM

Introducción y ejecución de comandos


Los comandos que se introducen en el panel de entrada permanecen en él hasta que se
cierra la ventana de comandos o se sale de Visual dBASE. Para ejecutar un comando,
tecléelo en el panel de entrada y pulse Intro. También puede hacer clic en el botón
Ejecutar de la barra rápida o escoger Edición|Ejecutar selección.
Puede introducir varias sentencias en una sola línea separándolas mediante puntos y
comas, como muestra el siguiente ejemplo:
CLEAR; FOR i=1 TO 20; ? i; NEXT
Dado que al pulsar Intro se ejecuta la línea de comando, es necesario pulsar Ctrl+Intro para
introducir más de una línea en la ventana de comandos. Para obtener una explicación
del modo en que se ejecutan comandos de varias líneas, consulte la siguiente sección.
El número máximo de caracteres por línea de comando es 4.096 y el número máximo de
líneas que puede admitir el panel de entrada es 1.000.
Puede utilizar también el Generador de expresiones para crear expresiones de dBASE
en la ventana de comandos. Para abrirlo, escoja Edición|Generar expresión o pulse
Ctrl+E. Para obtener más información sobre las expresiones, consulte el Capítulo 15.
La línea de comando está por defecto en modo insertar, como indica la barra de estado.
Para cambiar al modo sobrescritura, pulse la tecla Insert.

Ejecución de comandos de varias líneas


Además de introducir varias líneas de comando, puede pegar líneas de texto de
comando tomadas de otra fuente, sobre todo del Editor de textos de Visual dBASE
(consulte el Capítulo 18). También puede ejecutar bloques de líneas de comando.
Para ejecutar más de una línea de texto de comando en el panel de entrada, seleccione
las líneas con el ratón o pulse Mayús y las teclas del cursor. A continuación, pulse Intro,
haga clic en el icono Ejecutar de la barra rápida o escoja Edición|Ejecutar selección.

Repetición de comandos
Para volver a utilizar un comando que ya ha introducido en el panel de entrada:
1 Desplácese por la ventana, si es necesario, hasta encontrar el comando.
2 Haga clic en la línea de comando o seleccione el bloque de comandos que desee.
3 Ejecute el comando o comandos seleccionados pulsando Intro, haciendo clic en el
botón Ejecutar o escogiendo Edición|Ejecutar selección.

394 Guía del usuario


comwindo.dwu Page 395 Friday, September 1, 1995 4:56 PM

Edición en la ventana de comandos


Puede editar texto en el panel de entrada de forma muy similar a como lo haría en un
editor de textos. Además, puede seleccionar y copiar texto en el panel de resultados.
La línea de comando es la línea del panel de entrada donde se encuentra el punto de
inserción (a menudo denominado “cursor de texto” en otras aplicaciones). Para ello
puede utilizar las teclas de edición estándar, como Retroceso y Supr, y los comandos del
menú Edición (Cortar, Copiar y Pegar). Las técnicas son las mismas empleadas en el
Editor de textos. Consulte la Tabla 18.3 en la página 378. También puede utilizar el
menú rápido del panel de entrada que aparece en la Figura 19.4.
Puede copiar también bloques de texto del panel de resultados y pegarlos en la ventana
del Editor de textos o en cualquier otro lugar que admita esta función. Una característica
única de la selección de bloques en el panel de resultados consiste en la posibilidad de
seleccionar columnas de texto dentro de un rango de líneas, sin tener que seleccionar las
líneas completas. Consulte la Figura 19.5.
Figura 19.5 Bloque seleccionado en el panel de resultados

Observe que el bloque seleccionado (área sombreada)


no incluye el final de las cinco primeras líneas, como
ocurre en un bloque de texto normal.

Los comandos Edición|Buscar permiten realizar búsquedas y sustituciones de texto en


el panel de entrada, igual que en el Editor de textos. Consulte el Capítulo 18.

Pegado de sintaxis de la Ayuda


Puede copiar sintaxis de comandos de la sección Referencia del lenguaje del sistema de
Ayuda directamente en el panel de entrada. El proceso es básicamente el mismo
empleado en el Editor de textos. Consulte el Capítulo 18.
Una vez pegada la sintaxis y proporcionado el argumento, puede añadir un comando
de signo de interrogación (?) para ver el valor devuelto por la función en el panel de
resultados. El comando completo tendría la siguiente forma:
? YEAR({9/2/94})
Con el punto de inserción situado en la línea de comando, pulse Intro o haga clic en el
botón Ejecutar de la barra rápida. El resultado del comando o de la función aparece en el
panel de resultados. En el ejemplo de YEAR(), aparecería “1994”, la expresión en cuatro
cifras del año introducido.

Capítulo 19, Introducción de comandos de dBASE en la ventana de comandos 395


comwindo.dwu Page 396 Friday, September 1, 1995 4:56 PM

Pegado de comandos de archivos de programa


Para utilizar comandos de un archivo de programa, abra el archivo, copie los comandos
que desee y péguelos en la ventana de comandos. Una vez copiados, podrá probarlos o
modificarlos. Los archivos de ejemplo que vienen con Visual dBASE son una buena
fuente de comandos útiles de dBASE que se pueden copiar.

Almacenamiento de comandos en programas


Si el panel de entrada contiene código de dBASE que desea volver a utilizar, puede
copiarlo y pegarlo en un archivo de programa (.PRG) existente o en otro nuevo.
También puede marcar un bloque y escoger Edición|Copiar en archivo. Visual dBASE
presenta el cuadro de diálogo Copiar en archivo, que permite asignar un nombre al
nuevo archivo que contendrá el texto seleccionado. Por defecto, el archivo tendrá la
extensión .PRG, pero puede cambiarla por otra. Si no marca ningún bloque antes de
escoger Edición|Copiar en archivo, se selecciona todo el contenido de la ventana de
comandos.

Sesiones y áreas de trabajo


Cuando están activadas las sesiones (explicadas en el Capítulo 5), la ventana de
comandos se ejecuta siempre en su propia sesión. A continuación ofrecemos un ejemplo:
Asegúrese de que el directorio actual es C:\DBASEWIN\EJEMPLOS.
1 En la ventana de comandos, teclee lo siguiente, pulsando Intro al final de cada línea:
USE EMPRESA.DBF
LIST
El panel de resultados muestra el contenido de la tabla EMPRESA.DBF.
2 Acceda al Selector y haga doble clic en el icono de otra tabla. Se abre la ventana
Registros de tabla y aparecen en la ventana de comandos los comandos de dBASE
(CREATE SESSION, USE y BROWSE) utilizados en el Selector.
3 Vuelva a la ventana de comandos y teclee otra vez LIST. Observe que, al pulsar Intro,
el panel de resultados vuelve a mostrar el contenido de la tabla EMPRESA.DBF, que
es la que está abierta en la sesión de la ventana de comandos.
Importante El trabajo con las sesiones activadas tiene muchas de las características del trabajo en un
entorno multiusuario, aunque en una sola máquina. Algunas acciones afectan a todas
las copias abiertas de la tabla activa, mientras que otras afectan sólo a la sesión actual.
• Cualquier acción que modifique físicamente los datos de la tabla, como la adición,
edición o borrado de registros, afecta a la tabla en todas sus sesiones.
• Cualquier acción que afecte al entorno de la tabla o al modo de visualización de los
datos, como los comandos que desplazan el puntero de registro, definen un índice o
abren un área de trabajo, afectan a la tabla sólo en la sesión activa.

396 Guía del usuario


comwindo.dwu Page 397 Friday, September 1, 1995 4:56 PM

Areas de trabajo
También puede abrir más de una tabla, sin utilizar sesiones, creando un área de trabajo
para cada tabla. El siguiente código introducido en la ventana de comandos abre las
tablas EMPRESA.DBF y CLIENTES.DBF en áreas de trabajo distintas.
CREATE SESSION
USE C:\DBASEWIN\EJEMPLOS\EMPRESA.DBF
BROWSE
SELECT 2
USE C:\DBASEWIN\EJEMPLOS\CLIENTES.DBF
BROWSE
Las áreas de trabajo se describen con detalle en la Guía del programador.

Comandos comunes
La tabla siguiente describe algunos de los comandos de dBASE que puede utilizar en el
panel de entrada.
Tabla 19.1 Comandos comunes de dBASE
Comando Descripción
HELP Abre el sistema de Ayuda. Si introduce este comando solo, aparece la pantalla principal de la
Ayuda, mientras que si especifica con él un elemento de lenguaje, aparece la entrada de la
Ayuda para ese elemento. Por ejemplo, HELP VERSION() abre directamente la Ayuda en
línea para la función VERSION().
DIRECTORY Muestra los nombres de las tablas que hay en el directorio actual. Si desea ver todos los
archivos del directorio, utilice DIRECTORY *.*.
SET PATH Define una nueva vía de acceso. El formato es SET PATH TO <vacceso>, donde <vacceso>
contiene una o varias especificaciones de vías de acceso.
CD Cambia al directorio especificado.
SET DIRECTORY Define un nuevo directorio actual. El formato es SET DIRECTORY TO D:\<vía>, donde D es
el nombre de la unidad.
? y ?? Evalúan e imprimen un valor o una expresión en el panel de resultados, la impresora o un
archivo.
DO Ejecuta un programa. Puede ejecutar cualquier programa de dBASE introduciendo DO
<programa>. Si el programa no está en el directorio o en la vía de acceso actual, incluya
también la ubicación completa, por ejemplo,
DO D:\CUENTAS\FACTURA.PRG.
USE Abre tablas y sus índices. Por ejemplo, USE ALBUM abre la tabla ALBUM y sus archivos de
índice asociados.
BROWSE Permite ver o cambiar el contenido de una tabla rápidamente. Utilice BROWSE para obtener
una presentación multirregistro y EDIT para una presentación monorregistro. Tiene que
EDIT ejecutar el comando USE en la tabla antes de verla o editarla. Puede introducir los comandos
solos o con algunas opciones. Para ver estas opciones, utilice HELP BROWSE o HELP EDIT.
DISPLAY MEMORY Muestra el contenido de todas las variables de memoria del sistema o definidas por el usuario.
Es especialmente útil cuando se está programando y se desea ver las variables que hay en
memoria y sus valores, o para ver cuántas quedan disponibles para asignar.
DISPLAY STATUS Muestra el estado actual de los parámetros del comando SET, asignaciones de teclas de
función, vía de acceso, información de la base de datos (incluyendo índices abiertos,
expresiones clave de índices y relaciones de bases de datos) y valores de ON ESCAPE, ON
ERROR, ON KEY y SET KEY.

Capítulo 19, Introducción de comandos de dBASE en la ventana de comandos 397


comwindo.dwu Page 398 Friday, September 1, 1995 4:56 PM

Tabla 19.1 Comandos comunes de dBASE (continuación)


Comando Descripción
MODIFY COMMAND Abre el Editor de programas con el archivo de programa especificado (MODIFY COMMAND
<narchivo>). Si no se indica ningún nombre de archivo, abre el editor para crear un archivo de
programa nuevo.
CLEAR Borra el panel de resultados.
QUIT Cierra Visual dBASE y lo elimina de la memoria, igual que el comando de menú Archivo|
Salir.

Estos y otros comandos se describen con más detalle en la Referencia del lenguaje y en la
Ayuda en línea.

Ejecución y depuración de programas


Como ya hemos mencionado, puede almacenar y ejecutar o depurar programas
mientras los crea. Para ejecutar un programa, efectúe una de las siguientes acciones:
• Haga doble clic en el icono del archivo de programa.
• Seleccione el icono del archivo .PRG y pulse F2 o haga clic en el botón Ejecutar de la
barra rápida.
• Haga clic con el botón derecho en el icono del archivo de programa y escoja Ejecutar
en el menú rápido.
• Teclee DO seguido de la vía de acceso completa del programa en la ventana de
comandos.
Para abrir el Depurador, efectúe una de las siguientes acciones:
• Seleccione el icono del archivo .PRG y escoja Depurar en el menú Catálogo o Selector.
• Haga clic con el botón derecho en el icono del archivo de programa y escoja Depurar
en el menú rápido.
La depuración de programas se describe con detalle en la Guía del programador.

Corrección de errores de programas


Cuando se ejecuta un programa que tiene un error, Visual dBASE muestra el cuadro de
diálogo Advertencia de programa.
Figura 19.6 Cuadro de diálogo Advertencia de programa

Función definida por el usuario o


Breve descripción del error procedimiento donde se ha
producido el error. Si sólo hay
Programa donde se ha un procedimiento o una función
producido el error. definida por el usuario en el
programa, la Rutina coincide
Línea donde se ha producido
con el nombre de archivo del
el error.
programa.

398 Guía del usuario


comwindo.dwu Page 399 Friday, September 1, 1995 4:56 PM

Esta tabla describe las funciones de los botones situados en la parte inferior del cuadro
de diálogo Advertencia de programa.
Tabla 19.2 Botones del cuadro de diálogo Advertencia de programa
Botón Descripción
Cancelar Detiene la ejecución del programa y vuelve al Editor de programas, a la ventana de catálogo
o al Selector.
Solucionar Abre el archivo de programa en el Editor de programas, con el punto de inserción situado
en la línea que tiene el error.
Ignorar Pasa por alto el error y sigue ejecutando el programa.
Suspender (Sólo errores en tiempo de ejecución.) Suspende la ejecución del programa en el punto de
ruptura especificado.
Puede retomar la ejecución del programa en la ventana de comandos con el comando
RESUME o finalizar su ejecución con el comando CANCEL.
Consulte la descripción de estos comandos en la Referencia del lenguaje.
Depurar (Sólo errores en tiempo de ejecución.) Abre el Depurador (descrito en la Guía del programador
y en la Ayuda en línea).

Capítulo 19, Introducción de comandos de dBASE en la ventana de comandos 399


comwindo.dwu Page 400 Friday, September 1, 1995 4:56 PM

400 Guía del usuario


p_apndx.dwu Page 401 Friday, September 1, 1995 4:57 PM

Parte

VI
Apéndices
Parte VI

• Apéndice A, “Transición desde dBASE IV”


• Apéndice B, “Interface de teclado”
• Apéndice C, “Parámetros de DBASEWIN.INI”
• Apéndice D, “Database Engine de Borland”
• Apéndice E, “Uso de datos SQL”

Parte VI, Apéndices 401


p_apndx.dwu Page 402 Friday, September 1, 1995 4:57 PM

402 Guía del usuario


moving.dwu Page 403 Friday, September 1, 1995 4:58 PM

Apéndice

Transición desde dBASE IV


Apéndice A
A
Si está acostumbrado a utilizar el Centro de control de dBASE IV, este apéndice le
ayudará a encontrar las funciones equivalentes en Visual dBASE. Si no conoce el
interface de usuario de dBASE IV, puede pasar al siguiente apéndice.
Casi todas las funciones del Centro de control se han implementado en Visual dBASE,
que se beneficia además del interface Windows y su arquitectura. Si conoce bien el
Centro de control, encontrará fácilmente las funciones equivalentes en Visual dBASE.
Si no está familiarizado con el interface de usuario de dBASE IV, puede ignorar este
apéndice.
El código que se genera con los programas de dBASE IV se ejecuta en Visual dBASE.
No obstante, si desea aprovechar las ventajas que ofrece el interface de usuario, puede
emplear una utilidad de Visual dBASE, denominada Generador de componentes, para
actualizar el código y así poder ejecutarlo en los nuevos diseñadores.
En este apéndice se proporciona información básica acerca de las funciones equivalentes
del interface de usuario. Para obtener información más detallada, incluyendo
equivalencias de menús y combinaciones de teclas, consulte el tema Transición desde
dBASE IV de la Ayuda en línea. Los programadores de dBASE IV pueden consultar el
Apéndice A de la Guía del programador.
Antes de empezar, lea el Capítulo 2, donde encontrará una introducción al interface de
usuario de Visual dBASE.

Apéndice A, Transición desde dBASE IV 403


moving.dwu Page 404 Friday, September 1, 1995 4:58 PM

Cambios generales
A continuación exponemos los cambios en Visual dBASE.
• Interface de Windows. Visual dBASE ofrece muchas de las funciones del interface de
Windows 3.1, que le permitirán mejorar la capacidad y el atractivo visual de la
aplicación. Entre ellas se incluyen objetos de ventana, objetos de control para las
fichas, fuentes y colores.
• Nuevos tipos de archivo. Visual dBASE puede leer y escribir datos almacenados
en tablas de Paradox y SQL, así como importar información de hojas de cálculo
Quattro Pro.
• Nuevos tipos de campo. Visual dBASE puede almacenar datos binarios (archivos de
imágenes y sonidos) y campos OLE.
• Impresión en Windows. Visual dBASE utiliza todas las funciones del
Administrador de impresión de Windows para gestionar las tareas de impresión,
incluida la configuración y la presentación preliminar.

404 Guía del usuario


moving.dwu Page 405 Friday, September 1, 1995 4:58 PM

Menús del Centro de control


En esta sección se describe cómo se ha implementado en dBASE los comandos de los
diferentes menús del Centro de control de dBASE IV.

Menú Catálogo
La ventana de catálogo de Visual dBASE proporciona todos los comandos incluidos en
el menú Catálogo del Centro de control de dBASE IV. Puede utilizar esta ventana para
crear, cambiar y borrar catálogos. Para obtener información, consulte el Capítulo 2.

Menú Utilidades
A continuación exponemos cómo se implementan en Visual dBASE los comandos
incluidos en el menú Utilidades del Centro de control de dBASE IV.
• Macros. Visual dBASE no proporciona directamente macros de teclado. Sin embargo,
puede utilizar la aplicación Grabadora de Windows 3.1 para crear y ejecutar macros.
Para obtener información, consulte la documentación de Windows.
• Importar y Exportar. La ventana Registros de tabla proporciona comandos para
importar y exportar datos, que pueden proceder de dBASE, Paradox, Quattro Pro,
SQL y archivos de texto ASCII. Ya no se admiten los siguientes tipos de archivo:
dBASE II, Framework, VisiCalc, PFS:FILE y SYLK-Multiplan. Para obtener
información, consulte el Capítulo 6.
• Utilidades del DOS. El Administrador de archivos de Windows 3.1 proporciona
todos los comandos de gestión de archivos del menú Utilidades del DOS. Además
puede utilizar Archivo|Ejecutar en el Administrador de programas para ejecutar
comandos del DOS. Para obtener información, consulte la documentación de
Windows.
• Protección datos. Visual dBASE ofrece la posibilidad de asignar nombres de conexión
y contraseñas a tablas y campos. Si una operación con una tabla de dBASE, Paradox o
SQL requiere información de conexión, Visual dBASE muestra un cuadro de diálogo
donde se solicita la información pertinente. Si trabaja en red, también puede proteger
los archivos almacenándolos en directorios a los que sólo tengan acceso los usuarios
autorizados.
• Configuración. El cuadro de diálogo Propiedades del escritorio proporciona la
mayoría de los parámetros anteriores y añade algunos nuevos. Además, los
parámetros de inicialización ya no se almacenan en CONFIG.DB, sino en
DBASEWIN.INI. Los parámetros de visualización no se transmiten directamente al
interface de Windows, pero puede utilizar el Panel de control de Windows 3.1 para
definir los colores de los elementos que componen las ventanas. Para obtener
información, consulte la documentación de Windows.

Apéndice A, Transición desde dBASE IV 405


moving.dwu Page 406 Friday, September 1, 1995 4:58 PM

Menú Salir
A continuación exponemos cómo se implementan en Visual dBASE los comandos del
menú Salir del Centro de control de dBASE IV.
• Volver al punto indicativo. La ventana de comandos de Visual dBASE muestra el
punto indicativo, por lo que no es necesario salir del sistema de menús. Para acceder
al punto indicativo, active o seleccione la ventana de comandos. Para obtener
información, consulte el Capítulo 19.
• Salir al DOS. Para salir de Visual dBASE se escoge Archivo|Salir o se hace doble clic
en el cuadro del menú de Control. También puede salir de Visual dBASE sin cerrar la
aplicación minimizando su ventana.

Menú Datos
El Diseñador de tablas y la ventana Registros de tabla proporcionan muchas de las
funciones incluidas en el menú Datos del Centro de control de dBASE IV.
A continuación exponemos cómo se implementan en Visual dBASE los comandos de
dicho menú.
• Formato. El menú Archivo del Diseñador de tablas proporciona comandos para
guardar e imprimir la estructura de tabla. Ya no se utilizan descripciones de bases de
datos. Para obtener información, consulte el Capítulo 3.
• Organizar. El cuadro de diálogo Mantenimiento de índices proporciona todos los
comandos necesarios para la gestión de archivos de índice múltiples (.MDX), pero no
para los archivos de índice individuales (.NDX). También puede crear índices para
tablas de Paradox y SQL. Para obtener información, consulte el Capítulo 4.
La ventana Registros de tabla ofrece comandos para ordenar, suprimir marcas de
borrado y eliminar los registros marcados. Para obtener información, consulte el
Capítulo 6.
• Añadir y Desplazar. La ventana Registros de tabla proporciona comandos para
añadir registros a una tabla, importar registros y desplazarse a un registro específico.
Para obtener información, consulte el Capítulo 3 y el Capítulo 6.
• Salir. El menú Archivo de la ventana Registros de tabla ofrece comandos para
guardar y cancelar los cambios efectuados en un registro.
• Pantallas Browse y Edit. La ventana Registros de tabla, en los formatos Browse y
Ficha respectivamente, proporciona todos los comandos que aparecen en los menús
de estas pantallas. Para obtener información, consulte el Capítulo 3 y el Capítulo 6.

406 Guía del usuario


moving.dwu Page 407 Friday, September 1, 1995 4:58 PM

Menú Consultas
El Diseñador de consultas y la ventana Registros de tabla proporcionan muchas de las
funciones incluidas en el menú Consultas del Centro de control de dBASE IV.
A continuación exponemos cómo se implementan en Visual dBASE los comandos de
dicho menú.
Formato. El Diseñador de consultas proporciona comandos para añadir y suprimir
archivos de consulta y crear vínculos entre tablas. Para obtener información, consulte el
Capítulo 8 y el Capítulo 9.
Campos. El Diseñador de consultas proporciona comandos para añadir, cambiar y
suprimir campos de una consulta. Para obtener información, consulte el Capítulo 8.
Ya no se pueden mantener índices temporales, sino que se crean en el cuadro de diálogo
Mantenimiento de índices, descrito en el Capítulo 4. Para realizar cálculos con los
campos, utilice el comando Calcular de la ventana Registros de tabla, descrita en el
Capítulo 6.
Ventana. El Diseñador de consultas proporciona cuadros de condiciones y permite
realizar operaciones condicionales. Para obtener información, consulte el Capítulo 8.
Actualizar. La ventana Registros de tabla proporciona comandos para sustituir, añadir,
marcar y suprimir marcas de los registros de una tabla. Para obtener información,
consulte el Capítulo 6.
Salir. El menú Archivo del Diseñador de consultas proporciona comandos para guardar
y cancelar los cambios efectuados en las consultas.

Menú Pantallas
El Diseñador de fichas sustituye muchas de las funciones incluidas en el menú Pantallas
del Centro de control de dBASE IV. A continuación exponemos cómo se implementan
en Visual dBASE los comandos de dicho menú.
Formato. El Diseñador de fichas proporciona herramientas para diseñar el formato de
las fichas en el interface de Windows. Ofrece objetos de línea y rectangulares, así como
un gran número de controles estándar y personalizados de Windows, que se pueden
incorporar a las fichas. El Experto de fichas sustituye el comando Formato básico y
permite utilizar tablas, vistas o consultas (incluidas las consultas multitabla) como base
para las fichas; también proporciona otras opciones, como formatos, fuentes y colores.
Para obtener información, consulte el Capítulo 12.
Campos. El Diseñador de fichas proporciona herramientas para vincular controles a los
campos de las tablas o a variables de memoria, así como para crear campos calculados
en las fichas. Con el Inspector de objetos se pueden definir plantillas, imágenes,
funciones de edición, atributos visuales y otras propiedades de los objetos. Para obtener
información, consulte el Capítulo 11 y el Capítulo 12.

Apéndice A, Transición desde dBASE IV 407


moving.dwu Page 408 Friday, September 1, 1995 4:58 PM

Texto. El Diseñador de fichas proporciona herramientas para definir las propiedades de


colores y fuentes de los objetos, utilizando los colores y fuentes instalados en
Windows 3.1. Para obtener información, consulte el Capítulo 12. Puede controlar la
presentación del Diseñador de fichas mediante el cuadro de diálogo Propiedades del
Diseñador de fichas. Para obtener información, consulte el Capítulo 11.
Desplazar. En el Diseñador de fichas se va a un objeto de la ficha haciendo clic en él.
Salir. El menú Archivo del Diseñador de fichas proporciona comandos para guardar y
cancelar los cambios efectuados en las consultas.

Menú Informes
El Diseñador de informes de Visual dBASE ofrece muchas de las funciones incluidas en
el menú Informes del Centro de control de dBASE IV. Para obtener información,
consulte Guía del usuario Crystal Reports para dBASE. A continuación exponemos cómo se
implementan en Crystal Reports los comandos del menú Informes.
• Formato. El Diseñador de informes proporciona comandos para generar informes o
formatos cartesianos. Puede incorporar cuadros, líneas, gráficos y otros objetos a los
informes.
• Campos. El cuadro de diálogo Insertar campo de base de datos del Diseñador de
informes permite añadir campos de tablas. También se pueden incorporar campos de
texto y especiales (número de página, número de registro, etcétera).
• Apartados. El Diseñador de informes permite añadir campos resumen y definir
grupos.
• Texto. El Diseñador de informes proporciona herramientas para definir las
propiedades de fuentes y colores de los objetos, utilizando los colores y fuentes
instalados en Windows 3.1.
• Desplazar. En el Diseñador de informes se va a un objeto del informe haciendo clic
en él.
• Imprimir. El Diseñador de informes y el Administrador de impresión de
Windows 3.1 proporcionan la mayoría de las funciones del menú Imprimir.
• Salir. El menú Archivo del Diseñador de informes proporciona comandos para
guardar los cambios efectuados en los informes.

408 Guía del usuario


moving.dwu Page 409 Friday, September 1, 1995 4:58 PM

Etiquetas
El Diseñador de informes sustituye muchas de las funciones incluidas en el menú
Etiquetas del Centro de control de dBASE IV. Para obtener información, consulte
Guía del usuario Crystal Reports para dBASE. A continuación exponemos cómo se
implementan en Crystal Reports los comandos del menú Etiquetas.
• Formato. El Diseñador de informes proporciona comandos para generar formatos de
etiqueta. Puede incorporar a las etiquetas cuadros, líneas, gráficos y otros objetos.
• Medidas. El Diseñador de informes proporciona varios formatos de etiqueta
estándar, pero también se pueden crear otros personalizados.
• Campos. El cuadro de diálogo Insertar campo de base de datos del
Diseñador de informes contiene una lista de los campos de tabla que se pueden
añadir. También pueden incorporarse campos de texto y especiales (número de
página, número de registro, etcétera).
• Texto. El Diseñador de informes proporciona herramientas para definir las
propiedades de fuentes y colores de los objetos, utilizando los colores y fuentes
instalados en Windows 3.1.
• Desplazar. En el Diseñador de informes se va un objeto de la etiqueta haciendo clic
en él.
• Imprimir. El Diseñador de informes y el Administrador de impresión de
Windows 3.1 proporcionan la mayoría de las funciones del menú Imprimir.
• Salir. El menú Archivo del Diseñador de informes proporciona comandos para
guardar los cambios efectuados en las etiquetas.

Aplicaciones
Visual dBASE ofrece un conjunto completo de utilidades para desarrollar aplicaciones
de Windows. Algunas de estas utilidades, como el Diseñador de tablas y el cuadro de
diálogo Mantenimiento de índices, permiten generar tablas e índices. Otras, como el
Diseñador de consultas, el Diseñador de fichas y el Diseñador de menús, generan
código de dBASE que puede modificarse en la ventana de comandos. Para crear una
aplicación completa se utilizan todas estas utilidades conjuntamente, creando las fichas,
menús, informes, vistas y consultas necesarias.

Apéndice A, Transición desde dBASE IV 409


moving.dwu Page 410 Friday, September 1, 1995 4:58 PM

410 Guía del usuario


keys.dwu Page 411 Friday, September 1, 1995 5:02 PM

Apéndice

Interface de teclado
Apéndice B
B
En este apéndice se describen todas las equivalencias del teclado para los comandos de
menú y las acciones del ratón. Se detallan las combinaciones de teclas que se aplican a
todo el interface de Visual dBASE y las específicas de cada editor, ventana o vista.

Combinaciones de teclas generales


La Tabla B.1 describe las combinaciones de teclas que pueden utilizarse en cualquier
componente de Visual dBASE. Las otras tablas de este apéndice detallan las
combinaciones que se emplean en ventanas o vistas específicas, siempre junto con las de
la Tabla B.1, a menos que se indique lo contrario.
Tabla B.1 Combinaciones de teclas generales
Teclas Comando de menú Descripción
Alt Activa la barra de menús.
F10 Activa la barra de menús.
Alt+<letra> Muestra el menú que contiene la letra subrayada.
<letra> Cuando un menú está abierto, ejecuta el comando que contiene la letra
subrayada.
Alt+Barra Abre el menú de Control de la ventana de aplicación principal o de un
espaciadora cuadro de diálogo.
Alt+guión Abre el menú de Control de la ventana activa.
Ctrl+F4 Cierra la ventana activa (MDI).
Alt+F4 Cierra la aplicación o la ventana no MDI actual.
Esc La primera vez que se pulsa cierra el menú de Control pero deja activo
su cuadro; la segunda vez desactiva el cuadro del menú de Control.
Esc Cierra un menú.
Ctrl+Z Edición|Deshacer Deshace la última acción reversible.
Ctrl+X Edición|Cortar Corta el elemento seleccionado y lo coloca en el Portapapeles.
Ctrl+C Edición|Copiar Copia en el Portapapeles el elemento seleccionado.

Apéndice B, Interface de teclado 411


keys.dwu Page 412 Friday, September 1, 1995 5:02 PM

Tabla B.1 Combinaciones de teclas generales (continuación)


Teclas Comando de menú Descripción
Ctrl+V Edición|Pegar Pega el contenido del Portapapeles en el punto de inserción o en la
posición actual del cursor.
Supr Edición|Borrar Borra el elemento seleccionado sin colocarlo en el Portapapeles.
Mayús+F1 Ayuda|Indice Muestra la pantalla de índice de la Ayuda en línea.
Mayús+F4 Ventana|Mosaico Dispone las ventanas abiertas en forma de mosaico vertical.
vertical
Mayús+F5 Ventana|Cascada Dispone las ventanas abiertas en forma de cascada.
Ctrl+O Archivo|Abrir Muestra el cuadro de diálogo Abrir archivo.
Alt+Esc Activa la siguiente aplicación de la Lista de tareas de Windows.
Ctrl+Esc Muestra la Lista de tareas de Windows.
Alt+Tab Avanza cíclicamente por la lista de aplicaciones activas. Para pasar a
una aplicación determinada, suelte la tecla Alt.
Alt+Mayús+Tab Retrocede cíclicamente por la lista de aplicaciones activas.
Ctrl+Tab, Ctrl+F6 Activa la ventana secundaria siguiente.
Ctrl+Mayús+Tab, Activa la ventana secundaria anterior.
Ctrl+Mayús+F6

Combinaciones de teclas de los cuadros de diálogo


La Tabla B.2 describe las combinaciones de teclas disponibles en los cuadros de diálogo
abiertos.
Tabla B.2 Combinaciones de teclas de los cuadros de diálogo
Teclas Descripción
Esc Cierra el cuadro de diálogo sin que se apliquen sus opciones.
Barra espaciadora Cambia el estado de la casilla de verificación seleccionada; ejecuta el botón de comando que tiene el
foco.
Intro Ejecuta el botón de comando que tiene el foco; si ninguno lo tiene, ejecuta el botón por defecto.
Alt+<letra> Desplaza el foco a la opción que tiene la letra subrayada; si es un botón de comando, lo ejecuta.
Tab/Mayús+Tab Desplaza el foco a la opción o grupo de opciones siguiente/anterior.
↑/ ↓ Desplaza el foco dentro de un conjunto de casillas de verificación agrupadas.
↑/ ↓ Cambia la selección en un conjunto de botones de radio agrupados o en la lista desplegable de un
cuadro combinado.
Alt+ ↓ Muestra la lista desplegable de un cuadro combinado.

412 Guía del usuario


keys.dwu Page 413 Friday, September 1, 1995 5:02 PM

Combinaciones de teclas para editar texto


La Tabla B.3 describe las combinaciones de teclas de edición de texto que pueden
emplearse en los editores de textos, en las ventanas Registros de tabla y Estructura de
tabla y, en general, en cualquier lugar donde se edite texto.
Tabla B.3 Combinaciones de teclas para editar texto
Teclas Comando de menú Descripción
→/← Desplaza el punto de inserción al carácter siguiente/anterior.
Ctrl+ →/← Desplaza el punto de inserción a la palabra siguiente/anterior.
Inicio/Fin Desplaza el punto de inserción al principio/fin de la línea.
RePág/AvPág Desplaza el punto de inserción a la pantalla anterior/siguiente.
Ctrl+RePág/AvPág, Edición|Buscar| Desplaza el punto de inserción al principio/fin del archivo.
Ctrl+Inicio/Fin Primera línea
Edición|Buscar|
Ultima línea
Ctrl+G Edición|Buscar| Desplaza el punto de inserción al número de línea especificado en un
Ir a número de línea archivo o un campo memo.
Ctrl+T Borra desde el punto de inserción hasta el principio de la palabra
siguiente.
Ctrl+Retroceso Borra desde el punto de inserción hasta el principio de la palabra actual;
si el punto de inserción está en un espacio, borra hasta el principio de la
palabra anterior.
Ctrl+Y Borra la línea donde se encuentra el punto de inserción.
Ctrl+N Corta la línea por el punto de inserción.
Mayús+ ←/→ Selecciona el carácter de la izquierda o de la derecha.
Mayús+ ↑/ ↓ Selecciona hasta la misma posición de la línea anterior/siguiente.
Mayús+Ctrl+ ←/→ Selecciona la palabra anterior/siguiente.
Mayús+Inicio/Fin Selecciona hasta el principio/fin de la línea.
Mayús+clic Selecciona desde el punto de inserción hasta el punto donde se ha
hecho clic.
Mayús+RePág/ Selecciona la pantalla anterior/siguiente desde el punto de inserción.
AvPág
Mayús+Ctrl+ Selecciona desde el punto de inserción hasta el principio/fin del
RePág/AvPág archivo.
Mayús+Ctrl+Inicio/Fin
Edición|Seleccionar Selecciona todo el texto del archivo o del campo memo.
todo
Ctrl+F Edición|Buscar| Abre el cuadro de diálogo Buscar texto.
Buscar texto
Ctrl+K Edición|Buscar| Busca la siguiente vez que aparece el texto especificado en el cuadro de
Buscar texto siguiente diálogo Buscar texto.
Ctrl+R Edición|Buscar| Abre el cuadro de diálogo Sustituir texto.
Sustituir texto
Ctrl+Intro Añade una línea de comando nueva sin ejecutar la actual y coloca en
ella el punto de inserción (sólo en la ventana de comandos).
Ctrl+N Añade una línea de comando nueva sin ejecutar la actual y sin
desplazar el punto de inserción (sólo en la ventana de comandos).

Apéndice B, Interface de teclado 413


keys.dwu Page 414 Friday, September 1, 1995 5:02 PM

Combinaciones de teclas específicas de ventanas


Las tablas de las secciones siguientes describen las combinaciones de teclas que se
emplean en ventanas y vistas específicas.

Combinaciones de teclas para editar tablas


La Tabla B.4 describe las combinaciones de teclas disponibles en la ventana Registros de
tabla.
Tabla B.4 Combinaciones de teclas de la ventana Registros de tabla
Teclas Comando de menú Descripción
Ctrl+S Archivo|Guardar Guarda el registro actual.
registro
Ctrl+W Archivo|Guardar y Guarda el registro actual y cierra la ventana Registros de tabla.
cerrar
Ctrl+Q Archivo|Abandonar Cancela los cambios efectuados en el registro actual y cierra la ventana
registro y cerrar Registros de tabla.
Ctrl+F4 Archivo|Cerrar Cierra la ventana Registros de tabla. Si no se han guardado los cambios,
dBASE insta a hacerlo.
Ctrl+P Archivo|Imprimir Imprime el registro o la tabla actual.
F2 Ver|Registros de tabla Muestra la ventana Registros de tabla desde la ventana de estructura de
tabla.
Mayús+F2 Ver|Estructura de tabla Muestra la ventana de estructura de tabla desde la ventana Registros de
tabla.
F2 Ver|Formato Browse En la ventana Registros de tabla, alterna entre los formatos Browse,
Ver|Formato Ficha Ficha y En columnas.
Ver|Formato En
columnas
F9 Ver|Contenido del Muestra el contenido de un campo memo, OLE o binario en el editor
campo correspondiente.
Ctrl+F Tabla|Buscar registros Abre el cuadro de diálogo Buscar Registros.
Ctrl+R Tabla|Sustituir registros Abre el cuadro de diálogo Sustituir registros.
Ctrl+A Tabla|Añadir registros Inserta un registro vacío al final de la tabla.
Ctrl+U Tabla|Borrar registro Borra el registro actual sin pedir confirmación.
seleccionado
Ctrl+L Tabla|Bloquear registro Bloquea el registro actual.
seleccionado
Ctrl+G Tabla|Ir a número de Desplaza el puntero de registro al número de registro indicado.
registro
Tab/Intro Desplaza la selección al campo siguiente del registro.
Mayús+Tab Desplaza la selección al campo anterior del registro.
¦/Ø Desplaza la selección al campo anterior/siguiente (sólo en los formatos
Ficha y En columnas).
Ctrl+Inicio/Fin Desplaza la selección al primer/último campo del registro actual.
¦/Ø Tabla|Registro anterior Desplaza el puntero de registro al registro anterior/siguiente de la tabla
/Registro siguiente (sólo en formato Browse).
RePág/AvPág Tabla|Página anterior/ Desplaza el puntero de registro al principio de la página anterior/
Página siguiente siguiente de la tabla (sólo en formato Browse).

414 Guía del usuario


keys.dwu Page 415 Friday, September 1, 1995 5:02 PM

Tabla B.4 Combinaciones de teclas de la ventana Registros de tabla (continuación)


Teclas Comando de menú Descripción
RePág/AvPág Tabla|Registro anterior Desplaza el puntero de registro al registro anterior/siguiente de la tabla
/Registro siguiente (sólo en los formatos Ficha y En columnas).
Ctrl+RePág/AvPág Tabla|Primer registro/ Desplaza el puntero de registro al primer/último registro de la tabla.
Ultimo registro

La Tabla B.5 describe las combinaciones de teclas de la ventana de estructura de tabla.


Tabla B.5 Combinaciones de teclas de la ventana de estructura de tabla
Teclas Comando de menú Descripción
Fin Desplaza el punto de inserción al final del campo actual.
Inicio Desplaza el punto de inserción al principio del campo actual.
Intro Desplaza la selección al registro siguiente.
Esc Cierra la ventana de estructura de tabla.
Tab/Intro Desplaza la selección a la celda siguiente de la definición de campo.
Mayús+Tab Desplaza la selección a la celda anterior de la definición de campo.
¦/Ø Desplaza la selección a la misma posición de la fila anterior/siguiente
de la estructura de tabla. Si la selección está en un cuadro de lista, las
teclas del cursor la desplazan por las distintas opciones de éste.
Ctrl+RePág/AvPág Desplaza la selección a la misma posición de la primera/última fila de
la estructura de tabla.
Ctrl+S Archivo|Guardar Guarda la estructura de tabla actual.
Ctrl+W Archivo|Guardar y Guarda la estructura de tabla actual y cierra la ventana de estructura de
cerrar tabla.
Ctrl+Q Archivo|Abandonar Cancela los cambios efectuados en la estructura de tabla actual y cierra
registro y cerrar la ventana de estructura de tabla.
Ctrl+F4 Archivo|Cerrar Cierra la ventana de estructura de tabla. Si no se han guardado los
cambios, dBASE insta a hacerlo.
Ctrl+P Archivo|Imprimir Imprime la estructura de tabla actual.
F2 Ver|Registros de tabla Cambia a la ventana Registros de tabla correspondiente a la tabla actual.
Ctrl+A Estructura|Añadir Añade un campo al final de la estructura de tabla.
campo
Ctrl+N Estructura|Insertar Inserta un campo sobre el que contiene el punto de inserción.
campo
Ctrl+U Estructura|Borrar Borra el campo que contiene el punto de inserción.
campo seleccionado
Ctrl+G Estructura|Ir a número Desplaza la selección a la primera celda del número de campo
de campo especificado.

Apéndice B, Interface de teclado 415


keys.dwu Page 416 Friday, September 1, 1995 5:02 PM

Combinaciones de teclas para editar consultas


La Tabla B.6 describe las combinaciones de teclas que se emplean en el Diseñador de
consultas.
Tabla B.6 Combinaciones de teclas del Diseñador de consultas
Teclas Comando de menú Descripción
Ctrl+S Archivo|Guardar Guarda la consulta actual.
Ctrl+W Archivo|Guardar y Guarda la consulta actual y cierra la ventana del Diseñador de
cerrar consultas.
Ctrl+Q Archivo|Abandonar Cancela los cambios efectuados en la consulta actual y cierra la ventana
registro y cerrar del Diseñador de consultas.
Ctrl+F4 Archivo|Cerrar Cierra la ventana del Diseñador de consultas. Si no se han guardado los
cambios, dBASE insta a hacerlo.
Ctrl+P Archivo|Imprimir Imprime la consulta actual.
F2 Ver|Resultado de la Ejecuta la consulta actual y muestra el resultado.
consulta
Ctrl+A Consulta|Añadir tabla Abre el cuadro de diálogo Abrir tabla necesario, que permite añadir
tablas a la consulta.
Tab/Mayús+Tab Desplaza la selección al campo siguiente/anterior de la máscara de
consulta.
Ctrl+Inicio/Fin Desplaza la selección al primer/último campo de la máscara de
consulta.
F3/F4 Desplaza la selección a la tabla anterior/siguiente de la máscara de
consulta.
F5 Cambia la marca del campo actual de la máscara de consulta.
Ctrl+F5 Cambia la marca de todos los campos de la máscara de consulta.
F6 Se desplaza cíclicamente por todas las opciones de orden para el campo
actual.

La ventana Resultado de la consulta es en realidad una ventana Registros de tabla que


muestra el resultado de una consulta. Por tanto, las combinaciones de teclas de la
ventana Resultado de la consulta son las mismas que las de la ventana Registros de tabla
(Tabla B.4), con una excepción: Mayús+F2 muestra el Diseñador de consultas en lugar
de la ventana de estructura de tabla. Su comando de menú equivalente es
Ver|Diseñar consulta.

416 Guía del usuario


keys.dwu Page 417 Friday, September 1, 1995 5:02 PM

Combinaciones de teclas para editar fichas


La Tabla B.7 describe las combinaciones de teclas que se emplean en la ventana de ficha
y en el Diseñador de fichas.
Tabla B.7 Combinaciones de teclas del Diseñador de fichas
Teclas Comando de menú Descripción
Ctrl+S Archivo|Guardar Guarda la ficha actual.
Ctrl+W Archivo|Guardar y Guarda la ficha actual y cierra la ventana del Diseñador de fichas.
cerrar
Ctrl+Q Archivo|Abandonar Cancela los cambios efectuados en la ficha actual y cierra la ventana del
registro y cerrar Diseñador de fichas.
Ctrl+F4 Archivo|Cerrar Cierra la ventana del Diseñador de fichas. Si no se han guardado los
cambios, dBASE insta a hacerlo.
Ctrl+P Archivo|Imprimir Imprime la ficha actual.
F2 Ver|Ficha Ejecuta la ficha.
Mayús+F2 Ver|Diseñar ficha Abre el Diseñador de fichas para la ficha actual.

Combinaciones de teclas del Selector de archivos y de la ventana de


catálogo
La Tabla B.8 describe las combinaciones de teclas que se emplean en el Selector de
archivos y en la ventana de catálogo.
Tabla B.8 Combinaciones de teclas del Selector de archivos y de la ventana de catálogo
Teclas Comando de menú Descripción
Inicio/Fin Desplaza la selección al primer/último elemento de la lista de
archivos o del cuadro de iconos de archivo.
RePág/AvPág Desplaza la selección una pantalla arriba o abajo en la lista de
archivos o en el cuadro de iconos de archivo.
Barra espaciadora Muestra el menú rápido para el elemento seleccionado.
F2 Selector|Editar registros Efectúa la acción apropiada según el tipo de archivo
Selector|Ejecutar consulta seleccionado.
Selector|Ejecutar ficha En la ventana de catálogo, el menú es Catálogo en vez de
Selector|Ejecutar informe Selector. Por ejemplo, Catálogo|Editar registros.
Selector|Ejecutar etiquetas
Selector|Ejecutar
Selector|Mostrar imagen
Selector|Ejecutar sonido
Mayús+F2 Selector| Cambia al modo diseño para el tipo de archivo seleccionado.
Diseñar <tipo de archivo>
Mayús+F2 Selector|Nuevo catálogo Cuando el tipo de archivo seleccionado es Catálogos, abre el
cuadro de diálogo Crear catálogo.

Apéndice B, Interface de teclado 417


keys.dwu Page 418 Friday, September 1, 1995 5:02 PM

418 Guía del usuario


dbwini.dwu Page 419 Friday, September 1, 1995 5:02 PM

Apéndice

Parámetros de DBASEWIN.INI
Apéndice C
C
En este apéndice se describen los parámetros de DBASEWIN.INI, el archivo de
inicialización de Visual dBASE. Este archivo almacena muchas de las propiedades de
Visual dBASE y sus componentes, así como los parámetros necesarios para los objetos
del interface de usuario, como las ventanas, paletas y cuadros de diálogo.
DBASEWIN.INI se actualiza constantemente al trabajar con Visual dBASE. Su estado al
salir del programa determina muchos de los parámetros del interface de usuario que
encontrará la próxima vez que inicie Visual dBASE.
Nota La información que se proporciona en este apéndice tiene como finalidad que el usuario
tenga un mayor conocimiento del funcionamiento de Visual dBASE. DBASEWIN.INI es
un archivo de texto ASCII que se puede editar en cualquier editor o procesador de texto.
No obstante, se recomienda no editar DBASEWIN.INI, salvo algunas excepciones que se
detallan en este apéndice.

Apéndice C, Parámetros de DBASEWIN.INI 419


dbwini.dwu Page 420 Friday, September 1, 1995 5:02 PM

Acceso a DBASEWIN.INI
En una instalación típica, DBASEWIN.INI está situado en el directorio de trabajo de
dBASE, que se indica en el cuadro de diálogo Propiedades del elemento de programa de
Windows. (Seleccione el icono de Visual dBASE y escoja Archivo|Propiedades).
Al iniciar Visual dBASE, el programa intenta cargar DBASEWIN.INI desde el directorio
de trabajo. Si no lo encuentra, lo busca en el directorio que contiene el archivo ejecutable
DBASEWIN.EXE. (Normalmente, el archivo .EXE está en el directorio de trabajo, pero
así se cubre la posibilidad de que se encuentre en otra ubicación.) También puede
utilizar la opción -C de la línea de comando (que se describe en la siguiente sección,
junto con el uso de varias copias de DBASEWIN.INI) para especificar una única
ubicación, distinta del directorio de trabajo y del que contiene el archivo ejecutable.
Si Visual dBASE no encuentra DBASEWIN.INI, el programa crea un nuevo archivo .INI
en el mismo directorio del archivo .EXE. Esta versión del archivo no tendrá la
información relativa a Nombre de usuario y Empresa, que se introdujo en un cuadro de
diálogo durante el proceso de instalación, ya que Visual dBASE no puede incluirla.
Para añadir esta información es necesario editar el archivo.

Uso de varias versiones de DBASEWIN.INI


Puede tener varias versiones del archivo .INI, cada una en un directorio, con lo que
podrá cargar versiones de dBASE configuradas de forma distinta. Para acceder a cada
una de estas versiones del archivo .INI, utilice la opción -C de la línea de comando,
como en el ejemplo siguiente.
Supongamos que desea ejecutar Visual dBASE con dos configuraciones distintas, una
que emplee un editor especial para los archivos de programa y otra que abra el
Selector de archivos maximizado. Para ello,
1 Copie DBASEWIN.INI en un directorio creado especialmente a tal efecto
(C:\DBASEWIN\SELECTOR). El archivo original sigue estando en
C:\DBASEWIN\BIN.
2 En el Administrador de programas de Windows, cree un grupo de programas para
cada configuración. Abra y edite el cuadro de diálogo Propiedades del elemento de
programa para cada grupo de programas. En la línea Descripción, introduzca
nombres distintos para las dos configuraciones.

420 Guía del usuario


dbwini.dwu Page 421 Friday, September 1, 1995 5:02 PM

3 Para la configuración que maximiza el Selector, añada -CC:\DBASEWIN\SELECTOR a la vía


de acceso del archivo .EXE, en la Línea de comando del cuadro de diálogo
Propiedades del elemento de programa. Consulte la Figura C.1.
Figura C.1 Opciones de la línea de comando para varios archivos DBASEWIN.INI
c:\visualdb\bin\dbasewin.exe c:\visualdb\bin\dbasewin.exe -cc:\visualdb\navigatr

DBASEWIN.INI está en C:\VISUALDB\BIN. DBASEWIN.INI está en C:\VISUALDB\SELECTOR.

4 Inicie dBASE haciendo doble clic sobre su icono en el grupo de programas.


Configure el interface de usuario como desee y salga de Visual dBASE para guardar
la primera copia de DBASEWIN.INI.
5 Repita la operación anterior para la otra configuración.
Nota También puede crear el segundo archivo .INI haciendo una copia de DBASEWIN.INI y
editándola. No obstante, como ya hemos mencionado, sólo debe hacer esto si conoce los
parámetros que se describen en este apéndice.

Restablecimiento de los parámetros por defecto de DBASEWIN.INI


Quizá descubra que, tras haber editado el archivo o realizado cambios en el interface de
usuario, precisa restablecer las opciones por defecto originales del archivo
DBASEWIN.INI, es decir, aquellas que tenía cuando adquirió el programa.
En tal caso, salga de Visual dBASE y utilice el Administrador de archivos de Windows o
la línea de comandos del DOS para borrar el archivo DBASEWIN.INI.
La próxima vez que inicie Visual dBASE, el programa buscará el archivo
DBASEWIN.INI en el directorio de trabajo y, si es necesario, en el directorio que
contiene DBASEWIN.EXE. Si no lo encuentra, creará un nuevo DBASEWIN.INI.
Como ya hemos mencionado, este nuevo archivo no contendrá la información relativa
a Nombre de usuario y Empresa.

Apéndice C, Parámetros de DBASEWIN.INI 421


dbwini.dwu Page 422 Friday, September 1, 1995 5:02 PM

Estructura de DBASEWIN.INI
DBASEWIN.INI está dividido en secciones delimitadas por corchetes ([ ]), que
identifican el área del programa a la que afectan sus parámetros. El siguiente extracto
(considerablemente editado) proporciona una idea de la estructura de DBASEWIN.INI:
[CommandSettings]
_DBWINHOME=C:\DBASEWIN
DIRECTORY=C:\DBASEWIN\EJEMPLOS
SEPARATOR=.
POINT=,
CURRENCY=Pts
ƒ
[Navigator]
Maximized=0
Minimized=0
Position=0 0 360 347
Open=1
CustomFilesSkeletonList=*.BAT, *.SYS
LargeIconXSpacing=85
LargeIconYSpacing=50
ƒ
[ProgramEditor]
AutoColors=1
AutoIndent=1
WordWrap=0
ƒ
[OnOffCommandSettings]
CURRENCY=LEFT
CENTURY=OFF
LOCK=ON
EXCLUSIVE=OFF
AUTOSAVE=OFF
DELETED=ON
EXACT=OFF

422 Guía del usuario


dbwini.dwu Page 423 Friday, September 1, 1995 5:02 PM

Ventanas MDI y no MDI


En el interface de usuario de Visual dBASE hay dos tipos de ventanas: MDI (Interface de
documentos múltiples) y no MDI.
Las ventanas MDI se encuentran en una relación de subordinación con respecto a otras
ventanas o a la región circundante del interface. Por ejemplo, el Selector es una ventana
MDI, que no puede salir de la región que delimitan la barra rápida por arriba, la barra
de estado por abajo y los bordes de la ventana de la aplicación por los laterales.
Las ventanas no MDI no están limitadas por otras y pueden arrastrarse a cualquier parte
del escritorio de Windows; es como si flotaran sobre la ventana de la aplicación.
Nota En la terminología de Windows, un cuadro de diálogo también es una ventana.
Todos los cuadros de diálogo de Visual dBASE son ventanas no MDI.

Coordenadas de ventana
Algunos parámetros del archivo .INI proporcionan las coordenadas de las ventanas.
Los valores, que aparecen en orden X1 Y1 X2 Y2, representan las posiciones X e Y de los
vértices superior izquierdo e inferior derecho de la ventana, como muestra la Figura C.2.
Los cuadros de diálogo se sitúan con relación al vértice superior izquierdo de la pantalla
(0,0 en la figura de la izquierda); las ventanas MDI se sitúan con relación al vértice
superior izquierdo del Escritorio de Visual dBASE (0,0 en la figura de la derecha).
Figura C.2 Coordenadas de ventana

0,0 Y1
0,0 Y1 Y2

Borde de la
X1 pantalla X1< Y2

Escritorio de dBASE
X2

X2

Ventana no MDI Ventana MDI

Si edita las coordenadas de una ventana e introduce valores que no se ajustan a su


tamaño correcto, Visual dBASE no las tendrá en cuenta y mostrará la ventana en una
posición predeterminada, con relación a la ventana de la aplicación. Al salir de la
ventana pulsando Aceptar, se escriben las coordenadas correctas en el archivo
DBASEWIN.INI.

Apéndice C, Parámetros de DBASEWIN.INI 423


dbwini.dwu Page 424 Friday, September 1, 1995 5:02 PM

Parámetros de DBASEWIN.INI
El resto de este apéndice describe los parámetros de DBASEWIN.INI sección por
sección.
Nota Muchos parámetros no se escriben en el archivo DBASEWIN.INI hasta que se realiza
una acción en el interface de usuario o se ejecuta un comando en el lenguaje.
Por ejemplo, los parámetros de las secciones [CommandSettings] y
[OnOffCommandSettings] no aparecen en DBASEWIN.INI hasta que se pulsa Aceptar
en el cuadro de diálogo Propiedades del escritorio.

[CommandWindow]
Esta sección contiene los parámetros de la ventana de comandos que se emplean al
iniciar Visual dBASE.
Tabla C.1 Parámetros de la ventana de comandos
Parámetro Descripción
Maximized Maximización de la ventana de comandos. 1 = maximizada; 0 = no maximizada.
Minimized Minimización de la ventana de comandos. 1 = minimizada; 0 = no minimizada. Si los valores
de Maximized y Minimized son 0, la ventana de comandos aparece según especifique el
parámetro Position.
Position Coordenadas X1 Y1 X2 Y2 de la ventana de comandos respecto al escritorio de Visual dBASE.
Open Estado de la ventana de comandos. 1 = abierta; 0 = cerrada.
PaneRatio Porcentaje que indica el tamaño relativo de los paneles de entrada y de resultados. Cuanto
menor sea el valor, menor será el panel de entrada. Un valor de 50 hace que ambos paneles
sean iguales.
PanePosition Posición del panel de entrada con respecto al de resultados (Propiedades|Ventana de
comandos).
0 = Superior
1 = Inferior
2 = Izquierda
3 = Derecha
InputPaneFont Fuente utilizada en el panel de entrada.
ResultsPaneFont Fuente utilizada en el panel de resultados.

[Navigator]
Esta sección contiene los parámetros del Selector de archivos que se utilizan al iniciar
Visual dBASE.
Tabla C.2 Parámetros del Selector de archivos
Parámetro Descripción
Maximized Maximización del Selector. 1 = maximizado; 0 = no maximizado.
Minimized Minimización del Selector. 1 = minimizado; 0 = no minimizado. Si los valores de Maximized
y Minimized son 0, el Selector aparece según especifique el parámetro Position.
Position Coordenadas X1 Y1 X2 Y2 del Selector respecto al escritorio de Visual dBASE.
Open Estado del Selector. 1 = abierto; 0 = cerrado.

424 Guía del usuario


dbwini.dwu Page 425 Friday, September 1, 1995 5:02 PM

Tabla C.2 Parámetros del Selector de archivos (continuación)


Parámetro Descripción
CustomFilesSkeletonList Lista de máscaras de archivo actuales para el tipo de archivo Personalizado. Las máscaras de
archivo utilizan caracteres comodín estándar del DOS y pueden ir separadas por espacios,
comas o puntos y comas.
TablesFromDatabase Estado del botón de radio Tablas de la base de datos (cuando IDAPI.CFG contiene alias).
1 = seleccionado; 0 = no seleccionado.
SearchPath Estado de la casilla de verificación Vía de acceso adicional del cuadro de diálogo
Propiedades del Selector. 1 = marcada (aparece el cuadro de texto Vía de acceso en el
Selector); 0 = no marcada. La vía de acceso en sí se almacena en la sección
[CommandSettings] (consulte la Tabla C.4).
LargeIconXSpacing Espaciado horizontal entre iconos cuando se selecciona Ver|Iconos grandes.
LargeIconYSpacing Espaciado vertical entre iconos cuando se selecciona Ver|Iconos grandes.
SmallIconXSpacing Espaciado horizontal entre iconos cuando se selecciona Ver|Iconos pequeños.
SmallIconYSpacing Espaciado vertical entre iconos cuando se selecciona Ver|Iconos pequeños.
DetailsIconYSpacing Espaciado vertical entre líneas cuando se selecciona Ver|Detalles.
FileSort Criterio para ordenar los iconos en el Selector (Ver|Ordenar).
0 = Nombre
1 = Tipo y extensión
2 = Tamaño
3 = Fecha y hora
IconType Tipo de iconos que aparecen en el Selector (menú Ver).
0 = Iconos grandes
1 = Iconos pequeños
2 = Detalles
ShowFileExtensions Extensiones de archivo en el Selector. .T.=aparecen extensiones de archivo; .F.= no aparecen
extensiones.
ShowBackupFiles Archivos que empiezan por “Copia de” en Windows 95. .T.=aparecen archivos; .F.=no
aparecen archivos.

[Catalog]
Esta sección contiene los parámetros de la ventana de catálogo.
Tabla C.3 Parámetros de la ventana de catálogo
Parámetro Descripción
Associations Estado de Ver|Asociaciones. 1 = activado; 0 = desactivado.
LargeIconXSpacing Espaciado horizontal entre iconos cuando se selecciona Ver|Iconos grandes.
LargeIconYSpacing Espaciado vertical entre iconos cuando se selecciona Ver|Iconos grandes.
SmallIconXSpacing Espaciado horizontal entre iconos cuando se selecciona Ver|Iconos pequeños.
SmallIconYSpacing Espaciado vertical entre iconos cuando se selecciona Ver|Iconos pequeños.
DetailsIconYSpacing Espaciado vertical entre líneas cuando se selecciona Ver|Detalles.

Apéndice C, Parámetros de DBASEWIN.INI 425


dbwini.dwu Page 426 Friday, September 1, 1995 5:02 PM

Tabla C.3 Parámetros de la ventana de catálogo (continuación)


Parámetro Descripción
FileSort Criterio para ordenar los iconos en la ventana de catálogo (Ver|Ordenar).
0 = Nombre
1 = Tipo y extensión
2 = Tamaño
3 = Fecha y hora
IconType Tipo de iconos que aparecen en la ventana de catálogo (menú Ver).
0 = Iconos grandes
1 = Iconos pequeños
2 = Detalles

[CommandSettings]
Esta sección contiene los parámetros del cuadro de diálogo Propiedades del escritorio
(Propiedades|Escritorio). La mayoría de estos parámetros también se pueden definir
con el lenguaje, utilizando el nombre del parámetro como argumento del comando SET,
como en SET SEPARATOR y SET POINT. Las excepciones se indican en la tabla.
Consulte la Referencia del lenguaje o la sección correspondiente de la Ayuda para obtener
una descripción más detallada de los comandos SET. En algunos casos (que se indican
en la columna Descripción), los parámetros de DBASEWIN.INI anulan a otros por
defecto del Panel de control de Windows.
En esta sección se incluyen también algunos parámetros disponibles sólo mediante el
lenguaje dBASE.
En algunos casos hay un parámetro relacionado en la sección [OnOffCommandSettings]
de DBASEWIN.INI (consulte la Tabla C.4). Por ejemplo, ambas secciones tienen un
parámetro DELIMITERS. El de [OnOffCommandSettings] representa el estado
activado/desactivado del comando SET DELIMITERS; es decir, si los delimitadores
están activados o desactivados. El de [CommandSettings] representa el valor
almacenado en el comando SET DELIMITERS TO, esto es, los delimitadores reales
utilizados, si se hallan activados.
El cuadro de diálogo Propiedades del escritorio se divide en seis páginas marcadas por
sendas solapas con las etiquetas País, Tabla, Entrada de datos, Archivos, Aplicación y
Programación. La Tabla C.4 indica la página que contiene cada parámetro.
Tabla C.4 Parámetros de comandos
Parámetro Página Descripción
_dbwinhome Vía de acceso al directorio inicial de Visual dBASE. En una instalación típica, la
vía de acceso es C:\DBASEWIN. El directorio personal contiene los
subdirectorios en los que se encuentran los archivos .EXE y .DLL de la aplicación
(BIN), archivos “include” .H (INCLUDE) y archivos de ejemplo (EJEMPLOS).
directory Vía de acceso del Directorio actual que aparece en el Selector.
PROCEDURE Especifica el archivo de procedimiento de dBASE.
SYSPROC Especifica el archivo de procedimiento del sistema de dBASE.
SEPARATOR País Separador de miles, por lo general una coma en Estados Unidos
(por ejemplo 2,457,203) y un punto en Europa. El parámetro SEPARATOR
de DBASEWIN.INI anula el de la opción Internacional del Panel de control de
Windows.

426 Guía del usuario


dbwini.dwu Page 427 Friday, September 1, 1995 5:02 PM

Tabla C.4 Parámetros de comandos (continuación)


Parámetro Página Descripción
POINT País Separador decimal, por lo general un punto en Estados Unidos y una coma en
Europa. Este parámetro anula el de la opción Internacional del Panel de control
de Windows.
CURRENCY País Símbolo monetario. Este parámetro anula al de la opción Internacional del
Panel de control de Windows. Utilice comillas si desea que el símbolo monetario
lleve espacios delante o detrás: “ DM”.
MARK País Carácter separador de Día Mes Año. El valor por defecto es una
barra inclinada (/).
DATE País Formato de fecha. El valor por defecto es DMA, que se representa DD/MM/AA.
REFRESH Tabla Frecuencia (en segundos) de actualización de los datos en las tablas compartidas.
El valor por defecto es 0 (cero), con lo que no se actualizan los datos.
REPROCESS Tabla Número de veces que Visual dBASE intenta bloquear un archivo o registro tras el
primer intento. El valor por defecto es 0, con lo que no se vuelve a intentar el
bloqueo.
DBTYPE Tabla Tipo de tabla por defecto, dBASE o Paradox.
IBLOCK Tabla Tamaño de bloque por defecto de los nuevos archivos de índice .MDX.
MBLOCK Tabla Tamaño de bloque por defecto de los archivos de campos memo .DBT.
TYPEAHEAD Entrada de Tamaño de la memoria intermedia del teclado.
datos
DELIMITERS Entrada de Caracteres que marcan el principio y el final de los campos de entrada de datos.
datos Los caracteres delimitadores sólo se utilizan si se activa DELIMITERS
(consulte la Tabla C.4).
BELL Entrada de Frecuencia (en ciclos por segundo) y duración (en clics—1/18 segundos) de la
datos señal sonora del ordenador. Los dos valores van separados por una coma.
Este parámetro sólo se utiliza si se ha activado BELL (consulte la Tabla C.4).
PATH Archivos Vía de acceso de los archivos que no están en el directorio actual. Puede haber
varias especificaciones separadas por comas, espacios o puntos y comas. Si se
marca Vía de acceso adicional en el cuadro de diálogo Propiedades del Selector,
aparece la especificación PATH en el cuadro de texto Vía de acceso del Selector.
DIRECTORY Archivos Directorio de trabajo actual. Aparece en el cuadro de texto Directorio actual del
Selector.
WP Archivos Vía de acceso completa del editor de campos memo. Si WP no tiene ningún valor
al iniciar Visual dBASE, se utiliza el editor de textos interno (el editor por defecto)
para los campos memo.
EDITOR Archivos Vía de acceso completa de los editores de archivos de texto y de programa.
Si EDITOR no tiene ningún valor al iniciar Visual dBASE, se utiliza el editor de
textos interno para estos archivos.
DECIMALS Programación Número de cifras decimales que aparecen en pantalla (no afecta al número
almacenado).
PRECISION Programación Número de dígitos utilizados en operaciones matemáticas que utilicen valores
numéricos (no de coma flotante).
MARGIN Programación Definición del margen izquierdo de la impresora. El valor por defecto es 0.
LDRIVER Nombre del controlador de idioma interno. Consulte “Configuración del
Database Engine de Borland” en la página 439.
Este valor debe introducirlo el usuario, ya que Visual dBASE no lo proporciona.
El valor sobrescribe los parámetros de la Utilidad de configuración BDE. No debe
establecerse a menos que escriba una aplicación que necesite un controlador
específico y no confie en los parámetros del sistema por alguna razón.

Apéndice C, Parámetros de DBASEWIN.INI 427


dbwini.dwu Page 428 Friday, September 1, 1995 5:02 PM

Tabla C.4 Parámetros de comandos (continuación)


Parámetro Página Descripción
LANGUAGE Número hexadecimal que indica el archivo origen que debe abrirse. Si no se
introduce ningún valor, dBASE utiliza el controlador de idioma que encuentre
primero. Puede que desee establecer este valor en un archivo .INI de ejecución
que redistribuya.
DBSYSTEM Especifica la vía de acceso del archivo DBSYSTEM.DB de seguridad. Por defecto,
está situado en el directorio del sistema de DBASEWIN.EXE; en una aplicación
redistribuida, está en el directorio de la aplicación. Esta tabla contiene
información de seguridad que permite a los usuarios cifrar y descifrar tablas.
ERROR Texto que aparece antes y después de los mensajes de error.
BLOCKSIZE Tamaño de los bloques utilizados en los archivos memo y .MDX.
DEVICE Envía el resultado de los comandos @...SAY...GET a una ventana, a la impresora o
a un archivo.
ODOMETER Define la frecuencia de actualización del contador de registros de la barra de
estado.
COLOR Define el color del texto o los cuadros del panel de resultados de la ventana de
COLOR OF comandos o una ventana de dBASE IV. Para obtener una descripción completa,
NORMAL consulte la Ayuda en línea.
COLOR OF
HIGHLIGHT
COLOR OF
MESSAGES
COLOR OF
TITLES
COLOR OF
BOX
COLOR OF
FIELDS
COLOR OF
INFORMATION
COMMAND Carga un programa, catálogo, tabla u otro archivo cada vez que se inicia
Visual dBASE. Consulte la sección relativa a la carga de archivos al arrancar en el
Capítulo 1 de la Guía del usuario.

[OnOffCommandSettings]
Esta sección contiene los parámetros del cuadro de diálogo Propiedades del escritorio
(Propiedades|Escritorio), la mayoría de ellos del tipo On/Off (activado/desactivado).
Consulte la Tabla C.4 para ver los demás parámetros. Al igual que ocurre con la sección
[CommandSettings] de DBASEWIN.INI, la mayoría de estas opciones son también
argumentos del comando SET. Las excepciones se indican en la tabla. En la columna
Valores de la Tabla C.4 aparece en mayúsculas el valor por defecto. En algunos casos
(que se indican en la columna Descripción), el parámetro de DBASEWIN.INI anula al
establecido por defecto en el Panel de control de Windows.

428 Guía del usuario


dbwini.dwu Page 429 Friday, September 1, 1995 5:02 PM

También se incluyen en esta sección algunos parámetros disponibles sólo mediante el


lenguaje dBASE.
Tabla C.5 Parámetros de comandos On/off
Parámetro Página Valores Descripción
CURRENCY País right | LEFT Coloca los símbolos monetarios a la izquierda o a la derecha de los
valores numéricos. Anula el parámetro por defecto de la opción
Internacional del Panel de Control de Windows.
CENTURY País OFF|on Determina la representación del siglo en una fecha. Off = formato
de dos cifras (94); on = formato de cuatro cifras (1994). Anula el
parámetro por defecto de la opción Internacional del Panel de
Control de Windows.
LOCK Tabla ON|off Determina si otros usuarios pueden modificar una tabla
compartida mientras se visualiza mediante comandos de sólo
lectura.
EXCLUSIVE Tabla OFF|on Determina si se abren en modo exclusivo o compartido las tablas y
sus archivos de índice y memo asociados.
AUTOSAVE Tabla OFF|on Determina si se guardan los datos en disco cada vez que se
modifica o añade un registro.
DELETED Tabla OFF|on Determina si se procesan los registros marcados para borrado.
EXACT Tabla OFF|on Define las normas que regulan las coincidencias en las
comparaciones de cadenas de caracteres.
NEAR Tabla OFF|on Determina la posición del puntero de registro (al final del archivo
o junto al valor más parecido) cuando FIND, SEEK o SEEK() no
encuentran una coincidencia exacta.
LDCHECK Tabla ON|off Activa o desactiva la comprobación del controlador de idioma.
CONFIRM Entrada de OFF|on Controla el paso del cursor de un campo a otro. OFF requiere la
datos tecla Intro, las teclas del cursor o un clic de ratón; ON desplaza el
cursor automáticamente cuando el campo actual está lleno.
CUAENTER Entrada de ON|off Controla el comportamiento de la tecla Intro en las fichas. Con ON
datos se comporta como en Windows; con OFF se comporta como en
dBASE para DOS.
ESCAPE Entrada de ON|off Determina si se interrumpe la ejecución del programa al pulsar la
datos tecla Esc.
DELIMITERS Entrada de OFF|on Determina si los caracteres delimitadores marcan el principio y el
datos final de los campos de entrada de datos. Consulte DELIMITERS
en la Tabla C.4.
BELL Entrada de ON|off Activa y desactiva las señales sonoras del ordenador. Consulte
datos BELL en la Tabla C.4.
FULLPATH Archivos OFF|on Determina si las funciones que devuelven un nombre de archivo
deben indicar también la vía de acceso completa.
TITLE Archivos ON|off Activa o desactiva el indicativo de título del archivo de catálogo.
SPACE Programación ON|off Determina si dBASE introduce un espacio entre las expresiones
separadas por comas que muestra o imprime el comando ? o ??.
TALK Programación ON|off Determina si aparecen en pantalla los mensajes del sistema. Con
On aparecen en el panel de resultados de la ventana de comandos
o en la barra de estado.
HEADINGS Programación ON|off Determina si aparecen los nombres de campo en los resultados de
AVERAGE, DISPLAY, LIST y SUM.
COVERAGE Programación OFF|on Determina si Visual dBASE compila los programas con
información de cobertura.

Apéndice C, Parámetros de DBASEWIN.INI 429


dbwini.dwu Page 430 Friday, September 1, 1995 5:02 PM

Tabla C.5 Parámetros de comandos On/off (continuación)


Parámetro Página Valores Descripción
DEVELOPMENT Programación ON|off Determina si se vuelven a compilar automáticamente los
programas o archivos modificados al abrirlos para ejecutarlos.
DESIGN Programación ON|off Determina si se pueden ejecutar los comandos CREATE y
MODIFY.
SAFETY Programación ON|off Determina si debe confirmarse la sobreescritura de archivos o el
vaciado de tablas.
ALTERNATE OFF|on Determina si se debe crear un archivo que registre los comandos y
resultados de dBASE.
PRINT OFF|on Determina si los resultados se envían sólo a la ventana de
comandos (Off) o también a la impresora o archivo especificado
(On).
CATALOG OFF|on Determina si se añaden automáticamente a un catálogo los
archivos que se abran.
CURSOR ON|off Determina si aparece el cursor en pantalla.
INTENSITY ON|off Determina si las variables y los datos de campos se resaltan en
colores. Esta función permite la compatibilidad con dBASE IV.
Para obtener más información, consulte la Ayuda en línea.
UNIQUE OFF|on Determina si los nuevos índices incluyen un solo registro o todos
los que tengan el mismo valor clave.
LDCONVERT ON|off Especifica si se convierte entre juegos de caracteres OEM y ANSI.
Consulte la Guía del programador para obtener más información.

[Desktop]
Esta sección contiene otros parámetros que se utilizan en el cuadro de diálogo
Propiedades del escritorio o en el interface de usuario.
Tabla C.6 Parámetros del escritorio
Parámetro Página Descripción
EditRecordsMode Archivos Formato de edición actual de los registros de las tablas.
0 = Browse
1 = Ficha
2 = En columnas
AddRecordsMode Archivos Formato actual para añadir registros de tablas. 0 = Ficha; 1 = En columnas.
OlderFileTypes Archivos Determina si se incluyen los tipos de archivos de dBASE IV y dBASE III PLUS
en el Selector, en la ventana de catálogo y en los cuadros de diálogo Abrir
archivo y Guardar como. 1 = se incluyen; 0 = no se incluyen. Para obtener una
lista de las extensiones de archivo específicas, consulte “Tipos de archivo de
versiones anteriores” en la Ayuda en línea.
Sessions Archivos Estado de las sesiones. 1 = activadas; 0 = desactivadas.
StatusBarMessageFont Aplicación Fuente empleada en el área de mensajes de la barra de estado.
StatusBar Aplicación Presentación de la barra de estado. 1 = se muestra; 0 = no se muestra.
CurrentTab Página actual del cuadro de diálogo Propiedades del escritorio.
0 = País
1 = Tabla
2 = Entrada de datos
3 = Archivos
4 = Aplicación
5 = Programación

430 Guía del usuario


dbwini.dwu Page 431 Friday, September 1, 1995 5:02 PM

Tabla C.6 Parámetros del escritorio (continuación)


Parámetro Página Descripción
SpeedBarStyle Aplicación Tipo de barra rápida y su ubicación.
0 = Horizontal Superior
1 = Horizontal Inferior
2 = Vertical Derecha
3 = Vertical Izquierda
4 = Flotante horizontal
5 = Flotante vertical
SpeedBarPosition Posición XY del vértice superior izquierdo de la barra rápida.
SplashScreen N/D Determina si la pantalla de presentación presenta.
0 = Aparece la pantalla de presentación; cualquier otro valor = No aparece la
pantalla de presentación.
FormExpert N/D Determina lo que ocurre al crear una ficha mediante la opción Archivo|
Nuevo|Ficha o haciendo doble clic en una ficha (Sin título). 1 = Aparece el
Experto de fichas; 0 = No aparece el Experto de fichas.
LabelExpert N/D Determina si el Experto de etiquetas o el Diseñador de etiquetas se abren por
defecto cuando elije Archivo | Nuevo | Etiqueta o cuando hace clic en
Etiqueta sin título en el Selector.
0 = Aparece el Diseñador; 1 = Aparece el Experto
ReportExpert N/D Determina si el Experto de informes o el Diseñador de informes se abren por
defecto cuando elije Archivo | Nuevo | Informe cuando hace clic en Etiqueta
sin título en el Selector.
0 = Aparece el Diseñador; 1 = Aparece el Experto
TableExpert N/D Determina si el Experto de tabals o el Diseñador de tablas se abren por defecto
cuando elije Archivo | Nuevo | Tabla cuando hace clic en Etiqueta sin título
en el Selector.
0 = Aparece el Diseñador; 1 = Aparece el Experto

[Dialogs]
Esta sección del archivo .INI contiene los parámetros X1 Y1 X2 Y2 de los cuadros de
diálogo que aparecen en la Tabla C.7.
Tabla C.7 Parámetros de los cuadros de diálogo
Cuadro de
Parámetro diálogo Comando
FindText Buscar texto Edición|Buscar|Buscar texto (ventana de comandos y editores)
ReplaceText Sustituir texto Edición|Buscar|Sustituir texto (ventana de comandos y editores)
FindRecords Buscar registros Tabla|Buscar registros (ventana Registros de tabla y ventana de
comandos); Ficha|Buscar registros (ventana Ficha)
ReplaceRecords Sustituir registros Tabla|Sustituir registros (ventana Registros de tabla y ventana de
comandos); Ficha|Buscar registros (ventana Ficha)
More Más Aparece cuando se envían al panel de resultados de la ventana de
comandos más líneas de las que el panel puede mostrar.

Apéndice C, Parámetros de DBASEWIN.INI 431


dbwini.dwu Page 432 Friday, September 1, 1995 5:02 PM

[Fonts]
Esta sección determina los valores utilizados en la opción STYLE de los comandos ? y ??.
Las fuentes que especifique para ? y ?? deben existir en el sistema Windows. Consulte la
descripción de estos comandos en la Referencia del lenguaje o en la sección
correspondiente de la Ayuda.
Tabla C.8 Parámetros de fuentes
Parámetros Descripción
1=...n= Lista numerada de fuentes utilizadas en la opción STYLE de los comandos ? y ??. No puede cambiar
estos parámetros en el Interface de usuario, debe editarlos en DBASEWIN.INI.
En esta sección se utiliza la siguiente sintaxis:
n=Fuente, Puntos, Atributos, Familia
Donde:
n = Número de fuente. Puede ser cualquier entero comprendido entre 1 y 32766.
Fuente = Nombre de la fuente
Puntos = Tamaño de punto de la fuente
Atributos = Atributos de la fuente, especificados como B, I, U, R o L.
Familia = Familia de la fuente
La siguiente sintaxis también está permitida por razones de compatibilidad con dBASE IV:
n = Fuente, Puntos, Familia

[Install]
Esta sección contiene dos valores, Username y Company, que se introducen durante la
instalación de Visual dBASE. El nombre del usuario y la empresa pueden verse en la
pantalla inicial de Visual dBASE.

[FormDesigner]
Esta sección contiene los parámetros del Diseñador de fichas. (Los que llevan la marca 
se modifican en el cuadro de diálogo Propiedades del Diseñador de fichas.)
Tabla C.9 Parámetros del Diseñador de fichas
Parámetro Descripción
♦ ShowGrid Estado de la cuadrícula del Diseñador de fichas. 1 = visible; 0 = no visible.
ObjectProperties Determina lo que ocurre con la ventana Propiedades del objeto al activar la ventana del
Diseñador de fichas. 1 = aparece; 0 = no aparece.
ProcedureEditor Determina lo que ocurre con el Editor de procedimientos al activar la ventana del
Diseñador de fichas. 1 = aparece; 0 = no aparece.
ControlsWindow Determina lo que ocurre con la paleta de controles al activar la ventana del Diseñador de
fichas. 1 = aparece; 0 = no aparece.
♦ SnapTo Estado de la propiedad Ajustar a cuadrícula del Diseñador de fichas. 1 = activada;
0 = desactivada.
♦ GridOneCharacter Determina si la cuadrícula del Diseñador de fichas emplea pixels o unidades de caracteres.
1 = unidades de caracteres; 0 = pixels. Para seleccionar unidades de caracteres en el cuadro
de diálogo Propiedades del Diseñador de fichas, escoja el botón de radio Cuadrícula base.
♦ GridPixelUnits Valores de los pixels X,Y de la cuadrícula. Los botones de radio Cuadrícula fina y
Cuadrícula media tienen valores que dependen de la resolución de la pantalla. El botón de
radio Personalizado activa los botones de incremento Cuadrícula X y Cuadrícula Y.
♦ MouseRevertToPointer Determina si el cursor del ratón vuelve a convertirse en puntero al añadir un control a la
ficha o si, por el contrario, se mantiene seleccionado el control para poder añadirlo varias
veces. 1 = vuelve a puntero; 0 = sigue seleccionado el control.

432 Guía del usuario


dbwini.dwu Page 433 Friday, September 1, 1995 5:02 PM

Tabla C.9 Parámetros del Diseñador de fichas (continuación)


Parámetro Descripción
♦ ShowRuler Estado de la regla del Diseñador de fichas. 1 = visible; 0 = no visible.
BaseFormClassFileName Registra el nombre del archivo especificado en el cuadro de diálogo Establecer clase de
ficha base.
BaseFormClassName Registra el nombre de la clase especificada en el cuadro de diálogo Establecer clase de ficha
base.
LastCC El último archivo en el que se guardó un control personalizado; utilizado como valor por
defecto para guardar controles personalizados nuevos.
LastCustomForm La última ficha en la que se guardó un control personalizado; utilizada como valor por
defecto para guardar fichas personalizadas nuevas.
ControlTypeForNumericF El último tipo de control utilizado para campos numéricos en la paleta de campos del
ields Diseñador de fichas; 1=campo entrada; 0=otro tipo de campo.
ControlTypeForDateFields El último tipo de control utilizado para campos de fecha en la paleta de campos del
Diseñador de fichas; 1=campo entrada; 0=otro tipo de campo.
ControlTypeForLogicalFie El último tipo de control utilizado para campos lógicos en la paleta de campos del
lds Diseñador de fichas; 1=campo entrada; 0=otro tipo de campo
ControlTypeForMemoFiel El último tipo de control utilizado para campos memo en la paleta de campos del
ds Diseñador de fichas; 1=campo entrada; 0=otro tipo de campo
ControlTypeForBinaryFiel El último tipo de control utilizado para campos binarios en la paleta de campos del
ds Diseñador de fichas; 1=campo entrada; 0=otro tipo de campo
ControlTypeForOLEFields El último tipo de control utilizado para campos OLE en la paleta de campos del
Diseñador de fichas; 1=campo entrada; 0=otro tipo de campo
SchemeName El nombre del último formato de color utilizado en el Diseñador de fichas.
SchemeColorTitleForegro El color del elemento especificado en el último formato de color utilizado en el
und Diseñador de fichas.
SchemeColorNonEditFore El color del elemento especificado en el último formato de color utilizado en el
ground Diseñador de fichas.
SchemeColorEditForegrou El color del elemento especificado en el último formato de color utilizado en el
nd Diseñador de fichas.
SchemeColorEditBackgro El color del elemento especificado en el último formato de color utilizado en el
und Diseñador de fichas.
SchemeColorPushForegro El color del elemento especificado en el último formato de color utilizado en el
und Diseñador de fichas.
SchemeColorPushBackgro El color del elemento especificado en el último formato de color utilizado en el
und Diseñador de fichas.
SchemeColorShapeForegr El color del elemento especificado en el último formato de color utilizado en el
ound Diseñador de fichas.
SchemeColorShapeBackgr El color del elemento especificado en el último formato de color utilizado en el
ound Diseñador de fichas.
SchemeColorFormBackgr El color del elemento especificado en el último formato de color utilizado en el
ound Diseñador de fichas.
SchemeFontTitle La fuente del elemento especificado en el último formato de color utilizado en el
Diseñador de fichas
SchemeFontNonEdit La fuente del elemento especificado en el último formato de color utilizado en el
Diseñador de fichas
SchemeFontEdit La fuente del elemento especificado en el último formato de color utilizado en el
Diseñador de fichas
SchemeFontPush La fuente del elemento especificado en el último formato de color utilizado en el
Diseñador de fichas

Apéndice C, Parámetros de DBASEWIN.INI 433


dbwini.dwu Page 434 Friday, September 1, 1995 5:02 PM

[ControlsWindow]
Esta sección contiene los parámetros de la paleta de controles del Diseñador de fichas.
Tabla C.10 Parámetros de la paleta de controles
Parámetro Descripción
Position Coordenadas X1 Y1 X2 Y2 de la paleta de controles respecto al escritorio de Visual dBASE.
Minimized Determina si la paleta de controles está minimizada. 1 = minimizada; 0 = no minimizada.
DrawMode Parámetro Modo de paleta de controles del cuadro de diálogo Propiedades del Diseñador de fichas.
0 = Mapa de bits y texto
1 = Sólo mapa de bits
2 = Sólo texto
Control Número que identifica el control seleccionado en la paleta de controles. 0 = Puntero, 1 = Texto,
2 = Campo de entrada, etcétera. Este parámetro sólo se utiliza cuando MouseRevertToPointer = 0, ya
que en caso contrario, se vuelve siempre al Puntero cada vez que se añade un control a la ficha.
CurrentTab Página actual de la paleta de controles. 0 = Estándar; 1 = Personalizado.

[ObjectProperties]
Esta sección contiene los parámetros de la ventana Propiedades del objeto.
Tabla C.11 Parámetros de Propiedades del objeto
Parámetro Descripción
Position Coordenadas X1 Y1 X2 Y2 de la ventana Propiedades del objeto respecto al escritorio de
Visual dBASE.
Minimized Determina si la ventana Propiedades del objeto está minimizada. 1 = minimizada; 0 = no
minimizada.
ExpandedCategories Código interno que controla las categorías expandidas cuando Outline=1.
Outline Determina si las propiedades de la ventana aparecen en forma de esquema (con grupos de
propiedades principales que se pueden expandir para mostrar propiedades secundarias) o
como una lista de un solo nivel. 1 = esquema; 0 = lista.
CenterLine Distancia en pixels entre la línea divisoria central del Inspector de objetos y el borde izquierdo
de la ventana.
CurrentTab Página actual. 0 = Propiedades; 1 = Sucesos; 2 = Métodos.

[ProcedureEditor]
Esta sección contiene los parámetros del cuadro de diálogo Propiedades del editor para
el Editor de procedimientos.
Tabla C.12 Parámetros del Editor de procedimientos
Parámetro Descripción
Position Coordenadas X1 Y1 X2 Y2 del Editor de procedimientos respecto al escritorio de Visual dBASE.
Font Fuente actual y sus atributos.
AutoColors Estado de la propiedad Colores automáticos. 1 = activada; 0 = desactivada.
AutoIndent Estado de la propiedad Sangrado automático. 1 = activada; 0 = desactivada.
WordWrap Estado de la propiedad Justificación. 1 = activada; 0 = desactivada.
IndentSpacing Número de caracteres introducidos con Tab cuando está activado el sangrado automático.
RightMargin Posición del carácter del margen derecho. 0 = anchura actual de la ventana del editor.

434 Guía del usuario


dbwini.dwu Page 435 Friday, September 1, 1995 5:02 PM

[ProgramEditor]
Esta sección contiene los parámetros del cuadro de diálogo Propiedades del editor para
el editor de texto interno al activarlo de alguna de estas formas: MODIFY COMMAND,
Archivo|Nuevo|Programa o abriendo un archivo de programa existente. Las opciones
son las mismas que las del Editor de procedimientos (consulte la Tabla C.12).

[TextEditor]
Esta sección contiene los parámetros del cuadro de diálogo Propiedades del editor para
el editor de texto interno al activarlo mediante MODIFY FILE o abriendo un archivo de
texto existente. Las opciones son las mismas que las del Editor de procedimientos
(consulte la Tabla C.12).

[MemoEditor]
Esta sección contiene los parámetros del cuadro de diálogo Propiedades del editor para
el editor de texto interno al activarlo abriendo un campo memo. Las opciones son las
mismas que las del Editor de procedimientos (consulte la Tabla C.12).

[QueryDesigner]
El único parámetro de esta sección (ComplexIndexes) determina si se muestran los
índices complejos. Si el valor es 1, se muestran; si es 0, no se muestran. Cuando el
Diseñador de consultas está activado, puede definir este parámetro escogiendo
Propiedades|Diseñador de consultas.

[MRU_Files]
Esta sección determina la forma en que aparece el historial de archivos en el menú
Archivo.
El primer parámetro, Order, consiste en una serie de letras, cada una de las cuales
precede a un nombre de la lista. El archivo cuya letra ocupa el primer lugar en la
secuencia Order, aparece el primero en el menú Archivo. El último parámetro,
MaximumSize, determina el número de archivos que componen el historial. El valor
por defecto es 5, pero puede definir cualquier otro entre 3 y 7. A continuación
exponemos un ejemplo:
{MRU_Files]
Order=cbeda
a=c:\dbasewin\bin\dbasewin.ini,12,1
b=c:\ventas\enero.dbf,8,1
c=h:\regiones\este\valencia.wfm,9,1
d=h:\regiones\oeste\zamora.wfm,9,0
e=c:\personal\direcc.dbf,8,0
MaximumSize=5

Apéndice C, Parámetros de DBASEWIN.INI 435


dbwini.dwu Page 436 Friday, September 1, 1995 5:02 PM

En este caso, el menú Archivo puede contener un historial de hasta cinco archivos, que
serían los siguientes (en este orden):
VALENCIA.WFM
ENERO.DBF
DIRECC.DBF
ZAMORA.WFM
DBASEWIN.INI
Cada especificación de vía de acceso va seguida por dos números:
• El primero es un código interno que designa el área de Visual dBASE en la que se usó
el archivo por última vez.
• El segundo identifica el modo en que se abrió el archivo por última
vez. 0 = modo ejecutar; 1 = modo diseño.

[IDAPI]
Esta sección permite especificar una versión especial del archivo de configuración BDE
para utilizarlo con Visual dBASE, como en el ejemplo. Consulte el Capítulo 4.
[IDAPI]
CONFIGFILE01=C:\DBASEWIN\IDAPI.CFG
Nota La sección [IDAPI] no se crea automáticamente en DBASEWIN.INI. Es necesario
añadirla editando el archivo .INI.

[TableRecords]
Esta sección contiene los parámetros del cuadro de diálogo Propiedades de los registros
de tabla. Los tres primeros se aplican a la ventana Registros de tabla.
Tabla C.13 Parámetros de la ventana Registros de tabla
Parámetro Descripción
CurrentTab Página actual del cuadro de diálogo Propiedades de los registros de tabla. 0 = Campos; 1 = Registros;
2 = Ventana.
XGrid Determina si se muestran las líneas horizontales de la cuadrícula en la ventana Registros de tabla. 1 = se
muestran; 0 = no se muestran.
YGrid Determina si se muestran las líneas verticales de la cuadrícula en la ventana Registros de tabla. 1 = se
muestran; 0 = no se muestran.

436 Guía del usuario


dbwini.dwu Page 437 Friday, September 1, 1995 5:02 PM

Tabla C.13 Parámetros de la ventana Registros de tabla


Parámetro Descripción
1=...10= Cuando está marcada la casilla de verificación Permanente de la página Tabla del cuadro de diálogo
Propiedades del escritorio, este parámetro especifica la posición y el tamaño de las últimas 10 ventanas
de tabla abiertas previamente. Visual dBASE utiliza estos parámetros cuando la tabla vuelve a abrirse.
Los parámetros no se aplican a las ventanas Registros de tabla abiertas por QBE.
A continuación aparece la sintaxis de este parámetro:
n=PATH x y w h
donde:
n=el número de la ventana de la tabla
PATH=la vía y el nombre del archivo completos de la tabla
x=la coordenada-x de la esquina superior izquierda de la ventana
y=la coordenada-y de la esquina superior izquierda de la ventana
w=el ancho de la ventana
h=la altura de la ventana
MaximumSize Especifica el número de las ventanas de la tabla para las que Visual dBASE mantiene propiedades.
El valor por defecto es 10.

El resto de esta sección contiene parámetros de tablas individuales, como en el ejemplo


siguiente:
C:\DBASEWIN\EJEMPLOS\EMPRESA.DBF=NOAPPEND NOEDIT NODELETE

[TableStructure]
Esta sección contiene los parámetros del cuadro de diálogo Propiedades de la estructura
de tabla, que se aplican a la ventana de estructura de tabla.
Tabla C.14 Parámetros de la ventana de estructura de tabla
Parámetro Descripción
XGrid Determina si se muestran las líneas horizontales de la cuadrícula en la tabla. 1 = se muestran; 0 = no se
muestran.
YGrid Determina si se muestran las líneas verticales de la cuadrícula en la tabla. 1 = se muestran; 0 = no se
muestran.
TableOfTables Especifica un archivo que contiene las especificaciones de campo que utiliza el Experto de tablas.
Por defecto, el Experto de tablas utiliza TBLS0009.DBF. El archivo TableOfTables debe tener la misma
estructura que este archivo.

[Printer]
Esta sección contiene los parámetros de impresora de Visual dBASE.
Tabla C.15 Parámetros de impresora
Parámetro Descripción
Device Impresora especificada en Archivo|Configuración de impresora. Los valores, separados por comas,
corresponden al nombre de la impresora, nombre del controlador y especificación de puerto. Por
ejemplo: HP LaserJet IIISi PostScript,pscript,LPT1:
Orientation Orientación de la salida impresa. 1 = vertical; 3 = horizontal.

Apéndice C, Parámetros de DBASEWIN.INI 437


dbwini.dwu Page 438 Friday, September 1, 1995 5:02 PM

[ExpressionBuilder]
Esta sección contiene el parámetro de Asistencia para el Generador de expresiones.
1 = activado; 0 = desactivado. En DBASEWIN.INI, la entrada es SafetyNet=.

[DLLs]
Esta sección contiene una lista de los archivos .DLL y .VBX cargados mediante
Archivo|Definir controles personalizados. Los archivos aparecen de la siguiente forma:
DLL0=<vía\narchivo>
DLL1=<vía\narchivo>
Esta lista puede llegar hasta DLL99.

[CustomClasses]
Esta sección contiene una lista de los archivos de controles personalizados (.CC)
cargados mediante Archivo|Definir controles personalizados. Los archivos aparecen de
la siguiente forma:
CC0=<vía\narchivo>
CC1=<vía\narchivo>
Esta lista puede llegar hasta CC99.

[OLEViewer]
Esta sección contiene parámetros para el Visor de OLE.
Tabla C.16 Parámetros del Visor de OLE
Parámetro Descripción
SizeToFit Especifica un tamaño por defecto para la ventana Visor de OLE. Visual dBASE crea barras de
desplazamiento para la ventana, si resulta necesario.

[ImageViewer]
Esta sección contiene parámetros para el Visor de imágenes.
Tabla C.17 Parámetros del Visor de imágenes
Parámetro Descripción
SizeToFit Especifica un tamaño por defecto para la ventana Visor de imágenes. Visual dBASE crea barras de
desplazamiento para la ventana, si resulta necesario.

438 Guía del usuario


bde.dwg Page 439 Friday, September 1, 1995 5:04 PM

Apéndice

Database Engine de Borland


Apéndice D
D
Si va a utilizar alias de Paradox o a conectarse con bases de datos SQL (InterBase, Oracle,
Sybase o Informix), debe configurar el Database Engine de Borland (BDE).
El BDE (antes llamado IDAPI) permite que Visual dBASE comparta datos con otros
programas, incluidas bases de datos SQL y Paradox para Windows. Cuando ejecuta el
programa de instalación de Visual dBASE, el BDE se instala automáticamente en un
directorio llamado IDAPI, situado justo bajo el directorio raíz del disco duro.

Configuración del Database Engine de Borland


Para cambiar los parámetros del BDE, haga doble clic sobre el icono de la Utilidad de
configuración BDE en el grupo de programa de Visual dBASE o ejecute el programa
BDECFG.EXE. Los parámetros se guardan en un archivo de configuración,
generalmente llamado IDAPI.CFG. Las opciones de la Utilidad de configuración BDE se
describen con todo detalle en la Ayuda en línea del BDE.
En esta sección se describe cómo emplear esta utilidad para cambiar el
controlador de idioma, para crear alias de base de datos y para especificar la
ubicación de los archivos de control de red.

Apéndice D, Database Engine de Borland 439


bde.dwg Page 440 Friday, September 1, 1995 5:04 PM

Figura D.1 Utilidad de configuración BDE

Los nombres del producto de


base de datos SQL aparecen
si se instalan los
controladores SQL Link de
Borland adecuados.

Nota Antes de realizar cambios en IDAPI.CFG, debe salir de Visual dBASE. Realice los
cambios en la Utilidad de configuración BDE, guárdelos y reinicie Visual dBASE.

Controladores de idioma
Los controladores de idioma son archivos que determinan el juego de caracteres
disponible en el ordenador y su ordenación. Por ejemplo, las tablas creadas con el
controlador de inglés americano ordenan las palabras que comienzan con diéresis de
forma distinta a como se ordenan con un controlador de idioma alemán:
• Orden en inglés americano: A, B, C ... X, Y, Z, Ä
• Orden en alemán: A, Ä, B ...
El programa de instalación comprueba qué página de códigos utiliza el sistema operativo
(para obtener una explicación sobre las páginas de códigos, consulte el Apéndice C de la
Guía del programador). Con esta información y el parámetro Country del archivo
WIN.INI, el programa de instalación selecciona el controlador de idioma adecuado para
el sistema (consulte la documentación de Windows para obtener información sobre
WIN.INI).
Si recibe una tabla o base de datos creada con otro controlador de idioma, se carga
automáticamente el controlador adecuado cuando abre la tabla. Gracias a esta
característica, en la mayoría de los casos no es necesario ocuparse del controlador de
idioma.
Sin embargo, si desea crear una tabla con otro controlador de idioma (por ejemplo, para
utilizar el orden alemán de palabras), deberá cambiarlo.

440 Guía del usuario


bde.dwg Page 441 Friday, September 1, 1995 5:04 PM

Cambio de los controladores de idioma


Las versiones anteriores de dBASE utilizaban el controlador OEM. Visual dBASE
también admite el controlador ANSI. Por defecto, el BDE utiliza el controlador OEM.
Para más infomación, consulte la Guía del programador.
Para cambiar los controladores de idioma puede emplear la Utilidad de configuración
BDE o editar el archivo DBASEWIN.INI. Los parámetros de DBASEWIN.INI tienen
preferencia sobre los de IDAPI.CFG.

Empleo de la Utilidad de configuración BDE


Para cambiar los controladores de idioma en la Utilidad de configuración BDE haga
doble clic sobre su icono para abrirla y siga los pasos que se indican a continuación:
1 Haga clic en la solapa Controladores y seleccione dBASE en la lista Nombres de
controladores (consulte la Figura D.2).
2 Elija el nuevo controlador en el cuadro de lista del campo LANGDRIVER.
Figura D.2 Panel de opciones del controlador de idioma en BDE

Seleccione aquí el nuevo


controlador de idioma.

3 Para guardar esta información de controlador de idioma en el archivo IDAPI.CFG


actual, elija Archivo|Guardar. Para guardar esta información en otra versión del
archivo de configuración, elija Archivo|Guardar como (para obtener más
información sobre la utilización de varias versiones del archivo de configuración,
consulte la página 447).
4 Abandone la Utilidad de configuración BDE y reinicie Visual dBASE. El nuevo
controlador de idioma ya está activo.

Apéndice D, Database Engine de Borland 441


bde.dwg Page 442 Friday, September 1, 1995 5:04 PM

Edición de DBASEWIN.INI
El archivo de configuración DBASEWIN.INI es un archivo de texto que puede editarse
con cualquier editor de textos (como el Bloc de notas de Windows) o procesador de
textos. Se encuentra en el mismo directorio que DBASEWIN.EXE.
Para especificar un controlador de idioma, abandone Visual dBASE y abra
DBASEWIN.INI. Localice la sección [CommandSettings] e incluya la línea siguiente:
ldriver = <nombre controlador interno>
Por ejemplo, para especificar el controlador de idioma sueco con la página de códigos
850, introduzca la siguiente línea en [CommandSettings]:
ldriver = DB850SV1
Consulte la Ayuda en línea de BDECFG.HLP para obtener una lista y la descripción de
los nombres de los controladores de idioma internos.
Guarde DBASEWIN.INI como archivo de texto y reinicie Visual dBASE.
Importante Los parámetros de DBASEWIN.INI tienen preferencia sobre los parámetros de
IDAPI.CFG.

Alias
En relación con BDE, el término alias puede tener dos significados:
• Desde el punto de vista SQL, un alias es un nombre alternativo para una base de
datos.
• Desde los puntos de vista de Visual dBASE y Paradox, un alias es otra forma de hacer
referencia a un directorio.
Nota El lenguaje dBASE también utiliza un concepto de alias, pero sin relación alguna con
éstos.
Cuando IDAPI.CFG contiene alias, los botones Tablas del directorio y Tablas de la base
de datos se incluyen en el Selector. Consulte “Uso de alias de base de datos” en la
página 33.
Con la Utilidad de configuración BDE puede crear alias de SQL y
Visual dBASE/Paradox.

442 Guía del usuario


bde.dwg Page 443 Friday, September 1, 1995 5:04 PM

Creación de alias de dBASE/Paradox


Desde el punto de vista de Visual dBASE y Paradox, los alias son principalmente un
medio para facilitar el acceso a los datos. En lugar de recordar largos nombres de vías de
acceso, basta con utilizar sus alias. Por ejemplo, puede disponer de un grupo de
archivos en un directorio con la vía C:\VENTAS\ZONA\ESTE\1995. Podría asignar a
esta vía un alias como ESTE_95 y acceder a las tablas del directorio con él.
Para crear un alias dBASE/Paradox en la Utilidad de configuración BDE:
1 Haga clic en la solapa Alias.
Figura D.3 Página Alias de BDE

2 Haga clic en el botón Nuevo para acceder al cuadro de diálogo Añadir alias. Los alias
de dBASE/Paradox son tipo STANDARD, por lo que no es necesario modificar la
opción. Introduzca un nombre de alias en el cuadro de texto Nombre de alias y haga
clic en Aceptar.
Figura D.4 Cuadro de diálogo Añadir alias

Introduzca aquí el nombre de alias.

Apéndice D, Database Engine de Borland 443


bde.dwg Page 444 Friday, September 1, 1995 5:04 PM

3 El nuevo nombre aparece en la Utilidad de configuración IDAPI. Seleccione el campo


Vía e introduzca la vía de acceso completa.
Figura D.5 Alias y vía

Introduzca aquí la vía.

4 Elija Archivo|Guardar para conservar los cambios en el archivo IDAPI.CFG.


5 Elija Archivo|Salir o haga doble clic en el cuadro del menú de Control de la
Utilidad de configuración BDE para abandonarla.

444 Guía del usuario


bde.dwg Page 445 Friday, September 1, 1995 5:04 PM

Creación de alias SQL


Para crear alias SQL, debe tener instalado el controlador SQL Link de Borland adecuado
para el servidor.
Importante Las figuras de esta sección muestran varias conexiones potenciales de SQL, pero la
Utilidad de configuración BDE sólo incluye aquéllas para las que está instalado
SQL Link.
Los pasos necesarios para crear un alias SQL son, en su inicio, los mismos que para el
alias dBASE/Paradox: inicie la Utilidad de configuración BDE, haga clic en la solapa
Alias y en el botón Nuevo. Cuando acceda al cuadro de diálogo Añadir alias, siga los
pasos que se indican a continuación:
1 Seleccione el servidor SQL en la lista Tipo de alias e introduzca un nombre para el
alias.
Figura D.6 Asignación de nombre al alias SQL

Introduzca aquí el nuevo nombre de alias.

Seleccione el servidor SQL en esta lista.

Haga clic en Aceptar para volver a la Utilidad de configuración BDE.


2 Seleccione el nuevo nombre de alias (consulte la Figura D.7) y defina sus parámetros.
En la mayoría de los casos, deberá definir, al menos, los siguientes: Nombre de base
de datos o Vía, Servidor y Nombre del usuario.
Figura D.7 Definición de los parámetros de alias SQL

Defina los parámetros del alias


seleccionado.

Apéndice D, Database Engine de Borland 445


bde.dwg Page 446 Friday, September 1, 1995 5:04 PM

Para obtener explicaciones sobre los demás parámetros, consulte la Ayuda en línea.
3 Elija Archivo|Guardar para conservar los cambios en el archivo IDAPI.CFG
modificado.
4 Elija Archivo |Salir o haga doble clic en el cuadro del menú de Control de la
Utilidad de configuración BDE para abandonarla.

El archivo de control de red


Paradox para Windows utiliza un archivo de control de red para realizar un
seguimiento de los usuarios y supervisar las tablas compartidas en la red. Si utiliza
tablas de Paradox en una red, debe especificar la ubicación del archivo de control de red
de Paradox (este archivo se describe en la ayuda de BDE y en la documentación de
Paradox).
Para especificar la ubicación de este archivo, siga los pasos que se indican a
continuación:
1 Abra la Utilidad de configuración BDE y haga clic en la solapa Controladores.
2 Introduzca la vía completa de acceso al archivo de control de red en el campo
NET DIR.
Figura D.8 Ubicación del archivo de control de red

Introduzca aquí la vía al archivo de control


de red.

3 Elija Archivo|Guardar para guardar IDAPI.CFG.


4 Abandone la Utilidad de configuración BDE.

446 Guía del usuario


bde.dwg Page 447 Friday, September 1, 1995 5:04 PM

Uso de varios archivos de configuración de BDE


Es posible que necesite disponer de diferentes parámetros de BDE para aplicaciones
diferentes (Visual dBASE y Paradox para Windows, por ejemplo). Para conseguirlo,
puede guardar diferentes copias del archivo de configuración de BDE.
Nota Este archivo no tiene por qué llamarse IDAPI.CFG, pero sí debe utilizar la extensión
.CFG.
Los archivos de inicialización (.INI) de las aplicaciones, así como de Windows, pueden
editarse para incluir una sección llamada [IDAPI]. En Paradox para Windows 1.0 y 4.5,
la sección se llama [ODAPI]. El archivo de configuración de BDE mencionado en el
archivo de inicialización de Windows es el que se carga cuando inicia Windows; el
archivo de configuración de la aplicación .INI lo sustituye cuando inicia la aplicación.
A continuación, se incluye un ejemplo:
Supongamos que ha creado tres archivos de configuración de BDE:
• IDAPIWIN.CFG, para cargarse con Windows
• IDAPIDBW.CFG, para cargarse con Visual dBASE
• IDAPIPDX.CFG, para cargarse con Paradox para Windows
Para acceder a los tres, puede crear un directorio llamado ICONFIGS, donde incluye los
archivos .CFG. A continuación, añade una sección [IDAPI] u [ODAPI] en los tres
archivos de inicialización, como se indica a continuación:
• WIN.INI:
[IDAPI]
CONFIGFILE01=C:\ICONFIGS\IDAPIWIN.CFG
• DBASEWIN.INI:
[IDAPI]
CONFIGFILE01=C:\ICONFIGS\IDAPIDBW.CFG
• PDOXWIN.INI (para Paradox para Windows 5.0):
[IDAPI]
CONFIGFILE01=C:\ICONFIGS\IDAPIPDX.CFG
Importante Asegúrese de que el carácter que aparece después de “CONFIGFILE” es un cero y no la
letra O.
Este no es el único método para utilizar más de un archivo de configuración de BDE.
También puede, por ejemplo, incluir los archivos de configuración individuales en los
mismos directorios que los archivos ejecutablas del programa. El formato de la sentencia
[IDAPI] es el mismo; lo único que cambia es la vía.

Apéndice D, Database Engine de Borland 447


bde.dwg Page 448 Friday, September 1, 1995 5:04 PM

448 Guía del usuario


sql.dwu Page 449 Friday, September 1, 1995 5:05 PM

Apéndice

Uso de datos SQL


Apéndice E
E
Visual dBASE permite acceder a datos almacenados por otros sistemas de gestión de
bases de datos relacionales (RDBMS) que utilicen SQL. El mecanismo que lo posibilita es
Database Engine de Borland (BDE) y su interface de programación, IDAPI, ambos
integrados en Visual dBASE. La conexión entre BDE y el servidor de base de datos del
usuario es otro producto denominado SQL Link de Borland.
Con estos sistemas en segundo plano, puede utilizar el interface de usuario para crear
una tabla o consulta SQL o construir una ficha casi como si trabajase con datos locales.
BDE y SQL Link traducen las acciones en comandos del dialecto SQL que emplea el
servidor, transmiten los comandos SQL a éste para su ejecución y devuelven el
resultado en el formato de Visual dBASE que conoce el usuario.
En este apéndice se explica el uso del interface de usuario de Visual dBASE con tablas
SQL. El lenguaje de programación dBASE ofrece más funciones, entre ellas SQLEXEC.
Para obtener más información, consulte el Capítulo 24 de la Guía del programador y el
Capítulo 9 de Referencia del lenguaje y la Ayuda en línea.
Nota Existen diferencias entre la terminología SQL y la de dBASE. En SQL, los registros se
denominan filas, y los campos son columnas. Para simplificar, en este apéndice se
emplearán los términos de dBASE.

Apéndice E, Uso de datos SQL 449


sql.dwu Page 450 Friday, September 1, 1995 5:05 PM

Preparación para el uso de tablas SQL


Para acceder a tablas SQL, en primer lugar deberá instalar el programa SQL Link de
Borland (comercializado por separado) en la versión apropiada para el servidor.
Los controladores de SQL Link traducen los comandos de BDE al dialecto SQL del
servidor.
Borland ofrece controladores para varios servidores SQL, incluidos InterBase, Informix,
Oracle y Sybase. Es posible que existan más cuando reciba este programa. Para obtener
más información al respecto, póngase en contacto con Borland.
La documentación de SQL Link incluye información para instalar el producto en
servidores específicos. Lea también el manual de conexión correspondiente y consulte la
documentación de SQL Link antes de continuar con este apéndice.
Una vez instalado SQL Link, defina los parámetros del controlador mediante la
Utilidad de configuración BDE y cree al menos un alias de base de datos para el
servidor. Para obtener información detallada, consulte los apartados de conexión que
contengan información específica para su servidor. También es preciso que el directorio
SQLDLL esté incluido en la vía de acceso del DOS.

450 Guía del usuario


sql.dwu Page 451 Friday, September 1, 1995 5:05 PM

Conexión a la base de datos SQL


Es necesario conectarse a una base de datos SQL para poder iniciar cualquier proceso
que requiera el acceso a una tabla SQL.
Para conectarse a una base de datos:
• Elija Archivo|Definir base de datos.
Haga clic sobre el botón Tablas de la base de datos en la ventana Todo o Tablas del
Selector de archivos (los botones Base de datos y Directorio sólo aparecen si se ha
definido uno o más alias de base de datos mediante la Utilidad de configuración BDE).
A continuación, especifique el alias y la tabla de la base de datos, tal como se muestra en
la siguiente figura.
Figura E.1 Conexión a una base de datos

2 Haga clic en la flecha y elija el alias de


base de datos en la lista desplegable.
3 Introduzca su nombre de usuario y
contraseña. En algunos servidores se
1 Con Tablas
distingue entre mayúsculas y minúsculas.
seleccionada…
…elija Tablas de la base
de datos

Una vez establecida la conexión, las tablas


aparecen en la lista.

Si lo primero que hace es abrir o ejecutar una consulta, ficha o informe basado en datos
SQL, aparecerá el cuadro de diálogo Abrir base de datos para que pueda introducir su
nombre de usuario y contraseña.

Apéndice E, Uso de datos SQL 451


sql.dwu Page 452 Friday, September 1, 1995 5:05 PM

Utilización de datos SQL


Tras acceder a una base de datos SQL remota, puede efectuar con los datos SQL casi
todas las tareas que suele realizar con datos de dBASE o Paradox. Puede examinar o
editar tablas, crear consultas, utilizar una tabla o consulta como base para una ficha, etc.

Transacciones
Algunos sucesos SQL tienen un funcionamiento diferente con respecto al interface de
usuario de Visual dBASE. En concreto, SQL utiliza el proceso de transacciones.
Una transacción consta de una serie de pasos que se llevan a cabo como una unidad, o se
cancela toda la transacción. Las transacciones desempeñan un papel fundamental para
garantizar la integridad de los datos cuando muchos usuarios acceden simultáneamente
a tablas extensas.
El proceso de transacciones está disponible en Visual dBASE a través del lenguaje de
programación, pero no es el modelo empleado para la mayor parte de la actividad del
interface de usuario. En las tablas de dBASE, cada paso de un proceso suele ejecutarse
conforme se termina.
En las transacciones, los cambios no se almacenan en la base de datos hasta que se
terminan todos los pasos de la transacción. A continuación, la transacción debe
ejecutarse en su totalidad para que los cambios tengan efecto. En caso de que tenga
éxito, la transacción se acepta. Si algún paso no puede realizarse, todos se anulan, y se
cancela toda la transacción.

Bloqueos
Con datos de dBASE, se aplica un bloqueo de registros a tablas compartidas en cuanto
se pulsa una tecla para modificar los datos de un campo. El bloqueo del registro se
mantiene durante todo el tiempo empleado para cambiar el registro, y sólo se libera
cuando el usuario se desplaza a otro.
Al utilizar datos SQL en la ventana Registros de tabla, los cambios no se almacenan en la
tabla hasta que termine y pasa a otro registro. A continuación, todos los cambios se
aceptan como una sola transacción, siempre que ningún otro usuario haya modificado el
mismo registro.
Ello puede observarse en el orden de los sucesos, por ejemplo los mensajes de error.
Si intenta modificar un registro bloqueado en Visual dBASE, aparece un mensaje de
error de forma inmediata. En las transacciones SQL, es posible que no sepa que la
actualización ha fallado hasta después de introducir todos los cambios, cuando la base
de datos intenta aceptarlos.
Una transacción puede no iniciarse si otro usuario está accediendo a los recursos
necesarios. En este caso, la transacción puede esperar, o puede producirse un
punto muerto, situación en la que dos usuarios quedan esperando a que el otro libere los
mismos recursos. Los puntos muertos ocurren y se resuelven de manera distinta según
el servidor.

452 Guía del usuario


sql.dwu Page 453 Friday, September 1, 1995 5:05 PM

Tareas posibles
Visual dBASE proporciona las siguientes funciones para utilizar tablas SQL en el
interface de usuario. Las tareas concretas que pueden realizarse dependen del nivel de
derechos y privilegios que haya otorgado el administrador de la base de datos. Además,
el propietario de cada objeto ha de conceder a un usuario o grupo el derecho a utilizar o
modificar el objeto (puede emplear la sentencia GRANTpara ejecutar el comando
necesario para otorgar derechos).
• Tablas. Con las tablas SQL:
• Puede crear tablas, leer, editar, añadir y borrar registros, y crear índices. Los datos
son completamente editables en Visual dBASE. Sin embargo, no es posible
modificar la estructura de una tabla.
• Las tablas pueden utilizar integridad referencial, como se describe en el
Capítulo 3.
• Puede especificar la palabra clave NULL en expresiones para las tablas SQL.
• Consultas: Puede crear una consulta, unir tablas, filtrar datos y seleccionar campos
para la vista. Las vistas son completamente editables en la mayoría de los casos, salvo
en las condiciones que crean una vista de sólo lectura, tal como se explica en la
siguiente sección y en el Capítulo 5. Puede almacenar los resultados de una consulta
en una tabla local de dBASE.
• Fichas: Puede crear una ficha y definir la vista como tabla o consulta de datos SQL,
igual que con los datos de dBASE. La ficha puede emplearse para editar o añadir
registros a la base de datos.
• Informes: Es posible utilizar los datos de una tabla o consulta SQL como base para un
informe.

Apéndice E, Uso de datos SQL 453


sql.dwu Page 454 Friday, September 1, 1995 5:05 PM

Indexación de tablas SQL


SQL Link requiere un índice único para identificar cada registro de la tabla a fin de
actualizar o borrar registros. Sin índice único, la vista de la tabla será de sólo lectura, ya
que las tablas SQL no utilizan números de registro, intrínsecos a las tablas de dBASE y
de otros productos. Por tanto, el índice es indispensable para localizar registros.
Una excepción es el controlador de Oracle, que permite localizar registros sin necesidad
de índice. No obstante, su uso puede mejorar el rendimiento.
Puede añadir un índice a una tabla SQL (siempre que cuente con los derechos
apropiados en el servidor). Abra la tabla y elija Tabla|Utilidades de
tabla|Mantenimiento de índices. Haga clic sobre el botón Crear para obtener
un índice único, tal como se muestra en la siguiente figura.
Figura E.2 Adición de un índice a una tabla SQL

Teclee el nombre del índice.

Indique el campo o campos que deben indexarse.

Seleccione Unico.

Tenga presente los siguientes puntos respecto a los índices de tablas SQL:
• Los nombres de índice (de etiqueta) deben ser únicos en toda la base de datos, lo cual
significa que no puede utilizarse el mismo nombre de índice en dos tablas diferentes
de la misma base de datos. El sistema de gestión de base de datos mantiene los
nombres en una tabla de sistema específica que se aplica a toda la base de datos, por
lo que la etiqueta de cada registro de dicha tabla debe ser única.
• Puede crear un índice por varios campos. Consulte los requisitos y límites en la
documentación del servidor.
• Las tablas SQL no pueden indexarse por una expresión.
• No pueden crearse índices condicionales.
• No es posible indexar por campos binarios, ni de algunos tipos más.
Consulte la documentación de SQL Link correspondiente a su servidor.

454 Guía del usuario


sql.dwu Page 455 Friday, September 1, 1995 5:05 PM

Notas sobre SQL


A continuación se detalla más información que deberá tener en cuenta:
• Cuando se borra un registro en Visual dBASE, se marca para borrado pero no se
elimina de la tabla hasta que se ejecuta el comando Tablas|Utilidades de
tabla|Eliminar registros marcados (consulte el Capítulo 6). Las tablas SQL no tienen
ningún proceso de este tipo; cuando se borra un registro, se elimina de la tabla de
forma permanente en cuanto se acepta la transacción.
• Es posible almacenar una tabla de dBASE en una base de datos SQL con el comando
COPY. Consulte dicho comando en la Referencia del lenguaje oen la Ayuda en línea.
• Los objetos de Visual dBASE como consultas, informes y fichas no pueden
almacenarse en las bases de datos SQL. Puede definir un directorio local aparte para
los archivos relacionados con SQL, o utilizar un catálogo para organizarlos.
• Si selecciona la casilla Orden de registros en el Diseñador de consultas para un campo
no indexado, la vista resultante será de sólo lectura.

Controladores de idioma
El juego de caracteres o página de códigos que emplea el ordenador local puede no ser
el mismo que utiliza el servidor. Ello puede dar lugar a una visualización incorrecta de
datos en el ordenador, o el almacenamiento de caracteres erróneos en la base de datos
SQL.
SQL Link proporciona controladores de idioma para convertir caracteres entre el
ordenador local y el servidor. Dichos controladores también contienen información
sobre las opciones de ordenación y las convenciones de uso de mayúsculas y
minúsculas empleadas en el servidor SQL.
Para especificar el controlador de idioma, emplee la Utilidad de configuración BDE y
seleccione la opción LANGDRIVER en la página Sistema. Para iniciar dicha utilidad,
haga doble clic sobre su icono en el grupo de programas de Visual dBASE.
Para obtener información detallada, consulte el Capítulo 1 y el manual de conexión del
controlador de SQL Link.

Apéndice E, Uso de datos SQL 455


sql.dwu Page 456 Friday, September 1, 1995 5:05 PM

456 Guía del usuario


ug_dbw.ix Page 457 Friday, September 1, 1995 5:06 PM

Indice
Símbolos gráficos a botones 315 Añadir registros desde archivo,
índices 85, 184 cuadro de diálogo 149
" (comillas) complejos 92 ancho
en consultas 188 SQL, tablas 454 de línea, en fichas 280
#, operador (distinto de) 187 menús forma en fichas 294
* (asterisco) desplegables 305 AND, condiciones 190–191
carácter comodín 189 en cascada 307 varias 191
-, operador, (sustracción) 196 objetos OLE 131 y condiciones OR 193
? (signo de interrogación), perfiles de usuario 163 apertura
carácter comodín 189 registros 123 archivos al arrancar 11
[ ] (corchetes), en consultas 188 tablas, a consultas 204 archivos de programa 383
UDF 358 campos memo 127
’ (apóstrofos)
en consultas 188 adición, operador (+) 196 consultas 201
administración de base de datos Editor de procedimientos 240
seguridad 153–169
A Administrador de archivos,
fichas de ejemplo 320
Generador de
abandono de cambios ejecución de dBASE 14 expresiones 343
en menús 309 Administrador de programas, menús 309
Abrir exclusiva, cuadro de ejecución de dBASE 14 tablas 106–109
diálogo 370 Advertencia de programa, cifradas 109
acceso cuadro de diálogo 398 ventana de comandos 40
DBASEWIN.INI 420 advertencias, bloqueo 371 ventanas
tablas 156 agrupación de archivos 35 comandos 392
varias tablas 106 agrupación de botones de aprendizaje de dBASE
aceptación de transacciones 452 radio 278 (tutores) 45
activación de sesiones 104 Agrupar, botón 346 archivos
adición alias 442–446 añadir a catálogos 37
archivos a catálogos 37 base de datos 33 asociaciones 37
botones de barra rápida 317 alias de base de datos 33 búsqueda de texto 379
campos 68 alias, tabla carga automática 11
controles de ficha vinculación con controles .CC y .VBX 250
barras de Browse 328 configuración 10
desplazamiento 288 alineación contraseña 155
botones 313 controles 247–249 copiar texto 379
botones de comando 311 datos en fichas 292 creación 29
botones de radio 278 almacenamiento programa 384
Browse 285 archivos 380 texto 389
campos de entrada 265 cambios 128 de aplicación de dBASE 14
casillas de verificación 277 fichas 254 desplazamiento 376
cuadros combinados 267 comandos en programas 396 ejecución 29
cuadros de consultas 175, 199 eliminación 38
incremento 271 diseño de tablas 70 ficha 219
cuadros de lista 274 diseños de menú 309 índice
editor 282 .MDX 81
formas 293 índices 86
resultados de consulta 199 .NDX 78
imágenes 290 memo 61
líneas 280 Alt+Tab (cambiar de ventana) 39
.MNU 301
objetos de texto 263 ámbito .QBE 175, 199
OLE 292 limitación 143, 144 tipos para importar y
rectángulos 281 selección de registros 136 exportar 147
tutores 325 Añadir alias, cuadro de
archivos de aplicación de
directorios a vía de diálogo 443 dBASE 14
búsqueda 30 archivos de consulta 199

Indice 457
ug_dbw.ix Page 458 Friday, September 1, 1995 5:06 PM

archivos de menú 301


archivos de programa
B borrado
menús 309
almacenamiento 380 barra de estado 25 perfiles de usuario 164
apertura 383 barras de desplazamiento registros
código en colores 386 en fichas 288 permanente 140
comentarios 388 visualización/ varios 139
copiar comandos 396 ocultación 284 botones
creación 384 Barras rápidas adición de gráficos 315
denominación 388 selección de formatos 111 Ayuda 43
edición 385–388 barras rápidas 25 barra rápida 25
pegado de sintaxis desde la creación creación 316
Ayuda 387 creación creación 315
archivos de sonido 130 barras rápidas 316–317 etiqueta 313
ejecución 130 Diseñador de consultas 178 por defecto 314
archivos de texto Diseñador de menús 241 vs. botones de barra
Vea también archivos de Editor de programas 388 rápida 316
programa modos 28 botones de comando
almacenamiento 380 sus botones vs. botones creación 311
creación 389 normales 316 tutores 337
archivos destino 147 base, fichas botones de radio 278–279
archivos externos a dBASE creación 251 frente a casillas de
visualización en el Selector 33 bases de datos 50 verificación 277
archivos origen 149 alias botones de radio,
áreas de trabajo 106 SQL 442 agrupación 279
arranque de dBASE seguridad 153–169 BROWSE, comando 397
con carga automática de BDE 439–447 Browse, ventana 200
archivos 11 alias 442–446 Buscar registros, cuadro de
ascendente, orden 66 archivos de configuración diálogo 141
ASCII, ordenación 182 múltiples 447 Buscar texto, cuadro de
Asistencia (Generador de WIN.INI 10 diálogo 379
expresiones) 344–345 controladores de idioma 440 búsqueda
redes de Paradox 446 datos 141–143
asistencia al cliente 6
BDE, Utilidad de configuración en Ayuda 43
asociaciones, archivos 37
controladores SQL 450 tablas 141–143
asterisco (*)
binarios, campos 61 texto 379
comodín, carácter 189
bloqueo automático 369
automático, sangrado 385
bloqueos 368–372
automáticos, colores 386
advertencias 371
Ayuda 41–44 estado 369
Ayuda, pegado de sintaxis 387 explícito 372
registro 452
tipos (tabla) 370
bloqueos de lectura y
escritura 368
bloqueos de registro 452
bloqueos
exclusivos 368, 369, 370
bloques de texto, selección 378
bordes, rectángulo, en fichas 282
Borland
programa Assist 6

458 Guía del usuario


ug_dbw.ix Page 459 Friday, September 1, 1995 5:06 PM

C valores 73 cancelación de cambios


máximo 67 diseño de tablas 71
calculados, campos 116 mínimo 67 fichas 254
Calcular registros, cuadro de por defecto 67 registros 129
diálogo 145 validaciones 67 carácter, campos 60
cálculo de datos 145 valores clave caracteres comodín 189
cambio ocultación 90 caracteres, cambio 377
Diseñador de tablas 69 vinculación 206 carga automática de archivos 11
estructura de tabla 71–72 campos binarios 129 cascada, menús 307
fichas 253–254 edición 128 Cascada, opción (Integridad
índices 88 Campos calculados, cuadro de referencial) 75
integridad referencial 76 diálogo 116 casillas de verificación 277–278
orden z 248 campos de caracteres frente a botones de radio 277
propiedades de los consultas 188 Catálogo, ventana
controles 245 edición 126 teclas 417
cambio de tamaño indexación 94 catálogos 35–39
columnas 69, 111 vinculación con fichas 283 creación 36
controles 246 campos de coma flotante .CC (control dBX), archivos 250
cambios edición 126
Centro de control
controladores de idioma 441 indexación 94
(dBASE III+/IV) 5
forzar seguridad 168 vinculación con barras de
desplazamiento 289 cierre
parámetros de BDE 439–447 Selector de archivos 35
perfiles de usuario 164 campos de entrada 265
asignación de formato a los tablas 109
cambios respecto a ventanas
dBASE IV 404–409 datos 267
comandos 392
campo actual 125 tutores 325
de catálogo 38
campos 17, 50 definición de colores 332
de comandos 40
actual 125 campos de fecha editores 380
adición 68 consultas 188 cifrado
binarios 129 edición 127 tablas 154, 158
calculados 197–199 indexación 94
clasificación de iconos 31
calculados, adición 116 vinculación con barras de
clave
concatenación 91 desplazamiento 289
campos 55
consultas 179 campos lógicos
expresiones 81
definición 56 consultas 188
claves únicas 96
denominación 66 edición 127
indexación 94 CLEAR, comando 398
desplazamiento 69 closing
edición 126–128 vinculación con casillas de
verificación 278 windows
eliminación 69 Command 40
estructura campos memo
apertura 127 código
definición 65 asociación a menús 311
examinación en fichas 286 consultas 188
edición 127, 390 colores 386
indexación 94 controles de ficha 238
objetos OLE 131–132 exportación 148
vinculación con fichas 283 sangrado 385
obligatorios 67 código (visualización) 46
ocultación y presentación 115 campos numéricos
cálculos 145 colores
orden 66 código resaltado 386
ordenación 182 consultas 188
edición 126 en fichas
paleta 235–236 tutores 332
propiedades 236 indexación 94
vinculación con barras de fichas 225
Paradox 58 columnas 17
privilegios 158, 161, 166–167 desplazamiento 289
campos OLE 61 personalización 69, 111
propiedades 66, 117 tablas de Paradox 133
seguridad 154 edición 128
campos, calculados coma flotante, campos 60
selección 67, 68, 115, 125
sólo lectura 198 consultas 197–199
tipos 57–62 eliminación 199

Indice 459
ug_dbw.ix Page 460 Friday, September 1, 1995 5:06 PM

comandos consultas 20 controles de editor, de sólo


almacenamiento en adición de índices 212 lectura 283
programas 396 adición de tablas 204 controles de imagen 290–292
comunes (tabla) 397 almacenamiento 175, 199 tutores 326
copiar en la ventana de resultados 199 controles editores
comandos 396 apertura 201 tutores 327
ejecución 394 campos calculados 197–199 convenciones
frente a expresiones 342 comodín, caracteres 189 tipográficas 3
repetición 394 comparación, valores de conversión
comentarios, introducción en el campo 196 tipos de campo 91
código 388 condiciones 186, 194–195 tipos de datos 213
comillas AND y OR 190–194 coordenadas de ventana 423
en consultas 188 supresión 195 copia
compactación de tablas 140 creación 176–178 archivos 38
compartición de datos 365 de fichas e informes a texto de Ayuda 44
compartir datos partir de 175
copiar
con Paradox 446 multitabla 204
tutores 321 controles 246
compatibilidad texto en archivos 379
ejecución 200
programas 6 copiar texto 378
expresiones principales 213
complejos, índices 81, 93 filtrado de datos 186–195 archivos 379
componentes de la pantalla de índices 83 corchetes ([ ]), en consultas 188
dBASE 16 Inspector de Browse 200 corrompidos, reconstrucción de
comprobaciones de Like, operador 189 índices 88
validación 67 multitabla 203–213 cortar
compuestos, índices 97 opciones de ordenación 182 controles 246
concatenación de campos 91 operadores relacionales 187 cortar texto 378
Conceptos 57 orden de registros 181–183 creación
condiciones relaciones, modificación 211 alias 443
consulta 186, 194–195 selección de campos 179 SQL 445
selección de registros 136–137 sesiones 106 archivos 29
condiciones AND, varias 191 tablas principal/ programa 384
condiciones de consulta, secundarias 205, 206 texto 389
complejas 195 teclas de edición 416 barras de desplazamiento, en
condiciones For 137 tipos de campos 188 fichas 288
condiciones While 137 vinculación de tablas 205–212 botones 315
Condiciones, cuadro 194–195 vistas 174, 200 botones de comando 311
conexión (seguridad) 155 Contar, cuadro de diálogo 138 botones de radio 278–279
contiene, operador ($) 187 campos de entrada 265
configuración
contraseñas 155, 169 casillas de
archivos e instalación 10
formatos 252 definición 162 verificación 277–278
tablas de Paradox 169 catálogos 36
hardware 9
controladores de idioma 440 consultas 176–178
Configuración de impresión,
SQL Link 455 multitabla 204
cuadro de diálogo 360 controles Browse 285–288
conflictos 367 controles 250
controles de cuadro de
conmutadores, creación alineación 247–249
dibujo 296
en elementos de menú 304 creación 263–296
controles de editor 282–284
en fichas 277 definición 263
controles de imagen 290–292
constantes en las lista 242
controles OLE 292
expresiones 347 paleta 233–235
propiedades 234 cuadros combinados 267–271
consulta, archivos 175 cuadros de incremento 271
personalización 245
personalizados 250 cuadros de lista 274
selección 244 expresiones 345
vinculación de sucesos 238 fichas 258
ejemplo 321–338
controles Browse 285–288 fichas base 251
tutores 328–331 formas en fichas 293
controles de editor 282–284

460 Guía del usuario


ug_dbw.ix Page 461 Friday, September 1, 1995 5:06 PM

índices D definición de propiedades,


Paradox 98 cuadro de diálogo 373
líneas en fichas 280 Database Engine de Borland 449 Definir vínculo, cuadro de
menús 305–311 datos diálogo 206, 209
menús de ventana 308 alineación en fichas 292 dependencia, archivo 37
objetos de menú 305 asignación de formato depuración
perfiles de usuario 163 en campos de entrada 267 programas 398
programas 383 en cuadros de Depurador
rectángulos en fichas 281 incremento 273 ejecución 14
solapas en fichas 294–295 búsqueda 141–143 derechos de acceso 366
tablas 64–69 cálculos 145 consultas 175
vínculos 205 compartición 365 tablas de Paradox 133
Crear índices, cuadro de compartición Vea redes desactivación de sesiones 104
diálogo 212 edición 125–129 descendente, orden 66
CREATE COMMAND, exportación e deshacer
comando 384 importación 147–151 cambios
Crystal Reports 14, 22 tipos de archivo 147 en controles 246
Ctrl+E (Generador de filtrado 186–195
desplazamiento
expresiones) 343 importación 149
archivos 376
Ctrl+F4 (cerrar archivos) 35 índices 82
campos 69, 115
Ctrl+O (bloquear registro) 372 opciones de presentación 120
columnas 112
cuadrícula ordenación 95–96
controles 245
ocultación 69 frente a indexación 183
Diseñador de tablas 67
validación 67
cuadro de diálogo Ejecutar 11 en fichas 294
datos aleatorios, generación 138
cuadro de diálogo Inspector de en sistema de Ayuda 42
propiedades del Selector 30 datos de imágenes 61 entre solapas 295
datos de sonido 61 por fichas 296
cuadro de diálogo Propiedades
de la ventana de comandos 26 datos lógicos tablas 125
en fichas 277–278 directorio actual, definición 29
cuadros combinados 267–271
dBASE directorios
frente a cuadros de lista 274
tipos 270 ejecución alias (Paradox) 442
en servidores de red 13 añadir a vía de búsqueda 30
cuadros de diálogo instalación 10–13
adición de botones de inclusión en la vía de
dBASE III+/IV acceso 30
comando 311
compatibilidad de DIRECTORY, comando 397
teclas 412
programa 6 Diseñador de consultas 20
cuadros de dibujo 296 correspondencia de nuevas
cuadros de grupo, barra rápida 178
funciones 5 impresión 363
en fichas 281, 334 desactivación de sesiones 106
cuadros de incremento 271 teclas de edición 416
dBASE IV, transición a ventana 176
asignación de formato a los Windows 403–409
datos 273 Diseñador de fichas 21, 229
DBASEWIN.INI 11 impresión 363
cuadros de lista 274 acceso 420
frente a cuadros menú 232
edición 442 menú rápido 233
combinados 274 especificación de controlador
cuadros de lista, selección de modos 228
de idioma 442 propiedades 231
varios valores 276 estructura 422
cuadros de ordenación teclas de edición 417
parámetros 424–438, 438 Diseñador de menús 241
(consultas) 181 por defecto,
cursor Vea punto de inserción Diseñador de tablas 64–69
restablecimiento 421
selección del editor de cambio 69
desplazamiento 67
texto 39
varias versiones 420 indexación 85
tablas de Paradox 98
.DBT, archivos 61 Propiedades 65
Vea también campos memo
dBX, controles (fichas) 250
decimales 66

Indice 461
ug_dbw.ix Page 462 Friday, September 1, 1995 5:06 PM

diseño ejemplo (archivos) expresiones 342–358


índices 81–94 archivos adición a la ventana de
tablas 57–63 ejemplo 46 comandos 394
DISPLAY MEMORY, elementos de menú comparación de valores 196
comando 397 adición creación 345
DISPLAY STATUS, a menús desplegables 306 definición 342
comando 397 a menús en cascada 307 edición 356
distinto de, teclas de método en el cuadro Condiciones 195
operador (<> o #) 187 abreviado 310 evaluación 351, 355
división, operador (/) 196 eliminación frente a comandos 342
DO, comando 397 campos 69 identificadores 347–350
documentos OLE 131 calculados 199 pegado 355
índices 88 principales (consultas) 213
registros 123 variantes de las funciones 346
E eliminación de archivos 38 Vea Generador de expresiones
edición en fichas 293 expresiones clave 81
archivos de en línea (Ayuda) 41–44 expresiones principales
programa 385–388 entorno, parámetros 27 (consultas) 213
campos 126–128 entornos multiusuario Vea redes externo (editor de textos) 39
campos memo 390 entrada de datos
campos OLE 131 automática 67
controles 246 obligatoria 67
DBASEWIN.INI 442 validaciones 67
registros 125–129 errores
varios 135–150 depuración de
texto 377–380, 389 programas 398
ventana de comandos 395 Esc, tecla, desactivación 262
EDIT, comando 397 Escritorio 24
editor de campos memo 39 especificación
Editor de procedimientos 240 editor de textos 39
Editor de programas 383–388 integridad referencial 73–75
propiedades por defecto 384 valores de botón de radio 279
Editor de textos 39, 389 estándar, botones 313
campos memo 390 estilo
impresión 364 forma en fichas 293, 294
visualización de código 46 Estructura de tabla, ventana
editores 375–390 teclas de edición 415
cambio de caracteres 377 estructuras de tabla,
cierre de ventanas 380 impresión 362
desplazamiento del punto de Etiqueta de índice maestro,
inserción 376 cuadro de diálogo 184
Editor de programas 383–388 etiquetas 22
Editor de textos 389 botón 313
campos memo 390 rectángulo 281
modos insertar/ etiquetas de índice 81
sobrescritura 377 archivos .EXE 14
propiedades 381 Experto de fichas 229, 258
ejecución Experto de tablas 64
archivos 29 Expertos
archivos de sonido 130 fichas 217
comandos 394
explícito, bloqueo 372
Editor de programas 383
Editor de textos 389 exponenciación,
fichas 254 operador (** o ^) 196
tutores 338 exportación de datos 147
programas 398 Exportar registros, cuadro de
programas de ejemplo 46 diálogo 148

462 Guía del usuario


ug_dbw.ix Page 463 Friday, September 1, 1995 5:06 PM

F formato Browse 111


impresión 361
I
F1 (Ayuda),tecla 41 formato En columnas 113 iconos
F2, tecla (cambio de formato) 111 impresión 361 tipo de archivo 31
fecha, campos 60 formato Ficha 112 iconos de tipo de archivo 31
fichas 21, 28 impresión 361 identificadores de operadores,
alineación de gráficos 292 formatos expresiones 350
archivos 219 configuración 252 identificadores en las
barras de desplazamiento 288 de tabla, selección 111 expresiones 347–350
botones de radio 278–279 diseño de fichas 224 idioma, controladores 440
cambio 253–254 fuentes igual que, operador (=) 187
campos de entrada 265 cambio 377 imágenes
casillas de fichas 225 adición a campos
verificación 277–278 funciones binarios 130
controles 263–296 conversión 91 visualización 130
controles Browse 285–288 expresiones 346 importación
controles de cuadros de formato de datos 94 datos 149
dibujo 296 hojas de cálculo 151
controles de editor 282–284
controles de imagen 290–292
G impresión 359
datos de tablas 360
controles OLE 292 generación diseño de consulta 363
creación 258 registros 138 diseño de fichas 363
ejemplo 321–338 Generador de Editor de textos 364
cuadros combinados 267–271 expresiones 341–358 estructura de tabla 76, 362
cuadros de incremento 271 Vea también expresiones fichas 255
cuadros de lista 274 apertura 343 formatos 361
desactivación de la botón Agrupar 346 opciones 360
tecla Esc 262 botón Evaluar 355 orientación 361
desplazamiento 294, 296 comprobación de la temas de Ayuda 44
ejecución 254 sintaxis 344–345 impresión vertical 362
tutores 338 ejemplo 352–354 Imprimir registros, cuadro de
ejemplo, apertura 320 tipos de campo diálogo 360
Experto 217 obligatorios 351 inclusión
formas 293 UDF 358 directorios en la vía de
impresión 255 Generador de expresiones, acceso 30
líneas en 280 cuadro de diálogo 343
líneas maestras del incrustación de objetos 131–132
GETEXPR(), función 343 indicadores (tablas de
diseño 220–226 gráficos
múltiples páginas 253 Paradox) 133
adición a botones 315 indicativo (dBASE III+/IV) 5
niveles 226 adición a fichas 290
rectángulos 281 índices 19
grupo de programas adición 85, 184
solapas 294–295 ejecución de dBASE 14
superficie de diseño 230 almacenamiento 86
teclas de edición 417 archivos .MDX 81
teclas rápidas para H archivos .NDX 78
etiquetas 264 hardware cambio 88
vinculación complejos 81, 93, 185
requisitos 9
a consultas (tutores) 323 consultas 83
HELP, comando 397 corrompido,
fichas de ejemplo, Historial, botón (Ayuda) 43
creación 321–338 reconstrucción 88
hojas de cálculo, diseño 55, 81–94
fijos, campos 60 importación 151
filas 17 eliminación 88
horizontal, impresión 361 en tablas secundarias 212
tablas de Paradox 133
filtrado de datos 186–195 etiquetas 81
adición de condiciones 198 examinación de fichas 287
frente a ordenación 78, 79
Form, clase 251
informes 83
formas 293 introducción de datos 82

Indice 463
ug_dbw.ix Page 464 Friday, September 1, 1995 5:06 PM

maestros 87 Interface de documentos M


orden múltiples Vea MDI
ascendente/descendente 81 Intro, tecla, acciones 298 maestros, índices 87
Paradox 96 introducción de datos Mantenimiento de índices,
reconstrucción 88 conceptos básicos 102 cuadro de diálogo 85
registros seleccionados 89 control en fichas 287 índices de Paradox 98
simples 81 diseño de fichas 221–226 mapas de bits
SQL 454 Ir a campo, cuadro de diálogo 68 adición a botones 315
vinculación de tablas 84 Ir a registro, vinculación con fichas 290
visualización u cuadro de diálogo 122 marcas de verificación
ocultación 185 conmutación de elementos de
índices de producción 81
índices no únicos 90
J menú 304
visualización en menús 310
índices primarios (Paradox) 96 jerarquía, menús 301 máscaras de tabla 177
creación 98 juegos de caracteres 440 modificación del orden de
índices secundarios (Paradox) 96 juegos de caracteres, SQL 455 campos 180
creación 99 justificación máximo, valor
maintained 97 campos memo 390 definición 67
non-maintained 97 texto importado 379 mayor o igual que,
índices simples justificación de texto operador (>= o =>) 187
adición 85 en controles de editor 284 mayor que (>), operador 187
eliminación 88 MDI 4
índices únicos 90
individual, archivo de
L MDI, ventanas 423
MDI, ventanas de ficha 260
índice (.NDX) 78 LEAME.TXT 9 tamaño/posición por
informes 22 lectura de texto de archivos 379 defecto 262
índices 83 lenguaje .MDX, archivos de índice
.INI (inicialización), archivos 447 sentencias y comandos 342 múltiples 81
iniciación línea, longitud adición de índices 85
objetos OLE 132 editores 377 memo, archivos 61
inserción líneas de comando 394 memo, campos 61
archivos enteros 379 líneas de comando 395 menor o igual que,
campos 68 líneas en fichas 280 operador (<= o =<) 187
texto de otro archivo 379 listas desplegables 269 menor que, operador (<) 187
Inspector 236–239 lógicos, campos 60 mensajes
Inspector de Browse longitud máxima de línea cuadro de lista 275
consultas 200 editores 377 lista desplegable 269
Inspector de objetos 26 líneas de comando 394 menú Catálogo (dBASE IV) 405
Inspector de objetos menú Consultas (dBASE IV) 407
Propiedades del escritorio 27 menú Datos (dBASE IV) 406
instalación de dBASE 10–13 menú Etiquetas (dBASE IV) 409
instalaciones personalizadas 10 menú Formato
integridad referencial 73–76 (Diseñador de fichas) 232
cambio 76 menú Informes (dBASE IV) 408
definición 73 menú Pantallas o Fichas
especificación 73–75 (dBASE IV) 407
integridad referencial menú Salir (dBASE IV) 406
(tablas de Paradox) 134 menú Utilidades
Integridad referencial, (dBASE IV) 405
cuadro de diálogo
opción Cascada 75
opción Restringir 75
InterBase
controladores SQL 450
Interface de documento único
Vea SDI

464 Guía del usuario


ug_dbw.ix Page 465 Friday, September 1, 1995 5:06 PM

menús
abandono de cambios 309
modo ejecutar
(Diseñador de fichas) 228
O
almacenamiento de modo formato objetos
diseños 309 (Diseñador de fichas) 228 menú 305
apertura 309 modo insertar 377 OLE 131
asociación de código 311 modo orden texto 263
borrado 309 (Diseñador de fichas) 228 obligatorios, campos 67
Centro de control 405 modo sobrescritura 377 ocultación
conmutadores 304 modos barras de desplazamiento,
creación 305–311 Diseñador de fichas 228 controles de editor 284
definición 299 ejecutar/diseño 28 campos 115
desplegables 305 visualización de iconos 32 cuadrícula 69
Diseñador de fichas 232 modos de visualización, índices complejos 185
Diseñador de menús 241 fichas 286 valores clave duplicados 90
en cascada 307 modos de visualización, OLE 131–132
en ventanas no MDI 311 OLE, campos 61
iconos 32
tipos 300 edición 128
títulos 302, 310 movimiento
en sistema de Ayuda 42 vinculación con fichas 293
ventanas activas 23 OLE, controles 292
menús rápidos 24 muchos con muchos,
relaciones 208 opciones de ordenación 181
Diseñador de fichas 233 operador, $ (contiene) 187
Diseñador de menús 241 multimedia 5
múltiples páginas, fichas 253 operador, * (multiplicación) 196
visualización 29 operador, ** o ^
menús, desplegables 305 múltiples, archivos de
configuración de BDE 447 (exponenciación) 196
menús, principales 301 operador, + (adición) 196
menús, secundarios 301 multiplicación, operador (*) 196
multitabla, consultas 203–213 operador, / (división) 196
métodos operador, < (menor que) 187
controles de ficha 239 operador, <= o =<
métodos abreviados N (menor o igual que) 187
F1 (Ayuda) 41 operador, <> (distinto de) 187
.NDX, (índice individual)
métodos abreviados del teclado operador, = (igual que) 187
archivos 78
Alt+Tab
niveles de acceso 156, 160 operador, > (mayor que) 187
(cambiar de ventana) 39
Ctrl+F4 (cerrar archivo) 35 niveles de las fichas 226 operador, >= o =>
niveles de los controles 248 (mayor o igual que) 187
mínimo, valor
definición 67 no dBASE, alias 442 operador, Like 189
mnemotécnicas, teclas no dBASE, archivos operadores
botones 313 compartir 446 aritméticos 196
.MNU (menú) , archivos 301 no MDI, ventanas 423 relacionales 187
no modal, ventana 260 OR, condiciones 192
modal, ventana 260
normas de denominación y condiciones AND 193
modificación
campos 66 Oracle
orden de campos
tablas 57 controladores SQL 450
(consultas) 180
visualización, numéricos, campos 60 orden indexado 78
controles Browse 287 números de campo orden indexado ascencente 86
Modificar etiqueta de índice, selección 68 orden indexado descendente 86
cuadro de diálogo 185 números de registro 51 orden natural 19, 78, 181
MODIFY COMMAND, orden z (fichas) 248
comando 383, 398 tutores 336
tutorial 337
MODIFY FILE, comando 389
orden z (ichas)
modo Diseñar tabla,
tutorial 337
impresión 362
modo diseño 28
modo diseño
(Diseñador de fichas) 228
modo ejecutar 28

Indice 465
ug_dbw.ix Page 466 Friday, September 1, 1995 5:06 PM

ordenación 95–96 perfiles Propiedades del escritorio,


frente a indexación 78, 79 usuario 163–164 cuadro de diálogo 373
tipo diccionario 182 personalización Protect 154, 162
valores de cuadro controles Browse 287 pulsaciones
combinado 270 ventanas de ficha MDI 261 desplazamiento 125
valores de cuadro de lista 276 personalizado, control 250 puntero de registro 121
ordenación de registros 78 personalizados punto de inserción 395
en varios campos 182 botones 314 desplazamiento 376
ordenación, con distinción entre por defecto puntos muertos 452
mayúsculas y minúsculas 182 valores de campos 67
ordenación, registros 181–183
indexación frente a
principales, tablas 54, 73
privilegios
Q
ordenación 183 esquemas 157–158, 161, .QBE (consulta),
Ordenar, cuadro de diálogo 95 164–167 archivos 175, 199
organización de archivos programa (código) QUIT, comando 398
catálogos 35 visualización 46
Selector de archivos 29 programas R
orientación archivos Vea archivos de
página, impresión 361 programa rangos
ventana de comandos 393 código Vea código en consultas 190
orientación horizontal creación 383 valores de barra de
(impresión) 361 depuración 398 desplazamiento 289
orientación vertical ejecución 398 valores de cuadro de
(impresión) 362 programas de ejemplo 46 incremento 273
propiedades rangos válidos
barras de desplazamiento 289
P campo 117
campos 66 cuadros de incremento 272
página cero 253 de objeto 28 ratón, técnicas 3
páginas de códigos, SQL 455 Diseñador de fichas 231 reapertura del Selector de
paletas Editor de programas 384 archivos 35
campos 235–236 Editor de textos 389 rectángulos, en fichas 281
controles 233–235 campos memo 390 tutores 334
panel de entrada 40, 392 editores 381 recuento de registros 138
panel de resultados 40, 392 entorno 27 recuperación de
copiar texto 395 objeto 26 registros 124, 139
paneles objetos de ficha 237 redes 365
(ventana de comandos) 40 presentación 237 bloqueos 368–372
pantalla, dBASE 16 paleta de campos 236 compartir con Paradox 446
Paradox paleta de controles 234 configuración 366
alias 442 ventana de comandos 393 derechos de acceso 366
archivos de control de Propiedades de la estructura de instalación 12
red 446 tabla, cuadro de diálogo 69 registro actual 121
Paradox (tablas) Propiedades de la ventana de registros 17, 50
seguridad 169 comandos, cuadro de adición 123
Paradox, tablas 67 diálogo 393 almacenamiento de
indexación 96 Propiedades de los registros de cambios 128
nombres de campo 66 tabla, cuadro de bloqueo 368, 371
parámetros de entorno diálogo 114–120 borrado
globales 27 apertura 114 todos 140
paso (cuadros de opciones de campo 115–118 varios 139
incremento) 272 opciones de registro 119 búsqueda 141–143
patrones, rectángulos en opciones de ventana 120 cálculo de datos 145
propiedades de objeto 26, 28 cancelación de cambios 129
fichas 282
Propiedades del campo, cuadro edición 125–129
pegar varios 135–150
controles 246 de diálogo 117
Propiedades del editor, eliminación 123
texto 378 exportación 148
cuadro de diálogo 381

466 Guía del usuario


ug_dbw.ix Page 467 Friday, September 1, 1995 5:06 PM

generación 138 S SQL, alias 442


marcados para borrado 140 creación 445
opciones de presentación/ sangrado de texto 385 SQL, bases de datos 451
ocultación 119 SDI 4 sucesos
orden indexado 86 SDI, ventanas de ficha 260 objetos de ficha 238
ordenación 78, 181–183 secundarias, tablas 54, 73 sucesos (ejemplos) 28
recuento 138 seguridad 153–169 superficie de diseño (fichas) 230
recuperación 139 acceso de grupo 156 supresión
selección 136–137, 186 cambio de esquemas 168 condiciones de consulta 195
supresión de marcas 124 configuración 159–168 supresión de archivos 38
sustitución de datos 143 niveles 154 supresión de marcas de
vaciado 125 niveles de acceso 156 borrado 139
validación automática 126 seguridad Vea derechos de acceso supresión de marcas de
Registros de tabla, Selector registros 124
ventana 110–113 teclas 417 supresión de objetos OLE 132
formato Browse 111 Selector de archivos 29–35 sustitución
formato En columnas 113 apertura de tablas 107 datos 143
formato Ficha 112 frente a ventana de identificadores de
propiedades 114–119 catálogo 36 operadores 350
teclas de edición 414 iconos 31 texto 380
registros vinculados, sensible al contexto (Ayuda) 41 Sustituir registros, cuadro de
exportación 148 sentencias, lenguaje 342 diálogo 144
registros, selección 121 separadores sustracción, operador (-) 196
rehacer menú 303 Sybase
cambios en controles 246 definición 310 controladores SQL 450
reindexación 88 servidores de archivos 367
relacionales, operadores 187 servidores OLE 131
relaciones de valores servidores, red 13
múltiples 208 sesiones 18, 104–106
relaciones de valores únicos y apertura de varias tablas 108
múltiples 54 cierre de tablas 109
relaciones entre tablas 54 SET DIRECTORY, comando 397
relaciones, de tabla 208–213 SET ENCRYPTION 158
repetición de comandos 394 SET PATH, comando 397
requisitos SHARE 366
hardware 9 signo de interrogación (?),
restablecimiento carácter comodín 189
parámetros de simples, índices 81
DBASEWIN.INI 421 sintaxis de comandos
restricción de entradas de cuadro pegado desde la Ayuda 387
de incremento 273 sintaxis pegada de la Ayuda 387
Restringir, opción solapas
(Integridad referencial) 75 en fichas 294–295
Resultado de la consulta, sólo lectura, campos 198
ventana sólo lectura, vistas 183
teclas de edición 416 soporte técnico 6
SORT, comando 183
SQL (Lenguaje de consulta
estructurado) 449–455
controladores de idioma 455
índices 454
precauciones 455
transacciones 452
SQL Link 449
controladores de idioma 455

Indice 467
ug_dbw.ix Page 468 Friday, September 1, 1995 5:06 PM

T vinculación 205–212 títulos


índices 84 menú 302, 310
tablas 49–76 opciones 209 todos los registros, borrado 140
acceso 156 tutores 321 transacciones 452
adición tablas de Paradox Tutores interactivos 45
a consultas 204 compartición 133
campos 68 derechos de acceso 133
almacenamiento de tablas destino 95
U
cambios 128 tablas origen 95, 147 UDF (funciones definidas
almacenamiento del tablas secundarias por el usuario)
diseño 70 indexación 212 adición 358
apertura 106–109 tablas SQL UI (interface de usuario) 16
cifradas 109 bloqueo 369 uno con uno/uno con muchos,
varias 106, 108 tabuladores en archivos de relaciones 208
bloqueo 368, 369–371 programa 385 USE, comando 397
cálculo de datos 145 teclas 411–417 usuarios
campos edición 377, 378 grupos 160
actual 125 teclas de edición 413 perfiles 155, 163–164
cancelación de tablas 414–415
cambios 71, 129
cierre 109
teclas de método abreviado
elementos de menú 310
V
cifrado 154, 158 teclas específicas de vaciado de registros 125
compactación 140 validación
ventanas 414–417
concepto 17 datos 67
creación 64–69 teclas generales 411
teclas rápidas 310 validación automática 126
denominación 57 valores clave
desplazamiento del puntero asignación
a etiquetas de ficha 264 examinación de fichas 287
de registro 121 ocultación de duplicados 90
diseño 57–63 menús 302
técnico, soporte 6 valores de campo 51
eliminación de campos 69
terminología en manuales 4 comparación 196
estructura
advertencias 71 texto valores máximos
cambio 71–72 búsqueda 379 barras de desplazamiento 289
impresión 76 copia cuadros de incremento 273
formato Browse 111 archivos 379 valores mínimos
formato En columnas 113 copiar barras de desplazamiento 289
formato Ficha 112 panel de resultados 395 cuadros de incremento 273
impresión de datos 360 cortar/copiar/pegar 378 valores múltiples, relaciones 208
máscaras 177 edición 377–380 valores válidos
objetos OLE 131–132 ventana de comandos 395 cuadros de incremento 273
orden 66 inserción en archivos 379 valores, comparación 196
ordenación 95–96 justificación en controles de varias sentencias
Paradox 133 editor 284 (líneas de comando) 394
principales 73, 205, 206 objetos 263 varias tareas en distintas
principales/secundarias 54 sangrado 385 sesiones 104
privilegios 157, 161, 164–166 selección varias ventanas de catálogo 38
relaciones 208–213 bloques 378 varias versiones de
secundarias 73, 205, 206 sustitución 380 DBASEWIN.INI 420
seguridad 153–169 teclas de edición 413 varios comandos 394
selección de campos 67 tipo varios controles, selección 244
SQL 453 forma en fichas 293
varios registros
teclas de desplazamiento 125 tipo de archivo Personalizado 33 borrado 139
teclas de edición 414–415 tipos de campo 57–62 edición 135–150
tipos 57 indexación 94 VBX, controles 233, 250
una o varias 53 obligatorios (Generador de
ventana de aplicación 16
expresiones) 351
Paradox 58 ventana de catálogo 36–38
tipos de datos, conversión 213

468 Guía del usuario


ug_dbw.ix Page 469 Friday, September 1, 1995 5:06 PM

ventana de visualización
comandos 40, 391–399 asociaciones de archivos 37
Vea también comandos código de programa 46
adición de expresiones 394 LEAME.TXT 9
apertura 392 menús rápidos 29
cierre 392 visualización de iconos 32
propiedades 393
ventana Registros de tabla 18 W
ventanas
cierre de editores 380 .WFM, archivos de ficha 219
emergentes (Ayuda) 42 WIN.INI y BDE 10
ficha 260 Windows
títulos 262 entorno
MDI y no MDI 423 parámetros 27
menú 308
ventanas no MDI Z
menús 311
vía de acceso, instalación por zonas interactivas (Ayuda) 42
defecto 10
vías de acceso, definición 30
vinculación
barras de desplazamiento con
tablas 289
botones de radio con
tablas 279
campos de entrada con
tablas 266
casillas de verificación con
campos lógicos 278
controles Browse con
tablas 285
controles de editor con
tablas 283
controles de imagen 290
controles OLE con
campos OLE 293
cuadros combinados con
tablas 268
cuadros de incremento con
tablas 272
fichas con tablas 261
fichas y consultas
tutores 323
objetos OLE a
campos 131–132
tablas 205–212
índices 84
opciones 209
tutores 321
Visor de imágenes
parámetros 438
Visor de OLE
parámetros 438
vistas
definición 174
resultados de consulta 200
sólo lectura 183

Indice 469
ug_dbw.ix Page 470 Friday, September 1, 1995 5:06 PM

470 Guía del usuario


title.dwu Page i Friday, September 1, 1995 4:10 PM

Guía del usuario

®
VERSIÓN 5.5 Visual dBASE
Borland International, Inc., 100 Borland Way
P.O. Box 660001, Scotts Valley, CA 95067-0001
title.dwu Page ii Friday, September 1, 1995 4:10 PM

Borland puede tener patentes y/o aplicaciones pendientes de patente que afecten al contenido de este documento.
La posesión de este documento no concede derecho de licencia sobre dichas patentes.
COPYRIGHT © 1984, 1995 Borland International. Todos los derechos reservados. Todos los productos Borland son
marcas registradas de Borland International, Inc. Otras marcas y nombres de productos son marcas registradas de
sus respectivos propietarios.
ug_dbw.toc Page i Friday, September 1, 1995 4:11 PM

Tabla de Contenido
Introducción 1 Capítulo 2
Contenido de la Guía del usuario . . . . . . . . . . 2 Introducción 15
Recursos en línea . . . . . . . . . . . . . . . . . . .2 Interface de usuario. . . . . . . . . . . . . . . . . 16
Documentación de Visual dBASE . . . . . . . . . 3 Gestión de datos. . . . . . . . . . . . . . . . . . . 17
Términos, técnicas y convenciones. . . . . . . . . 3 Recopilación de datos en tablas . . . . . . . . . 17
Términos relacionados con el ratón . . . . . . . .3 Comentario sobre las sesiones . . . . . . . . . 18
Términos relacionados con el teclado . . . . . . .3 Organización de datos mediante índices. . . . 19
Términos generales. . . . . . . . . . . . . . . . . .4 Visualización de datos mediante consultas . . 20
Transición a Visual dBASE . . . . . . . . . . . . . 4 Visualización de datos mediante fichas . . . . 21
Para programadores en Windows . . . . . . . . .4 Creación de informes y etiquetas . . . . . . . . 22
Para usuarios expertos de dBASE . . . . . . . . .5 Elementos del interface de usuario. . . . . . . . 23
Para programadores expertos de dBASE . . . . .6 Menús . . . . . . . . . . . . . . . . . . . . . . . . 23
Registro del software y soporte técnico . . . . . . 6 Menús rápidos . . . . . . . . . . . . . . . . . . 24
El Escritorio . . . . . . . . . . . . . . . . . . . . . 24
Parte I La barra rápida y la barra de estado . . . . . . 25
Procedimientos iniciales 7 Uso de objetos y propiedades . . . . . . . . . . . 26
Definición de propiedades con inspectores . . 26
Definición de las propiedades de entorno . . . 27
Capítulo 1 Propiedades y fichas. . . . . . . . . . . . . . . . 28
Instalación y configuración 9 Modos ejecutar y diseño . . . . . . . . . . . . . . 28
Archivo LEAME . . . . . . . . . . . . . . . . . . . 9 Acceso a archivos con el Selector . . . . . . . . . 29
Requisitos de componentes y programas. . . . . 9 Uso del Selector de archivos . . . . . . . . . . . 29
Instalación de Visual dBASE . . . . . . . . . . . 10 Definición de una vía de búsqueda . . . . . . 30
Opciones de instalación . . . . . . . . . . . . . . 10 Iconos de tipo de archivo del Selector . . . . . 31
Cambios en los archivos de configuración . . . 10 Clasificación de iconos. . . . . . . . . . . . . . 31
Elección de un modo de visualización
Carga automática de archivos . . . . . . . . . . 11 del Selector de archivos . . . . . . . . . . . . 32
Instalación en red . . . . . . . . . . . . . . . . . . 12 Uso de alias de base de datos . . . . . . . . . . 33
Instalación desde una red . . . . . . . . . . . . . 12 Uso del tipo de archivo Personalizado . . . . 33
Ejecución desde un servidor de red . . . . . . . 13 Cierre del Selector de archivos . . . . . . . . . 35
Archivos de aplicación. . . . . . . . . . . . . . . 14 Almacenamiento de proyectos en catálogos . . 35
Configuración del Engine de base de Uso de la ventana de catálogo . . . . . . . . . . 36
datos de Borland . . . . . . . . . . . . . . . . . 14 Creación de catálogos . . . . . . . . . . . . . . 36
Incorporación de archivos a catálogos. . . . . 37
Visualización de asociaciones de archivos . . 37
Uso de catálogos . . . . . . . . . . . . . . . . . 38
Cierre de catálogos . . . . . . . . . . . . . . . . 38
Selección de un editor de texto . . . . . . . . . . 39
Uso de la ventana de comandos . . . . . . . . . 40
Ayuda en línea. . . . . . . . . . . . . . . . . . . . 41
Localización de temas . . . . . . . . . . . . . . . 41
Ayuda sensible al contexto . . . . . . . . . . . . 41
Desplazamiento en la Ayuda . . . . . . . . . . 42
Cambio de temas de Ayuda . . . . . . . . . . 42
Visualización de menús de ventanas
de Ayuda . . . . . . . . . . . . . . . . . . . . 42
Uso de la barra de botones . . . . . . . . . . . 43
Búsquedas en la Ayuda. . . . . . . . . . . . . . 43
Copia de texto de Ayuda . . . . . . . . . . . . . 44

i
ug_dbw.toc Page ii Friday, September 1, 1995 4:11 PM

Impresión de temas de Ayuda . . . . . . . . . . 44 Integridad referencial. . . . . . . . . . . . . . . . 73


Uso de Tutores interactivos . . . . . . . . . . . . 45 Definición de la integridad referencial . . . 73
Archivos de ejemplo de Visual dBASE . . . . . 46 Acciones de actualización y borrado . . . . 75
Cambio o eliminación de la integridad
referencial . . . . . . . . . . . . . . . . . . 76
Parte II
Impresión de la estructura de una tabla . . . . . 76
Tablas 47
Capítulo 4
Capítulo 3 Indexación y ordenación de datos 77
Creación de tablas 49 Acerca de la indexación y la ordenación . . . . 78
Acerca de las tablas . . . . . . . . . . . . . . . . . 50 Definición del orden de los registros . . . . . . 78
Términos y conceptos . . . . . . . . . . . . . . . 50 Indexación frente a ordenación . . . . . . . . . 79
Tipos de tabla admitidos . . . . . . . . . . . . . 51 Conceptos básicos sobre los índices . . . . . . . 81
Líneas maestras del diseño de tablas . . . . . . 52 Planificación de índices . . . . . . . . . . . . . . 82
Identificación de la información necesaria . . . 52 Uso de los índices en la introducción
Clasificación de la información . . . . . . . . . . 53 de datos . . . . . . . . . . . . . . . . . . . . . . 82
Determinación de relaciones entre Uso de índices en consultas . . . . . . . . . . . 83
las tablas . . . . . . . . . . . . . . . . . . . . . . 53 Uso de índices en informes. . . . . . . . . . . . 83
Una o varias tablas . . . . . . . . . . . . . . . . 53 Uso de índices para vincular tablas . . . . . . . 84
Relaciones de valores únicos y múltiples. . . 54 Creación de índices simples . . . . . . . . . . . . 85
Tablas principales y secundarias. . . . . . . . 54 Uso del Diseñador de tablas . . . . . . . . . . . 85
Minimización de redundancias. . . . . . . . . . 55 Uso del cuadro de diálogo
Identificación de los campos de índice . . . . . 55 Mantenimiento de índices . . . . . . . . . . . 85
Definición de campos individuales . . . . . . . 56 Selección del índice maestro. . . . . . . . . . . . 87
Conceptos básicos de la estructura de tabla . . 57 Tareas relativas a los índices. . . . . . . . . . . . 88
Nombres de tabla. . . . . . . . . . . . . . . . . . 57 Modificación de índices. . . . . . . . . . . . . . 88
Tipos de tabla . . . . . . . . . . . . . . . . . . . . 57 Eliminación de índices . . . . . . . . . . . . . . 88
Tipos de campo . . . . . . . . . . . . . . . . . . . 57 Reindexación . . . . . . . . . . . . . . . . . . . . 88
Campos de carácter . . . . . . . . . . . . . . . 60 Indices basados en subconjuntos de
Campos numéricos y de coma flotante . . . . 60 registros . . . . . . . . . . . . . . . . . . . . . . 89
Campos de fecha . . . . . . . . . . . . . . . . . 60 Ocultación de valores duplicados . . . . . . . . 90
Campos lógicos. . . . . . . . . . . . . . . . . . 60
Creación de índices complejos . . . . . . . . . . 91
Campos memo . . . . . . . . . . . . . . . . . . 61
Campos binarios . . . . . . . . . . . . . . . . . 61
Reglas de los índices complejos . . . . . . . . . 91
Campos OLE . . . . . . . . . . . . . . . . . . . 61 Creación del índice . . . . . . . . . . . . . . . . 92
Indices . . . . . . . . . . . . . . . . . . . . . . . . 62 Expresiones clave . . . . . . . . . . . . . . . . . 92
Orden de los índices complejos . . . . . . . . . 93
Finalización del diseño de las tablas . . . . . . . 62
Uso de funciones. . . . . . . . . . . . . . . . . . 94
Creación de tablas . . . . . . . . . . . . . . . . . 64
Ordenación de datos . . . . . . . . . . . . . . . . 95
Creación de la estructura de tabla . . . . . . . . 65
Definición de campos . . . . . . . . . . . . . . . 65 Indices primarios y secundarios . . . . . . . . . 96
Especificación de restricciones de Indices primarios de Paradox . . . . . . . . . . 96
entrada de datos . . . . . . . . . . . . . . . . . 67 Claves únicas . . . . . . . . . . . . . . . . . . . 96
Desplazamiento por la ventana de Tipos de campos clave. . . . . . . . . . . . . . 97
estructura de tabla . . . . . . . . . . . . . . . . 67 Orden de los registros . . . . . . . . . . . . . . 97
Adición e inserción de campos . . . . . . . . . . 68 Indices Mantenidos y No mantenidos . . . . . 97
Desplazamiento de campos . . . . . . . . . . . . 69 Creación de índices primarios . . . . . . . . . . 98
Eliminación de campos . . . . . . . . . . . . . . 69 Uso del Diseñador de tablas . . . . . . . . . . 98
Aspecto del Diseñador de tablas . . . . . . . . . 69 Uso del cuadro de diálogo
Mantenimiento de índices. . . . . . . . . . . 98
Almacenamiento de la estructura de tabla . . . 70
Creación de índices secundarios. . . . . . . . . 99
Cancelación de los cambios . . . . . . . . . . . . 71
Restructuración de tablas . . . . . . . . . . . . . 71
Normas importantes . . . . . . . . . . . . . . . . 71
Cambio de la estructura . . . . . . . . . . . . . . 72

ii
ug_dbw.toc Page iii Friday, September 1, 1995 4:11 PM

Capítulo 5 Modificación de datos en los registros. . . . . 125


Selección de un campo . . . . . . . . . . . . . .125
Introducción y edición de datos 101 Vaciado de registros . . . . . . . . . . . . . . . .125
Acerca de la introducción de datos . . . . . . 102 Edición de datos . . . . . . . . . . . . . . . . . .126
Configuración del entorno Visual dBASE . . 103 Validación automática de datos . . . . . . . .126
Apertura y cierre de tablas . . . . . . . . . . . 104 Edición de campos de carácter . . . . . . . . .126
Sesiones . . . . . . . . . . . . . . . . . . . . . . 104 Edición de campos numéricos y de
Sesiones activadas . . . . . . . . . . . . . . . . 105 coma flotante . . . . . . . . . . . . . . . . . .126
Sesiones desactivadas . . . . . . . . . . . . . . 106 Edición de campos de fecha. . . . . . . . . . .127
Sesiones y áreas de trabajo . . . . . . . . . . . 106 Edición de campos lógicos . . . . . . . . . . .127
Apertura de tablas . . . . . . . . . . . . . . . . 106 Edición de campos memo. . . . . . . . . . . .127
Apertura de tablas desde el Apertura de campos memo . . . . . . . . .127
Selector de archivos . . . . . . . . . . . . . . 107 Edición de campos binarios. . . . . . . . . . .128
Apertura de tablas desde el menú Edición de campos OLE . . . . . . . . . . . . .128
Archivo . . . . . . . . . . . . . . . . . . . . . 108 Anulación de cambios. . . . . . . . . . . . . . .128
Apertura de tablas mediante consultas . . . . 108 Almacenamiento o cancelación de
Apertura de tablas más de una vez . . . . . . 108 cambios . . . . . . . . . . . . . . . . . . . . . . 128
Apertura de una tabla protegida. . . . . . . . 109 Almacenamiento de cambios . . . . . . . . . .128
Cierre de tablas . . . . . . . . . . . . . . . . . . 109 Cancelación de cambios. . . . . . . . . . . . . .129
Uso de la ventana Registros de tabla . . . . . 110 Utilización de sonidos e imágenes . . . . . . . 129
Formatos de datos . . . . . . . . . . . . . . . . 110 Inserción de archivos de imagen en
Cambio de formato. . . . . . . . . . . . . . . . 111 campos binarios . . . . . . . . . . . . . . . . .130
Formato Browse . . . . . . . . . . . . . . . . . 111 Visualización de imágenes . . . . . . . . . . . .130
Cambio del tamaño de las columnas . . . . . 111 Ejecución de sonidos . . . . . . . . . . . . . . .130
Desplazamiento de columnas . . . . . . . . . 112 Vinculación e incrustación de objetos . . . . . 131
Formato Ficha . . . . . . . . . . . . . . . . . . . 112 Adición de objetos a campos OLE. . . . . . . .131
Formato En columnas . . . . . . . . . . . . . . 113 Carga de objetos OLE con su aplicación . . . .132
Definición de las propiedades de la Supresión de objetos de campos OLE . . . . .132
ventana Registros de tabla. . . . . . . . . . . 114 Uso de tablas de Paradox . . . . . . . . . . . . 133
Ocultación y presentación de campos . . . . . 115
Adición de campos calculados . . . . . . . . . 116
Definición de propiedades de campo . . . . . 117
Selección de registros para mostrar
en pantalla . . . . . . . . . . . . . . . . . . . . 119
Control de la presentación de los datos . . . . 120
Desplazamiento a otros registros. . . . . . . . 121
Desplazamiento a un registro específico . . . 122
Ir a . . . . . . . . . . . . . . . . . . . . . . . . . 122
Buscar . . . . . . . . . . . . . . . . . . . . . . . 122
Adición de registros a una tabla . . . . . . . . 123
Eliminación de registros de una tabla . . . . . 123
Marcado de registros para borrado . . . . . . 123
Recuperación de registros . . . . . . . . . . . . 124

iii
ug_dbw.toc Page iv Friday, September 1, 1995 4:11 PM

Capítulo 6 Capítulo 7
Operaciones con grupos Seguridad de tablas 153
de registros 135 Seguridad de Visual dBASE . . . . . . . . . . . 154
Acerca de los grupos de registros . . . . . . . 135 Tres niveles de seguridad. . . . . . . . . . . . .154
Seguridad de conexión . . . . . . . . . . . . . .155
Selección de registros para procesarlos . . . . 136
Archivos de contraseña . . . . . . . . . . . . . .155
Selección de rangos de registros . . . . . . . . 136
Acceso de usuario y grupos . . . . . . . . . . .156
Definición de condiciones For . . . . . . . . . 137
Acceso de tabla . . . . . . . . . . . . . . . . . .156
Definición de condiciones While . . . . . . . . 137 Perfiles de usuario y niveles de acceso . . . .156
Generación de registros . . . . . . . . . . . . . 138 Esquemas de privilegios de tabla . . . . . . . .157
Recuento de registros . . . . . . . . . . . . . . 138 Privilegios de tabla . . . . . . . . . . . . . . . .157
Eliminación y recuperación de registros . . . 139 Privilegios de campo. . . . . . . . . . . . . . .158
Borrado de grupos de registros. . . . . . . . . 139 Cifrado de datos . . . . . . . . . . . . . . . . . .158
Recuperación de registros . . . . . . . . . . . . 139 Uso de SET ENCRYPTION . . . . . . . . . . .158
Compactación de tablas . . . . . . . . . . . . . 140 Procedimientos generales . . . . . . . . . . . . 159
Borrado de todos los registros de Planificación del sistema de seguridad . . . . 160
una tabla . . . . . . . . . . . . . . . . . . . . . 140 Planificación de grupos de usuario . . . . . . .160
Búsqueda y recuperación de datos. . . . . . . 141 Planificación de los niveles de acceso
Búsqueda de información en una tabla . . . . 141 de usuario . . . . . . . . . . . . . . . . . . . . .160
Selección de registros para una Planificación de los privilegios de tabla . . . .161
búsqueda . . . . . . . . . . . . . . . . . . . . 143 Planificación de privilegios de campo . . . . .161
Sustitución de datos en registros . . . . . . . . 143 Configuración del sistema de seguridad . . . 162
Sustitución de datos . . . . . . . . . . . . . . . 144 Definición de la contraseña del
Cálculo de datos . . . . . . . . . . . . . . . . . 145 administrador de base de datos . . . . . . . .162
Exportación e importación de datos . . . . . . 147 Creación de perfiles de usuario . . . . . . . . .163
Tipos de archivo para importación, Cambio de perfiles de usuario . . . . . . . . .164
exportación y adición . . . . . . . . . . . . . 147 Borrado de perfiles de usuario . . . . . . . . .164
Exportación de datos. . . . . . . . . . . . . . . 147 Establecimiento de privilegios de tabla. . . . .164
Consecuencias de la exportación . . . . . . . 148 Selección de una tabla . . . . . . . . . . . . . .165
Exportación de registros . . . . . . . . . . . . 148 Asignación de la tabla a un grupo . . . . . . .165
Importación de datos. . . . . . . . . . . . . . . 149 Definición de privilegios de tabla . . . . . . .166
Importación desde archivos de tablas, Definición de privilegios de campo . . . . . .166
texto y SDF . . . . . . . . . . . . . . . . . . . 149 Definición del esquema para forzar
Consecuencias de la adición . . . . . . . . . . 150 seguridad . . . . . . . . . . . . . . . . . . . . .168
Importación de datos de hojas de cálculo. . . 151 Incorporación de contraseñas en las
tablas de Paradox . . . . . . . . . . . . . . . .169
Eliminación de contraseñas de las
tablas de Paradox. . . . . . . . . . . . . . . .169

iv
ug_dbw.toc Page v Friday, September 1, 1995 4:11 PM

Parte III Apertura de una consulta existente . . . . . . 201


Consultas 171 Límites de consulta . . . . . . . . . . . . . . . . 201
Capítulo 9
Capítulo 8 Creación de consultas multitabla 203
Creación de consultas 173 Apertura de varias tablas . . . . . . . . . . . . 204
Acerca de las consultas y las vistas. . . . . . . 174 Creación del vínculo . . . . . . . . . . . . . . . 205
Contenido de las consultas . . . . . . . . . . . 174 Adición de las especificaciones del
Archivos de consulta (.QBE) . . . . . . . . . . 175 vínculo . . . . . . . . . . . . . . . . . . . . . . 206
Uso de una consulta para crear una
ficha o informe . . . . . . . . . . . . . . . . . 175 Relaciones de valores únicos y múltiples . . . 208
El Diseñador de consultas como Opciones de vinculación . . . . . . . . . . . . . 209
generador de código . . . . . . . . . . . . . . 176 Todos los principales. . . . . . . . . . . . . . .209
Creación de una consulta . . . . . . . . . . . . 176 Uno con muchos. . . . . . . . . . . . . . . . . .209
Consultas y sesiones . . . . . . . . . . . . . . . 177 Forzar integridad . . . . . . . . . . . . . . . . .210
Desplazamiento por el Diseñador de Estructuras de consulta alternativas . . . . . . 211
consultas . . . . . . . . . . . . . . . . . . . . . 178 Modificación o eliminación de una
La barra rápida . . . . . . . . . . . . . . . . . . 178 relación . . . . . . . . . . . . . . . . . . . . . . 211
Selección y ordenación de campos. . . . . . . 179 Adición de un índice a la
Especificación del orden de los registros . . . 181 tabla secundaria . . . . . . . . . . . . . . . . . 212
Ordenación de registros mediante Introducción de una expresión principal . . . 213
cuadros de ordenación. . . . . . . . . . . . . 181
Uso de dos o más cuadros de ordenación. . . 182 Parte IV
Ordenación frente a indexación . . . . . . . . 183 Fichas 215
Ordenación de registros mediante un
índice . . . . . . . . . . . . . . . . . . . . . . . 184
Creación de índices con distinción entre Capítulo 10
mayúsculas y minúsculas. . . . . . . . . . . 184 Diseño de fichas 217
Un índice complejo para orden
multicampo . . . . . . . . . . . . . . . . . . . 185 Acerca de las fichas . . . . . . . . . . . . . . . . 218
Visualización y ocultación de índices Archivos de ficha (.WFM) . . . . . . . . . . . .219
complejos . . . . . . . . . . . . . . . . . . . . 185 Archivos binarios de fichas VBX (.BFM) . . . .220
Filtrado de datos: selección de registros Líneas maestras del diseño de fichas. . . . . . 220
para su visualización . . . . . . . . . . . . . . 186 Objetivo del diseño de fichas. . . . . . . . . . .220
Operadores relacionales . . . . . . . . . . . . . 187 Finalidad de las fichas. . . . . . . . . . . . . . .220
Requisitos de las condiciones de consulta . . 188 Diseño de fichas de entrada de datos . . . . . .221
Carácter . . . . . . . . . . . . . . . . . . . . . . 188 Identificación de la información que
Numérico . . . . . . . . . . . . . . . . . . . . . 188 se va a utilizar . . . . . . . . . . . . . . . . . .221
Fecha . . . . . . . . . . . . . . . . . . . . . . . . 188 Identificación de las tareas que se
Lógico . . . . . . . . . . . . . . . . . . . . . . . 188 han de realizar . . . . . . . . . . . . . . . . .221
Memo . . . . . . . . . . . . . . . . . . . . . . . 188 Determinación de la finalidad de
Uso de caracteres comodín . . . . . . . . . . . 189 cada elemento de datos . . . . . . . . . . . .222
Identificación de los controles que
Condiciones AND y OR . . . . . . . . . . . . . 190 se van a utilizar . . . . . . . . . . . . . . . . .223
Definición de condiciones AND . . . . . . . . 190 Diseño del formato de la ficha . . . . . . . . .224
Definición de condiciones OR . . . . . . . . . 192 Líneas maestras del uso de fuentes . . . . . . .225
Combinación de condiciones AND y OR . . . 193 Líneas maestras del uso de colores . . . . . . .225
Uso del cuadro Condiciones . . . . . . . . . . 194 Líneas maestras del uso del orden z . . . . . .226
Comparación de valores de campo . . . . . . 196
Creación de campos calculados . . . . . . . . 197
Almacenamiento de consultas . . . . . . . . . 199
Ejecución de consultas . . . . . . . . . . . . . . 200

v
ug_dbw.toc Page vi Friday, September 1, 1995 4:11 PM

Capítulo 11 Utilización de formatos . . . . . . . . . . . . . 252


Herramientas y técnicas del Utilización de fichas con múltiples
páginas . . . . . . . . . . . . . . . . . . . . . . 253
Diseñador de fichas 227 Operaciones con archivos . . . . . . . . . . . . 253
Acerca del Diseñador de fichas . . . . . . . . . 228 Modificación de fichas . . . . . . . . . . . . . .253
Modos diseño y ejecutar. . . . . . . . . . . . . 228 Almacenamiento de cambios en una ficha. . .254
Modo diseño . . . . . . . . . . . . . . . . . . . 228 Cancelación de los cambios . . . . . . . . . . .254
Modo ejecutar. . . . . . . . . . . . . . . . . . . 228 Ejecución de fichas. . . . . . . . . . . . . . . . .254
Comportamiento de las herramientas . . . . . 229 Impresión de fichas . . . . . . . . . . . . . . . .255
El Diseñador de fichas . . . . . . . . . . . . . . 229
La ventana de ficha. . . . . . . . . . . . . . . . 230 Capítulo 12
Propiedades del Diseñador de fichas . . . . . 231 Creación de fichas 257
Configuración de la ficha . . . . . . . . . . . . 231
Configuración de la cuadrícula . . . . . . . . 231
Proceso de creación de fichas . . . . . . . . . . 257
Cuadrícula X e Y . . . . . . . . . . . . . . . . . 231 Nota preliminar . . . . . . . . . . . . . . . . . . 258
El menú del Diseñador de fichas . . . . . . . . 232 Creación de una ficha. . . . . . . . . . . . . . . 258
El menú Formato. . . . . . . . . . . . . . . . . 232 Uso del Experto de fichas . . . . . . . . . . . . 259
Barra rápida del Diseñador de fichas . . . . . 232 Acerca de las ventanas de ficha . . . . . . . . . 260
El menú rápido del Diseñador de fichas . . . 233 Ventanas MDI y SDI. . . . . . . . . . . . . . . .260
La paleta de controles . . . . . . . . . . . . . . 233 Ventanas modales y no modales . . . . . . . .260
Propiedades de la paleta de controles. . . . . 234 Personalización de una ventana de
Mostrar . . . . . . . . . . . . . . . . . . . . 234 ficha MDI . . . . . . . . . . . . . . . . . . . . . 261
Solapas. . . . . . . . . . . . . . . . . . . . . 234
Vinculación de una ficha con datos . . . . . . .261
Restablecer puntero . . . . . . . . . . . . . 234
Posición . . . . . . . . . . . . . . . . . . . . 235 Definición del título de la ventana . . . . . . .262
La paleta de campos . . . . . . . . . . . . . . . 235 Adición de una barra de menús . . . . . . . . .262
Propiedades de la paleta de campos . . . . . 236 Definición del tamaño y posición
por defecto de la ventana . . . . . . . . . . . .262
El Inspector . . . . . . . . . . . . . . . . . . . . 236
La página Propiedades . . . . . . . . . . . . . 237 Desactivación de la tecla Esc . . . . . . . . . . .262
Visualización por categorías Creación de controles en una ficha . . . . . . . 263
o alfabética . . . . . . . . . . . . . . . . . 237 Creación de texto. . . . . . . . . . . . . . . . . .263
Página Sucesos . . . . . . . . . . . . . . . . . . 238 Especificación de teclas rápidas
Página Métodos . . . . . . . . . . . . . . . . . 239 para etiquetas . . . . . . . . . . . . . . . . . .264
El Editor de procedimientos . . . . . . . . . . 240 Creación de campos de entrada . . . . . . . . .265
Apertura del Editor de procedimientos. . . . 240 Vinculación de campos de entrada
El Diseñador de menús . . . . . . . . . . . . . 241 con campos de tabla . . . . . . . . . . . . . .266
El menú del Diseñador de menús . . . . . . . 241 Validación de datos . . . . . . . . . . . . . . .266
Barra rápida del Diseñador de menús . . . . 241 Asignación de formato a los datos de
Menú rápido del Diseñador de menús . . . . 241 un campo . . . . . . . . . . . . . . . . . . . .267
Creación de cuadros combinados . . . . . . . .267
Uso de los controles . . . . . . . . . . . . . . . 242 Vinculación de un cuadro combinado
Adición de controles . . . . . . . . . . . . . . . 244 con un campo de tabla . . . . . . . . . . . . .268
Selección de controles . . . . . . . . . . . . . . 244 Especificación de mensajes para
Selección de varios controles . . . . . . . . . . 244 una lista desplegable . . . . . . . . . . . . . .269
Cambio de propiedades . . . . . . . . . . . . . 245 Selección del estilo de cuadro combinado . .270
Desplazamiento de controles . . . . . . . . . . 245 Ordenación de listas de valores . . . . . . . .270
Cortar, copiar, pegar y eliminar . . . . . . . . 246
Deshacer y rehacer cambios. . . . . . . . . . . 246
Cambio del tamaño de los controles . . . . . . 246
Alineación de controles . . . . . . . . . . . . . 247
Definición de planos para los
controles (orden z) . . . . . . . . . . . . . . . 248
Cambio del orden z de un control . . . . . . . 248
Utilización de controles personalizados. . . . 250
Utilización de fichas base . . . . . . . . . . . . 251

vi
ug_dbw.toc Page vii Friday, September 1, 1995 4:11 PM

Creación de cuadros de incremento . . . . . . 271 Vinculación de una barra de


Vinculación de un cuadro de desplazamiento con un campo. . . . . . . . .289
incremento con un campo de tabla . . . . . 272 Definición del rango válido . . . . . . . . . . .289
Definición del paso. . . . . . . . . . . . . . . . 272 Creación de controles de imagen . . . . . . . .290
Validación de entradas de cuadros de Vinculación de datos. . . . . . . . . . . . . . .290
incremento . . . . . . . . . . . . . . . . . . . 272 Alineación de datos . . . . . . . . . . . . . . .292
Definición de un rango válido . . . . . . . 273 Creación de controles OLE . . . . . . . . . . . .292
Código de validación . . . . . . . . . . . . 273 Vinculación de datos. . . . . . . . . . . . . . .293
Para impedir que los usuarios Creación de una forma en una ficha . . . . . .293
introduzcan valores . . . . . . . . . . . . . . 273 Definición del tipo de forma . . . . . . . . . .293
Asignación de formato a los datos. . . . . . . 273 Definición del ancho de la línea . . . . . . . .294
Creación de cuadros de lista . . . . . . . . . . 274 Definición del estilo de línea . . . . . . . . . .294
Especificación de mensajes en un Inclusión de solapas en una ficha . . . . . . . .294
cuadro de lista . . . . . . . . . . . . . . . . . 275
Creación de solapas . . . . . . . . . . . . . . .295
Selección de varios valores . . . . . . . . . . . 276
Desplazamiento entre las solapas . . . . . . .295
Ordenación de valores de lista . . . . . . . . . 276
Incoporación de un control de cuadro
Creación de casillas de verificación de dibujo a una ficha . . . . . . . . . . . . . .296
para datos lógicos. . . . . . . . . . . . . . . . 277
Vinculación de una casilla de Definición del desplazamiento en
verificación con un campo lógico . . . . . . 278 las fichas . . . . . . . . . . . . . . . . . . . . . 296
Creación de un grupo de botones de radio . . 278 Gestión del foco de objetos . . . . . . . . . . . .296
Agrupación de botones de radio. . . . . . . . 279 Gestión del orden de tabulación
Vinculación de botones de radio con (orden z) . . . . . . . . . . . . . . . . . . . . . .297
campos de una tabla . . . . . . . . . . . . . . 279 Uso de teclas rápidas con etiquetas
Especificación de valores para su de control . . . . . . . . . . . . . . . . . . . . .297
introducción en el campo de tabla. . . . . . 279 Control de la acción de la tecla Intro . . . . . .298
Creación de líneas . . . . . . . . . . . . . . . . 280
Definición del ancho de línea. . . . . . . . . . 280
Definición del estilo de línea . . . . . . . . . . 280
Creación de rectángulos . . . . . . . . . . . . . 281
Definición de la etiqueta del rectángulo . . . 281
Definición de los bordes de un
rectángulo . . . . . . . . . . . . . . . . . . . . 282
Definición del estilo de patrón . . . . . . . . . 282
Creación de controles de editor. . . . . . . . . 282
Vinculación de un editor con campos
de tabla o archivos de texto. . . . . . . . . . 283
Asignación de la propiedad de sólo
lectura a un control de editor. . . . . . . . . 283
Visualización y ocultación de barras de
desplazamiento. . . . . . . . . . . . . . . . . 284
Justificación de texto. . . . . . . . . . . . . . . 284
Creación de controles Browse . . . . . . . . . 285
Vinculación de un control Browse con
una tabla. . . . . . . . . . . . . . . . . . . . . 285
Especificación de campos de Browse . . . . . 286
Selección del modo de visualización
por defecto . . . . . . . . . . . . . . . . . . . 286
Control de las operaciones de
introducción de datos . . . . . . . . . . . . . 287
Seguimiento de registros con valores
clave cambiados . . . . . . . . . . . . . . . . 287
Modificación del aspecto de controles
Browse . . . . . . . . . . . . . . . . . . . . . . 287
Creación de barras de desplazamiento
para números y fechas . . . . . . . . . . . . . 288

vii
ug_dbw.toc Page viii Friday, September 1, 1995 4:11 PM

Capítulo 13 Capítulo 14
Creación de menús, botones y Creación de una ficha de ejemplo 319
barras rápidas 299 Acerca de la ficha de entrada de
Acerca de los menús . . . . . . . . . . . . . . . 299 datos Cliente . . . . . . . . . . . . . . . . . . . 320
Tipos de menús . . . . . . . . . . . . . . . . . . 300 Paso 1: Creación de una consulta para
Jerarquía de menús. . . . . . . . . . . . . . . . 301 vincular tablas . . . . . . . . . . . . . . . . . . 321
Menús comunes de Windows . . . . . . . . . 301 Paso 2: Creación de una ficha . . . . . . . . . . 323
Archivos de menú (.MNU) . . . . . . . . . . . 301 Vinculación de la ficha a la consulta . . . . . .324
Líneas maestras de la asignación de Paso 3: Adición de campos de entrada,
nombre a títulos y imágenes y editores . . . . . . . . . . . . . . . 325
opciones de menú . . . . . . . . . . . . . . . 302 Adición de campos de entrada . . . . . . . . .325
Uso de separadores. . . . . . . . . . . . . . . . 303 Adición de etiquetas de texto . . . . . . . . . .326
Uso de marcas de verificación para Adición de controles de imagen . . . . . . . . .326
alternar elementos de menú. . . . . . . . . . 304 Adición de controles editor. . . . . . . . . . . .327
Creación de elementos de menú . . . . . . . . 305 Adición de una etiqueta de texto. . . . . . . .327
Creación de menús desplegables. . . . . . . . 305 Paso 4: Adición de un control Browse . . . . . 328
Adición de una opción de menú a Vinculación con un alias . . . . . . . . . . . . .328
un menú desplegable . . . . . . . . . . . . . 306 Selección de campos Browse . . . . . . . . . . .329
Creación de menús en cascada . . . . . . . . . 307 Modificación de cabeceras de campo . . . . . .330
Adición de elementos a un Adición de etiquetas de texto . . . . . . . . . .331
menú en cascada . . . . . . . . . . . . . . . . 307
Definición de propiedades de edición . . . . .331
Creación de menús de ventana . . . . . . . . . 308
Definición de propiedades de
Apertura de un menú existente. . . . . . . . . 309 visualización . . . . . . . . . . . . . . . . . . .331
Almacenamiento de cambios . . . . . . . . . . 309 Paso 5: Definición de colores para los
Cancelación de cambios . . . . . . . . . . . . . 309 campos de entrada . . . . . . . . . . . . . . . 332
Borrado de menús . . . . . . . . . . . . . . . . 309 Acerca de los colores . . . . . . . . . . . . . . .332
Definición de propiedades de elemento Selección de colores para los
de menú . . . . . . . . . . . . . . . . . . . . . 310 campos de entrada. . . . . . . . . . . . . . . .333
Definición de títulos de menú y Definición de colores para el
teclas rápidas . . . . . . . . . . . . . . . . . . 310 objeto Browse. . . . . . . . . . . . . . . . . . .334
Definición de teclas de método abreviado . . 310 Paso 6: Adición de rectángulos para
Definición de separadores. . . . . . . . . . . . 310 crear grupos visuales . . . . . . . . . . . . . . 334
Visualización de marcas de verificación . . . 310 Modificación de las etiquetas de los
Uso de menús en ventanas no MDI . . . . . . 311 rectángulos . . . . . . . . . . . . . . . . . . . .334
Asociación de código a los menús . . . . . . . 311 Paso 7: Modificación del orden z . . . . . . . . 335
Creación de botones de comando . . . . . . . 311 Cambio a la vista Orden . . . . . . . . . . . . .335
Normas para situar los botones de Modificación del orden de objetos
comando . . . . . . . . . . . . . . . . . . . . . 311 individuales. . . . . . . . . . . . . . . . . . . .336
Normas para las etiquetas de botones. . . . . 313 Paso 8: Adición de botones de comando . . . 337
Adición de botones . . . . . . . . . . . . . . . . 313 Adición de botones de comando
Adición de botones estándar . . . . . . . . . . 313 personalizados . . . . . . . . . . . . . . . . . .338
Adición de botones personalizados Paso 9: Ejecución de la ficha . . . . . . . . . . . 338
dBASE . . . . . . . . . . . . . . . . . . . . . . 314
Especificación del botón por defecto . . . . . 314
Adición de gráficos en los botones . . . . . . 315
Creación de barras rápidas . . . . . . . . . . . 316

viii
ug_dbw.toc Page ix Friday, September 1, 1995 4:11 PM

Parte V Capítulo 18
Utilidades 339 Uso de los editores de
Visual dBASE 375
Capítulo 15 Funciones y técnicas básicas de los
Creación de expresiones 341 editores . . . . . . . . . . . . . . . . . . . . . . 376
Acerca de las expresiones . . . . . . . . . . . . 342 Desplazamiento dentro del archivo. . . . . . .376
Introducción y edición de texto . . . . . . . . .377
Apertura del Generador de expresiones . . . 343
Operaciones con bloques de texto . . . . . . .378
La Asistencia. . . . . . . . . . . . . . . . . . . . 344 Inserción de texto en un archivo . . . . . . . .379
Inicio de la expresión. . . . . . . . . . . . . . . 345 Justificación de líneas del texto importado . .379
Funciones con diversas variantes . . . . . . . 346 Copia de texto en un archivo . . . . . . . . . .379
Sustitución de identificadores . . . . . . . . . 347 Búsqueda de texto . . . . . . . . . . . . . . . .379
Sustitución de identificadores de Almacenamiento de archivos . . . . . . . . . .380
operandos . . . . . . . . . . . . . . . . . . . . 347 Definición de las propiedades de
Sustitución de identificadores de los editores . . . . . . . . . . . . . . . . . . . .381
operadores . . . . . . . . . . . . . . . . . . . . 350 Convenciones OEM y ANSI . . . . . . . . . . .382
Tipo de resultado obligatorio . . . . . . . . . . 351 Uso del Editor de programas para
Ejemplo de uso del escribir programas . . . . . . . . . . . . . . . 383
Generador de expresiones . . . . . . . . . . . 352 Ejecución del Editor de programas . . . . . . .383
Evaluación de la expresión . . . . . . . . . . . 355 Apertura de archivos de programa
existentes. . . . . . . . . . . . . . . . . . . . .383
Pegado de la expresión en Visual dBASE . . . 355 Creación de archivos de programa . . . . . .384
Edición de expresiones. . . . . . . . . . . . . . 356 Propiedades del Editor de programas . . . . .384
Adición de funciones definidas por Edición de archivos de programa . . . . . . . .385
el usuario . . . . . . . . . . . . . . . . . . . . . 358 Sangrado con tabulaciones y espacios
(Sangrado automático). . . . . . . . . . . . .385
Capítulo 16 Configuración del tamaño de los
Impresión 359 caracteres de tabulación . . . . . . . . . . . .386
Configuración de Colores automáticos . . . .386
Información general . . . . . . . . . . . . . . . 359 Pegado de sintaxis de la Ayuda . . . . . . . .387
Impresión de los datos de una tabla . . . . . . 360 Inserción de comentarios en el código. . . . .388
Formatos de impresión . . . . . . . . . . . . . 361 Botones de la barra rápida del
Impresión de la estructura de tabla . . . . . . 362 Editor de programas. . . . . . . . . . . . . . .388
Impresión del diseño de consulta . . . . . . . 363 Almacenamiento de archivos de
programa . . . . . . . . . . . . . . . . . . . . .388
Impresión del diseño de ficha. . . . . . . . . . 363 Uso del Editor de textos para escribir
Impresión desde el Editor de textos . . . . . . 364 archivos de texto. . . . . . . . . . . . . . . . . 389
Capítulo 17 Uso del Editor de textos para editar
campos memo . . . . . . . . . . . . . . . . . . 390
Trabajo en entornos compartidos 365
Acerca de las redes . . . . . . . . . . . . . . . . 366
Antes de empezar . . . . . . . . . . . . . . . . 366
Conceptos básicos sobre compartición
de datos. . . . . . . . . . . . . . . . . . . . . . 367
Bloqueo de tablas y registros . . . . . . . . . . 368
Bloqueo automático . . . . . . . . . . . . . . . 369
Aplicación de bloqueos de tabla . . . . . . . . 369
Aplicación de bloqueos de registro . . . . . . 371
Bloqueo explícito . . . . . . . . . . . . . . . . . 372
Definición de opciones multiusuario . . . . . 373
Funciones de programación. . . . . . . . . . . 374

ix
ug_dbw.toc Page x Friday, September 1, 1995 4:11 PM

Capítulo 19 Apéndice B
Introducción de comandos de Interface de teclado 411
dBASE en la ventana de Combinaciones de teclas generales. . . . . . . 411
comandos 391 Combinaciones de teclas de los
cuadros de diálogo. . . . . . . . . . . . . . . .412
Acerca de la ventana de comandos . . . . . . 392 Combinaciones de teclas para editar texto . . .413
Definición de las propiedades de la Combinaciones de teclas específicas de
ventana de comandos . . . . . . . . . . . . . 393 ventanas. . . . . . . . . . . . . . . . . . . . . . 414
Introducción y ejecución de comandos . . . . 394 Combinaciones de teclas para editar
Ejecución de comandos de varias líneas . . . 394 tablas . . . . . . . . . . . . . . . . . . . . . . . .414
Repetición de comandos. . . . . . . . . . . . . 394 Combinaciones de teclas para editar
Edición en la ventana de comandos . . . . . . 395 consultas. . . . . . . . . . . . . . . . . . . . . .416
Pegado de sintaxis de la Ayuda . . . . . . . . 395 Combinaciones de teclas para editar
fichas . . . . . . . . . . . . . . . . . . . . . . . .417
Pegado de comandos de archivos de
programa. . . . . . . . . . . . . . . . . . . . . 396 Combinaciones de teclas del Selector de
archivos y de la ventana de catálogo . . . . .417
Almacenamiento de comandos en
programas . . . . . . . . . . . . . . . . . . . . 396
Sesiones y áreas de trabajo . . . . . . . . . . . 396
Apéndice C
Areas de trabajo. . . . . . . . . . . . . . . . . . 397 Parámetros de DBASEWIN.INI 419
Comandos comunes . . . . . . . . . . . . . . . 397 Acceso a DBASEWIN.INI . . . . . . . . . . . . 420
Ejecución y depuración de programas . . . . 398 Uso de varias versiones de
Corrección de errores de programas. . . . . . 398 DBASEWIN.INI . . . . . . . . . . . . . . . . .420
Restablecimiento de los parámetros
Parte VI por defecto de DBASEWIN.INI. . . . . . . . 421
Apéndices 401 Estructura de DBASEWIN.INI . . . . . . . . . 422
Ventanas MDI y no MDI. . . . . . . . . . . . . 423
Coordenadas de ventana . . . . . . . . . . . . .423
Apéndice A Parámetros de DBASEWIN.INI . . . . . . . . 424
Transición desde dBASE IV 403 [CommandWindow]. . . . . . . . . . . . . . .424
Cambios generales . . . . . . . . . . . . . . . . 404 [Navigator] . . . . . . . . . . . . . . . . . . . .424
Menús del Centro de control . . . . . . . . . . 405 [Catalog] . . . . . . . . . . . . . . . . . . . . . .425
Menú Catálogo . . . . . . . . . . . . . . . . . . 405 [CommandSettings] . . . . . . . . . . . . . . .426
Menú Utilidades . . . . . . . . . . . . . . . . . 405 [OnOffCommandSettings] . . . . . . . . . . .428
[Desktop] . . . . . . . . . . . . . . . . . . . . .430
Menú Salir . . . . . . . . . . . . . . . . . . . . . 406
[Dialogs] . . . . . . . . . . . . . . . . . . . . . .431
Menú Datos . . . . . . . . . . . . . . . . . . . . 406
[Fonts] . . . . . . . . . . . . . . . . . . . . . . .432
Menú Consultas. . . . . . . . . . . . . . . . . . 407
[Install] . . . . . . . . . . . . . . . . . . . . . . .432
Menú Pantallas . . . . . . . . . . . . . . . . . . 407 [FormDesigner] . . . . . . . . . . . . . . . . . .432
Menú Informes . . . . . . . . . . . . . . . . . . 408 [ControlsWindow] . . . . . . . . . . . . . . . .434
Etiquetas . . . . . . . . . . . . . . . . . . . . . . 409 [ObjectProperties] . . . . . . . . . . . . . . . .434
Aplicaciones . . . . . . . . . . . . . . . . . . . . 409 [ProcedureEditor] . . . . . . . . . . . . . . . .434
[ProgramEditor] . . . . . . . . . . . . . . . . .435
[TextEditor] . . . . . . . . . . . . . . . . . . . .435
[MemoEditor] . . . . . . . . . . . . . . . . . . .435
[QueryDesigner] . . . . . . . . . . . . . . . . .435
[MRU_Files] . . . . . . . . . . . . . . . . . . . .435
[IDAPI]. . . . . . . . . . . . . . . . . . . . . . .436
[TableRecords] . . . . . . . . . . . . . . . . . .436
[TableStructure]. . . . . . . . . . . . . . . . . .437
[Printer] . . . . . . . . . . . . . . . . . . . . . .437
[ExpressionBuilder] . . . . . . . . . . . . . . .438
[DLLs] . . . . . . . . . . . . . . . . . . . . . . .438
[CustomClasses] . . . . . . . . . . . . . . . . .438

x
ug_dbw.toc Page xi Friday, September 1, 1995 4:11 PM

[OLEViewer] . . . . . . . . . . . . . . . . . . . 438
[ImageViewer] . . . . . . . . . . . . . . . . . . 438

Apéndice D
Database Engine de Borland 439
Configuración del Database Engine de
Borland . . . . . . . . . . . . . . . . . . . . . . 439
Controladores de idioma . . . . . . . . . . . . 440
Cambio de los controladores de idioma . . . 441
Empleo de la Utilidad de configuración
BDE . . . . . . . . . . . . . . . . . . . . . 441
Edición de DBASEWIN.INI . . . . . . . . 442
Alias . . . . . . . . . . . . . . . . . . . . . . . . 442
Creación de alias de dBASE/Paradox . . . . 443
Creación de alias SQL . . . . . . . . . . . . . . 445
El archivo de control de red . . . . . . . . . . . 446
Uso de varios archivos de configuración
de BDE . . . . . . . . . . . . . . . . . . . . . . 447

Apéndice E
Uso de datos SQL 449
Preparación para el uso de tablas SQL . . . . 450
Conexión a la base de datos SQL. . . . . . . . 451
Utilización de datos SQL . . . . . . . . . . . . 452
Transacciones . . . . . . . . . . . . . . . . . . . 452
Bloqueos . . . . . . . . . . . . . . . . . . . . . . 452
Tareas posibles . . . . . . . . . . . . . . . . . . 453
Indexación de tablas SQL . . . . . . . . . . . . 454
Notas sobre SQL . . . . . . . . . . . . . . . . . 455
Controladores de idioma . . . . . . . . . . . . 455

Index 457

xi
ug_dbw.lot Page xii Friday, September 1, 1995 4:13 PM

Tablas
2.1 Iconos de tipo de archivo . . . . . . . . . . . . 31 19.1 Comandos comunes de dBASE . . . . . . . . 397
2.2 Iconos del tipo de archivo Personalizado. . . 34 19.2 Botones del cuadro de diálogo
3.1 Tipos de campo .DBF en Visual dBASE . . . . 57 Advertencia de programa . . . . . . . . . . . 399
3.2 Tipos de campo .DB en Paradox . . . . . . . . 58 B.1 Combinaciones de teclas generales . . . . . . 411
3.3 Campos de la tabla de ejemplo Cliente . . . . 62 B.2 Combinaciones de teclas de los
3.4 Campos de la tabla de ejemplo Pedidos . . . 63 cuadros de diálogo. . . . . . . . . . . . . . . . 412
3.5 Campos de la tabla de ejemplo Elemento. . . 63 B.3 Combinaciones de teclas para
3.6 Restricciones de entrada de datos . . . . . . . 67 editar texto . . . . . . . . . . . . . . . . . . . . 413
3.7 Desplazamiento por la ventana de B.4 Combinaciones de teclas de la
estructura de tabla . . . . . . . . . . . . . . . . 67 ventana Registros de tabla . . . . . . . . . . . 414
4.1 Ejemplos de expresiones clave . . . . . . . . . 92 B.5 Combinaciones de teclas de la ventana
5.1 Desplazamiento a otros registros de de estructura de tabla . . . . . . . . . . . . . . 415
la tabla . . . . . . . . . . . . . . . . . . . . . . 121 B.6 Combinaciones de teclas del
5.2 Desplazamiento a campos en la ventana Diseñador de consultas . . . . . . . . . . . . . 416
Registros de tabla . . . . . . . . . . . . . . . . 125 B.7 Combinaciones de teclas del
6.1 Tipos de cálculo . . . . . . . . . . . . . . . . . 145 Diseñador de fichas . . . . . . . . . . . . . . . 417
6.2 Tipos de archivo para importación, B.8 Combinaciones de teclas del Selector
exportación y adición. . . . . . . . . . . . . . 147 de archivos y de la ventana de catálogo . . . 417
7.1 Hoja de cálculo para definir grupos y C.1 Parámetros de la ventana de comandos . . . 424
sus miembros . . . . . . . . . . . . . . . . . . 160 C.2 Parámetros del Selector de archivos . . . . . 424
7.2 Hoja de cálculo ampliada para mostrar C.3 Parámetros de la ventana de catálogo . . . . 425
los niveles de acceso de usuario . . . . . . . 160 C.4 Parámetros de comandos. . . . . . . . . . . . 426
7.3 Hoja de cálculo para definir privilegios C.5 Parámetros de comandos On/off . . . . . . . 429
de operaciones de tabla . . . . . . . . . . . . 161 C.6 Parámetros del escritorio . . . . . . . . . . . . 430
7.4 Hoja de cálculo para definir privilegios C.7 Parámetros de los cuadros de diálogo . . . . 431
de acceso a campos . . . . . . . . . . . . . . . 161 C.8 Parámetros de fuentes . . . . . . . . . . . . . 432
7.5 Operaciones de tabla . . . . . . . . . . . . . . 166 C.9 Parámetros del Diseñador de fichas . . . . . 432
7.6 Privilegios de campo . . . . . . . . . . . . . . 166 C.10 Parámetros de la paleta de controles . . . . . 434
8.1 Operadores relacionales utilizados C.11 Parámetros de Propiedades del objeto . . . . 434
en las consultas . . . . . . . . . . . . . . . . . 187 C.12 Parámetros del Editor de
8.2 Operadores aritméticos . . . . . . . . . . . . 196 procedimientos. . . . . . . . . . . . . . . . . . 434
11.1 Controles estándar . . . . . . . . . . . . . . . 242 C.13 Parámetros de la ventana
14.1 Campos de entrada de la ficha Cliente . . . 325 Registros de tabla . . . . . . . . . . . . . . . . 436
14.2 Cabeceras de los campos del objeto C.14 Parámetros de la ventana de
Browse . . . . . . . . . . . . . . . . . . . . . . 330 estructura de tabla . . . . . . . . . . . . . . . . 437
14.3 Orden Z de los controles de la ficha C.15 Parámetros de impresora. . . . . . . . . . . . 437
de ejemplo . . . . . . . . . . . . . . . . . . . . 336 C.16 Parámetros del Visor de OLE . . . . . . . . . 438
15.1 Campos de la tabla DBASEWIN.FNF. . . . 358 C.17 Parámetros del Visor de imágenes . . . . . . 438
17.1 Tipos de bloqueo de tabla . . . . . . . . . . . 370
18.1 Teclas que desplazan el punto de
inserción . . . . . . . . . . . . . . . . . . . . . 376
18.2 Teclas utilizadas en los editores. . . . . . . . 377
18.3 Acciones con los bloques de texto . . . . . . 378
18.4 Opciones del cuadro de diálogo
Buscar texto . . . . . . . . . . . . . . . . . . . 380
18.5 Comandos de almacenamiento del
editor . . . . . . . . . . . . . . . . . . . . . . . 380
18.6 Botones de la barra rápida del
Editor de programas . . . . . . . . . . . . . . 388

xii
ug_dbw.lof Page xiii Friday, September 1, 1995 4:14 PM

Figuras
1.1 Discos de instalación en un servidor 3.10 Cuadro de diálogo Añadir o generar
de red . . . . . . . . . . . . . . . . . . . . . . . . 12 registros . . . . . . . . . . . . . . . . . . . . . . . 71
2.1 Ventana de aplicación de Visual dBASE. . . . 16 3.11 Integridad referencial . . . . . . . . . . . . . . . 73
2.2 Ventana Registros de tabla. . . . . . . . . . . . 18 3.12 Cuadro de diálogo Reglas de integridad
2.3 Tabla indexada . . . . . . . . . . . . . . . . . . 19 referencial . . . . . . . . . . . . . . . . . . . . . . 74
2.4 Consulta . . . . . . . . . . . . . . . . . . . . . . 20 3.13 Cuadro de diálogo Nueva regla de
2.5 Diseñador de fichas. . . . . . . . . . . . . . . . 21 integridad referencial . . . . . . . . . . . . . . . 74
2.6 Menús. . . . . . . . . . . . . . . . . . . . . . . . 23 4.1 Orden natural e indexado . . . . . . . . . . . . 79
2.7 Menú rápido. . . . . . . . . . . . . . . . . . . . 24 4.2 Creación de índices simples en el
2.8 Barra rápida . . . . . . . . . . . . . . . . . . . . 25 Diseñador de tablas . . . . . . . . . . . . . . . . 85
2.9 La barra rápida y una indicación en la 4.3 Cuadro de diálogo Mantenimiento
barra de estado . . . . . . . . . . . . . . . . . . 25 de índices . . . . . . . . . . . . . . . . . . . . . . 86
2.10 Cuadro de diálogo Propiedades de la 4.4 Cuadro de diálogo Definir índice . . . . . . . . 86
ventana de comandos . . . . . . . . . . . . . . 26 4.5 Selección del índice maestro . . . . . . . . . . 87
2.11 Cuadro de diálogo Propiedades del 4.6 Presentación y ocultación de valores
escritorio . . . . . . . . . . . . . . . . . . . . . . 27 duplicados . . . . . . . . . . . . . . . . . . . . . 90
2.12 Los botones de la barra rápida en los 4.7 Creación de un índice complejo . . . . . . . . . 92
modos ejecutar y diseño . . . . . . . . . . . . . 28 4.8 Cuadro de diálogo Ordenar registros . . . . . 95
2.13 Selector de archivos. . . . . . . . . . . . . . . . 29 4.9 Cuadro de diálogo Definir clave primaria. . . 98
2.14 Primer paso de la definición de una 4.10 Cuadro de diálogo No se definió clave
vía de búsqueda. . . . . . . . . . . . . . . . . . 30 primaria . . . . . . . . . . . . . . . . . . . . . . . 98
2.15 Segundo paso de la definición de una 4.11 Creación de un índice secundario. . . . . . . . 99
vía de búsqueda. . . . . . . . . . . . . . . . . . 30 5.1 Cuadro de diálogo Propiedades del
2.16 Menú Vista del Selector de archivos . . . . . . 32 escritorio. . . . . . . . . . . . . . . . . . . . . . 103
2.17 Panel del Selector de archivos en 5.2 Casilla de verificación Sesiones . . . . . . . . 104
modo Detalles . . . . . . . . . . . . . . . . . . . 32 5.3 Selector de archivos de Visual dBASE . . . . 107
2.18 Selector de archivos con bases de datos. . . . 33 5.4 Menú rápido tabla . . . . . . . . . . . . . . . . 107
2.19 Tipo de archivo Personalizado . . . . . . . . . 34 5.5 Cuadro de diálogo Abrir archivo . . . . . . . 108
2.20 Ventana de catálogo . . . . . . . . . . . . . . . 36 5.6 Cuadro de diálogo Registro . . . . . . . . . . 109
2.21 Selección de un editor de texto: 5.7 Barra rápida de la ventana
cuadro de diálogo Escritorio . . . . . . . . . . 39 Registros de tabla . . . . . . . . . . . . . . . . 110
2.22 Ventana de comandos . . . . . . . . . . . . . . 40 5.8 Botones de la barra rápida para
2.23 Cuadro de diálogo de varias páginas . . . . . 41 seleccionar el formato . . . . . . . . . . . . . . 111
2.24 Zonas interactivas, menús de ventanas 5.9 Ventana Registros de tabla en formato
y la barra de botones . . . . . . . . . . . . . . . 42 Browse. . . . . . . . . . . . . . . . . . . . . . . 111
2.25 Cuadro de diálogo Buscar. . . . . . . . . . . . 43 5.10 Ventana Registros de tabla en
2.26 Lista de tutor principal. . . . . . . . . . . . . . 45 formato Ficha. . . . . . . . . . . . . . . . . . . 112
3.1 Componentes de una tabla . . . . . . . . . . . 50 5.11 Ventana Registros de tabla en formato
3.2 Relaciones de valores múltiples . . . . . . . . 54 En columnas . . . . . . . . . . . . . . . . . . . 113
3.3 Diseñador de tablas. . . . . . . . . . . . . . . . 64 5.12 Selección de campos en el cuadro de
3.4 Propiedades que se definen para cada diálogo Propiedades de los registros
campo de una tabla de dBASE . . . . . . . . . 65 de tabla . . . . . . . . . . . . . . . . . . . . . . 115
3.5 Restricciones de entrada de datos en el 5.13 Cuadro de diálogo Campo calculado . . . . 116
Inspector . . . . . . . . . . . . . . . . . . . . . . 67 5.14 Campo calculado . . . . . . . . . . . . . . . . 116
3.6 Menú rápido de la ventana de estructura 5.15 Cuadro de diálogo
de tabla . . . . . . . . . . . . . . . . . . . . . . . 68 Propiedades del campo. . . . . . . . . . . . . 117
3.7 Cambio del orden de los campos. . . . . . . . 69 5.16 Opciones de la página Registros . . . . . . . 119
3.8 Cuadro de diálogo Propiedades de la 5.17 Opciones de la página Ventana . . . . . . . . 120
estructura de tabla . . . . . . . . . . . . . . . . 70 5.18 Botones de la barra rápida para
3.9 Cuadro de diálogo Guardar tabla . . . . . . . 70 desplazarse por los registros . . . . . . . . . . 121

xiii
ug_dbw.lof Page xiv Friday, September 1, 1995 4:14 PM

5.19 Cuadro de diálogo Ir a registro . . . . . . . . 122 8.10 Clientes ordenados por provincia y
5.20 Casilla Borrados y Columna Supr por nombre . . . . . . . . . . . . . . . . . . . . 183
en formato Browse . . . . . . . . . . . . . . . 124 8.11 Indexación por el nombre de empresa
5.21 Iconos de los campos memo . . . . . . . . . 127 en mayúsculas . . . . . . . . . . . . . . . . . . 184
5.22 Campo memo abierto en el 8.12 El campo indexado . . . . . . . . . . . . . . . 185
Editor de textos . . . . . . . . . . . . . . . . . 127 8.13 Creación de un índice complejo . . . . . . . . 185
5.23 Iconos que representan datos binarios . . . 129 8.14 Selección de registros que cumplen una
5.24 Ventana Visor de OLE . . . . . . . . . . . . . 132 condición . . . . . . . . . . . . . . . . . . . . . 186
6.1 Cuadro de diálogo Borrar registros . . . . . 136 8.15 El resultado tras ejecutar la consulta
6.2 Cuadro de diálogo Contar registros . . . . . 138 de Figura 8.14. . . . . . . . . . . . . . . . . . . 186
6.3 Cuadro de diálogo Borrar registros . . . . . 139 8.16 Una consulta que emplea una
6.4 Cuadro de diálogo condición lógica (verdadero/falso) . . . . . . 188
Eliminar marcas de borrado. . . . . . . . . . 140 8.17 Uso de caracteres comodín para
6.5 Cuadro de diálogo seleccionar registros . . . . . . . . . . . . . . . 189
Eliminar todos los registros . . . . . . . . . . 140 8.18 Una consulta AND y la vista resultante . . . 190
6.6 Cuadro de diálogo Buscar registros . . . . . 141 8.19 Especificación de un rango de fechas. . . . . 191
6.7 Opciones Avanzadas del cuadro de 8.20 Varias condiciones AND . . . . . . . . . . . . 191
diálogo Buscar registros . . . . . . . . . . . . 143 8.21 Condiciones OR introducidas en
6.8 Cuadro de diálogo Sustituir registros . . . . 144 líneas distintas y la vista resultante . . . . . . 192
6.9 Opciones Avanzadas del cuadro de 8.22 Condición AND aplicada a una de las
diálogo Sustituir registros . . . . . . . . . . . 145 condiciones OR y el resultado . . . . . . . . . 193
6.10 Cuadro de diálogo Calcular registros . . . . 146 8.23 Condiciones AND en ambas
6.11 Cuadro de diálogo Resultados del condiciones OR y el resultado . . . . . . . . . 193
cálculo. . . . . . . . . . . . . . . . . . . . . . . 146 8.24 Combinación de condiciones
6.12 Cuadro de diálogo Exportar . . . . . . . . . 148 AND y OR más rangos de valores y el
6.13 Cuadro de diálogo Importar . . . . . . . . . 149 resultado. . . . . . . . . . . . . . . . . . . . . . 194
6.14 Cuadro de diálogo Importar . . . . . . . . . 151 8.25 Uso del cuadro Condiciones . . . . . . . . . . 194
7.1 Cuadro de diálogo Contraseña del 8.26 Uso de dos líneas para crear una
administrador . . . . . . . . . . . . . . . . . . 162 condición OR . . . . . . . . . . . . . . . . . . . 195
7.2 Cuadro de diálogo Seguridad . . . . . . . . 163 8.27 Las condiciones de la Figura 8.26 tal
7.3 Cuadro de diálogo Nuevo usuario. . . . . . 163 como se guardan en el archivo .QBE . . . . . 195
7.4 Página Tablas . . . . . . . . . . . . . . . . . . 164 8.28 Una condición que calcula un resultado
7.5 Cuadro de diálogo verdadero/falso . . . . . . . . . . . . . . . . . 195
Editar privilegios de tabla . . . . . . . . . . . 165 8.29 Filtrado mediante un valor calculado . . . . 196
7.6 Definición de privilegios de tabla 8.30 Un campo calculado. . . . . . . . . . . . . . . 197
en el cuadro de diálogo . . . . . . . . . . . . 166 8.31 Un cálculo que utiliza datos de
7.7 Definición de privilegios de campo en dos campos . . . . . . . . . . . . . . . . . . . . 198
el cuadro de diálogo . . . . . . . . . . . . . . 167 8.32 Adición de una condición de filtro
7.8 Cuadro de diálogo Seguridad . . . . . . . . 168 al campo calculado y el resultado. . . . . . . 198
8.1 Creación de una consulta . . . . . . . . . . . 176 8.33 Cálculo basado en campos de nombre. . . . 199
8.2 La ventana del Diseñador de consultas 8.34 Una vista de la tabla Cliente después de ejecutar
y una máscara de tabla. . . . . . . . . . . . . 177 una consulta . . . . . . . . . . . . . . . . . . . 200
8.3 Barra rápida del Diseñador de consultas . . 178 9.1 El Diseñador de consultas con
8.4 Casillas de selección de campos . . . . . . . 179 tres máscaras de tabla . . . . . . . . . . . . . . 204
8.5 Definición de una vista de tabla . . . . . . . 179 9.2 Arrastre para establecer un vínculo. . . . . . 205
8.6 Modificación del orden de los campos 9.3 Cuadro de diálogo Definir relación. . . . . . 206
en el Diseñador de consultas . . . . . . . . . 180 9.4 Máscaras de tabla tras establecerse
8.7 Uso del cuadro de ordenación en el el vínculo . . . . . . . . . . . . . . . . . . . . . 206
campo Provincia . . . . . . . . . . . . . . . . 181 9.5 La consulta y la vista resultante . . . . . . . . 207
8.8 Opciones de orden de registros para 9.6 Una consulta de valores únicos . . . . . . . . 210
campos de carácter . . . . . . . . . . . . . . . 181 9.7 Tablas vinculadas con PEDIDOS
8.9 Ordenación de registros según dos como tabla principal. . . . . . . . . . . . . . . 211
campos . . . . . . . . . . . . . . . . . . . . . . 182

xiv
ug_dbw.lof Page xv Friday, September 1, 1995 4:14 PM

9.8 El botón Añadir índice abre el cuadro de 12.10 Ejemplo de cuadro combinado
diálogo Definir índice . . . . . . . . . . . . . 212 vinculado con datos . . . . . . . . . . . . . . . 268
10.1 Una ficha en el Diseñador de fichas . . . . . 219 12.11 Ejemplo de estilos de cuadro
11.1 El Diseñador de fichas y sus combinado . . . . . . . . . . . . . . . . . . . . 270
herramientas. . . . . . . . . . . . . . . . . . . 230 12.12 Ejemplo de cuadros combinados
11.2 El Diseñador de fichas . . . . . . . . . . . . . 230 ordenados y no ordenados. . . . . . . . . . . 271
11.3 Cuadro de diálogo 12.13 Cuadro de incremento nuevo . . . . . . . . . 271
Propiedades del Diseñador de fichas . . . . 231 12.14 Ejemplo de cuadros de incremento . . . . . . 272
11.4 Menú Formato . . . . . . . . . . . . . . . . . 232 12.15 Cuadro de incremento con datos
11.5 Barra rápida del Diseñador de fichas . . . . 232 sin formato . . . . . . . . . . . . . . . . . . . . 274
11.6 Menú rápido del Diseñador de fichas . . . . 233 12.16 Cuadro de lista nuevo. . . . . . . . . . . . . . 274
11.7 La paleta de controles . . . . . . . . . . . . . 233 12.17 Lista de ejemplo vinculada con datos . . . . 275
11.8 Cuadro de diálogo 12.18 Ejemplo de una lista con
Propiedades de la paleta de controles . . . . 234 selecciones múltiples . . . . . . . . . . . . . . 276
11.9 La paleta de campos . . . . . . . . . . . . . . 235 12.19 Casilla de verificación nueva . . . . . . . . . 277
11.10 Cuadro de diálogo 12.20 Casillas de verificación en una ficha . . . . . 277
Asociar tipos de controles . . . . . . . . . . . 235 12.21 Botón de radio nuevo . . . . . . . . . . . . . . 278
11.11 Cuadro de diálogo 12.22 Ejemplo de un grupo de
Propiedades de la paleta de campos. . . . . 236 botones de radio . . . . . . . . . . . . . . . . . 279
11.12 Inspector . . . . . . . . . . . . . . . . . . . . . 236 12.23 Línea nueva. . . . . . . . . . . . . . . . . . . . 280
11.13 Lista de propiedades expandida . . . . . . . 237 12.24 Rectángulos que organizan los
11.14 Cuadro de diálogo controles de una ficha . . . . . . . . . . . . . . 281
Propiedades del escritorio. . . . . . . . . . . 238 12.25 Rectángulo nuevo . . . . . . . . . . . . . . . . 281
11.15 Página Sucesos del Inspector . . . . . . . . . 238 12.26 Control de editor nuevo . . . . . . . . . . . . 282
11.16 Página Métodos del Inspector . . . . . . . . 239 12.27 Ejemplo de un control de editor
11.17 Menú del Diseñador de menús. . . . . . . . 241 vinculado con un archivo de texto . . . . . . 283
11.18 Selección de varios controles . . . . . . . . . 245 12.28 Ejemplos del editor con la justificación
11.19 Botones de alineación de la de texto activada y desactivada . . . . . . . . 284
barra rápida . . . . . . . . . . . . . . . . . . . 247 12.29 Control Browse nuevo . . . . . . . . . . . . . 285
11.20 Menú Formato | Alineación . . . . . . . . . 247 12.30 Ejemplo de un objeto Browse con los
11.21 Controles de ficha en modo orden . . . . . . 248 formatos Ficha y En columnas. . . . . . . . . 286
11.22 Cuadro de diálogo 12.31 Ejemplo de un control Browse con
Establecer el orden de controles . . . . . . . 249 elementos de pantalla ocultos . . . . . . . . . 288
11.23 Botones de la barra rápida para 12.32 Barras de desplazamiento vertical y
cambiar el orden z . . . . . . . . . . . . . . . 249 horizontal . . . . . . . . . . . . . . . . . . . . . 288
11.24 Cuadro de diálogo Guardar como 12.33 Ejemplo de una barra de
personalizado . . . . . . . . . . . . . . . . . . 250 desplazamiento con etiquetas . . . . . . . . . 289
11.25 Cuadro de dálogo 12.34 Control de imagen nuevo . . . . . . . . . . . 290
Establecer clase de ficha personalizada . . . 251 12.35 Cuadro de diálogo Generador de
11.26 Cuadro de diálogo Definir el formato . . . . 252 propiedades del origen de los datos: . . . . . 290
11.27 Almacenamiento de una ficha nueva . . . . 254 12.36 Cuadro de diálogo
12.1 Pantalla inicial del Experto de fichas . . . . 258 Elegir mapa de bits de recurso. . . . . . . . . 291
12.2 Una ficha vacía en el 12.37 Ejemplo de un control de imagen
Diseñador de fichas. . . . . . . . . . . . . . . 259 vinculado con un archivo gráfico externo . . 291
12.3 Ventana MDI de ejemplo . . . . . . . . . . . 261 12.38 Ejemplos de alineación de una
12.4 Objeto de texto nuevo . . . . . . . . . . . . . 263 imagen binaria . . . . . . . . . . . . . . . . . . 292
12.5 Objetos de texto con teclas rápidas. . . . . . 264 12.39 Control OLE nuevo . . . . . . . . . . . . . . . 292
12.6 Campo de entrada nuevo . . . . . . . . . . . 265 12.40 Forma nueva . . . . . . . . . . . . . . . . . . . 293
12.7 Ejemplo de un campo de entrada 12.41 Páginas con solapa en una ficha. . . . . . . . 294
de datos. . . . . . . . . . . . . . . . . . . . . . 265 12.42 Especificación de solapas en el
12.8 Funciones y plantillas de ejemplo cuadro de diálogo Generar matriz . . . . . . 295
para un campo de entrada. . . . . . . . . . . 267 13.1 Ejemplos de menús . . . . . . . . . . . . . . . 300
12.9 Cuadro combinado nuevo . . . . . . . . . . 268

xv
ug_dbw.lof Page xvi Friday, September 1, 1995 4:14 PM

13.2 Menú de ejemplo con teclas de método 15.10 Introducción de la cadena


abreviado y teclas rápidas . . . . . . . . . . . 303 de caracteres . . . . . . . . . . . . . . . . . . . 353
13.3 Ejemplo de menú con separadores . . . . . 303 15.11 Introducción del valor inicial . . . . . . . . . 354
13.4 Selección en un grupo de elementos 15.12 Evaluación de una expresión . . . . . . . . . 355
de menú relacionados . . . . . . . . . . . . . 304 15.13 Selección de una expresión para
13.5 Objeto de menú nuevo en el editarla en el Generador de expresiones . . . 356
Diseñador de menús . . . . . . . . . . . . . . 305 15.14 Edición de una expresión. . . . . . . . . . . . 356
13.6 Creación de un menú desplegable. . . . . . 305 16.1 Cuadro de diálogo Imprimir registros . . . . 360
13.7 Serie de títulos de menú . . . . . . . . . . . . 306 16.2 Cuadro de diálogo
13.8 Un elemento nuevo en un menú Configuración de impresión . . . . . . . . . . 361
desplegable. . . . . . . . . . . . . . . . . . . . 306 16.3 Formatos de impresión . . . . . . . . . . . . . 361
13.9 Ejemplo de un menú desplegable con 16.4 Orientación del papel . . . . . . . . . . . . . . 362
sus elementos . . . . . . . . . . . . . . . . . . 306 16.5 Salida impresa de la estructura de tabla . . . 362
13.10 Menú en cascada nuevo . . . . . . . . . . . . 307 16.6 La salida impresa del diseño de consulta
13.11 Menú en cascada con varios elementos . . . 307 es el contenido del archivo .QBE . . . . . . . 363
13.12 Nuevo objeto de menú de ventana en 16.7 Cuadro de diálogo Imprimir. . . . . . . . . . 364
el Diseñador de menús de ventana . . . . . 308 16.8 Se pueden imprimir programas (.PRG)
13.13 Formatos habituales de los botones desde el Editor . . . . . . . . . . . . . . . . . . 364
de comando . . . . . . . . . . . . . . . . . . . 312 17.1 Cuadro de diálogo Abrir archivo . . . . . . . 369
13.14 Botones dispuestos en grupos . . . . . . . . 312 17.2 Indicación de apertura de tabla en modo
13.15 Nuevo botón estándar . . . . . . . . . . . . . 313 exclusivo. . . . . . . . . . . . . . . . . . . . . . 370
13.16 Controles de botón personalizados . . . . . 314 17.3 Advertencia Archivo bloqueado . . . . . . . 371
13.17 Ejemplo de botón personalizado . . . . . . . 314 17.4 Cuadro de diálogo
13.18 Ejemplo de botones por defecto . . . . . . . 314 Reintentando bloqueo. . . . . . . . . . . . . . 371
13.19 Gráficos de botón para botones 17.5 Advertencia sobre la modificación
activados y desactivados . . . . . . . . . . . 315 del registro . . . . . . . . . . . . . . . . . . . . 371
13.20 Ejemplo de barra rápida . . . . . . . . . . . . 316 17.6 Propiedades que afectan a los entornos
14.1 Ficha de entrada de datos Cliente . . . . . . 320 compartidos . . . . . . . . . . . . . . . . . . . 373
14.2 Vinculación de las tablas 18.1 Cuadro de diálogo Buscar texto. . . . . . . . 379
Cliente y Pedidos . . . . . . . . . . . . . . . . 321 18.2 Cuadro de diálogo Sustituir texto. . . . . . . 380
14.3 Cuadro de diálogo Definir relación . . . . . 322 18.3 Cuadro de diálogo
14.4 Ficha nueva vacía . . . . . . . . . . . . . . . . 323 Propiedades del editor . . . . . . . . . . . . . 381
14.5 Cuadro de diálogo Elegir vista . . . . . . . . 324 18.4 Ventana, barra rápida y menús del
14.6 Generador de alias . . . . . . . . . . . . . . . 328 Editor de programas de Visual dBASE . . . . 384
14.7 Cuadro de diálogo Elegir campos . . . . . . 329 18.5 Sangrado automático . . . . . . . . . . . . . . 385
14.8 Cuadro de diálogo 18.6 Sintaxis seleccionada en la Ayuda . . . . . . 387
Propiedades del campo . . . . . . . . . . . . 330 18.7 Campo memo en el Editor de textos . . . . . 390
14.9 Cuadro de diálogo Elegir color . . . . . . . . 333 19.1 Ventana de comandos. . . . . . . . . . . . . . 392
14.10 Los controles de Cliente en la 19.2 Cuadro de diálogo Propiedades de la
vista Orden. . . . . . . . . . . . . . . . . . . . 335 ventana de comandos. . . . . . . . . . . . . . 393
14.11 Definición del orden z . . . . . . . . . . . . . 336 19.3 Opciones de orientación de la ventana
15.1 El Generador de expresiones . . . . . . . . . 343 de comandos . . . . . . . . . . . . . . . . . . . 393
15.2 Creación de expresiones . . . . . . . . . . . . 345 19.4 Menú rápido del panel de entrada . . . . . . 393
15.3 Variantes de la sintaxis de las funciones. . . 346 19.5 Bloque seleccionado en el panel de
15.4 Sustitución de identificadores resultados . . . . . . . . . . . . . . . . . . . . . 395
de caracteres por constantes. . . . . . . . . . 347 19.6 Cuadro de diálogo Advertencia de
15.5 Sustitución de identificadores de programa . . . . . . . . . . . . . . . . . . . . . 398
caracteres por campos . . . . . . . . . . . . . 348 C.1 Opciones de la línea de comando
15.6 Sustitución de identificadores para varios archivos DBASEWIN.INI . . . . 421
numéricos . . . . . . . . . . . . . . . . . . . . 349 C.2 Coordenadas de ventana . . . . . . . . . . . . 423
15.7 Sustitución del identificador Op . . . . . . . 350 D.1 Utilidad de configuración BDE . . . . . . . . 440
15.8 Tipo obligatorio . . . . . . . . . . . . . . . . . 351 D.2 Panel de opciones del controlador de
15.9 Inicio de una expresión SUBSTR . . . . . . . 352 idioma en BDE . . . . . . . . . . . . . . . . . . 441

xvi
ug_dbw.lof Page xvii Friday, September 1, 1995 4:14 PM

D.3 Página Alias de BDE . . . . . . . . . . . . . . 443


D.4 Cuadro de diálogo Añadir alias . . . . . . . 443
D.5 Alias y vía . . . . . . . . . . . . . . . . . . . . 444
D.6 Asignación de nombre al alias SQL . . . . . 445
D.7 Definición de los parámetros de
alias SQL . . . . . . . . . . . . . . . . . . . . . 445
D.8 Ubicación del archivo de control
de red . . . . . . . . . . . . . . . . . . . . . . . 446
E.1 Conexión a una base de datos . . . . . . . . 451
E.2 Adición de un índice a una tabla SQL. . . . 454

xvii
ug_dbw.lof Page xviii Friday, September 1, 1995 4:14 PM

xviii

Potrebbero piacerti anche