Está en la página 1de 30

Guía elaborada por: Carmen Estela Silva H.

Este tutorial lo bajaste de


http://www.mipagina.cantv.net/carmenestela
1. INTRODUCCION…………………………………………………01 CONTROLES NUMÉRICOS
2.ESTABLEZCA LA UNIDAD O EL DIRECTORIO BOTONES DE COMANDO Y GRUPOS DE BOTONES DE
PREDETERMINADOS. …………………………………………… COMANDO
2.1. ESTABLEZCA EL ARCIVO DE AYUDA OBJETO HYPERLINK
3. REQUISITOS DE VISUAL FOX PRO ……………………… CONTROL CRONÓMETRO
4. EL ADMINISTRADOR DE PROYECTOS………………… CONTROL IMAGE
5. PROGRAMAS SECUENCIALES INTERACTIVOS Y ORIENTADO A USAR ETIQUETAS
EVENTOS………………………………………… USAR FORMAS
6. PROGRAMA PARA EL ENTORNO DE WINDOWS ……………… USAR LÍNEAS
7. MODO DISEÑO Y MODO DE EJECUCIÓN ………………… USAR GRÁFICOS DE FORMULARIO PARA MOSTRAR
8. DISEÑADORES DE VISUAL FOXPRO………………… INFORMACIÓN
9. USAR LOS ASISTENTES………………… MEJORAR LA PRESENTACIÓN DE CONTROLES
10. INICIAR UN ASISTENTE ………………… USAR CUADRÍCULAS
10.1. ASISTENTES………………… PROPIEDADES COMUNES DE LAS COLUMNAS
10.2. USAR GENERADORES………………… PARA ESTABLECER EL ORIGEN DE DATOS PARA UNA
10.2.1. GENERAR UN CONTROL ………………… CUADRÍCULA
10.2.2. DAR FORMATO A VARIOS CONTROLES ………………… PARA ESTABLECER EL ORIGEN DE DATOS PARA UNA
10.2.3. USAR EL GENERADOR DE FORMULARIOS…………… COLUMNA
11. CREAR TABLAS………………… AGREGAR DE FORMA INTERACTIVA CONTROLES A UNA
11.1. CREAR UNA TABLA CON UN ASISTENTE ………………… COLUMNA DE CUADRÍCULA
11.2. DISEÑADOR DE TABLAS………………… PARA QUITAR CONTROLES DE COLUMNAS DE CUADRÍCULA EN
11.3. TIPO DE DATOS DE UN CAMPO………………… EL GENERADOR DE FORMULARIOS
11.4. VENTAJAS DE LAS TABLAS ASOCIADAS A UNA BASE DE USAR MARCOS DE PAGINA
DATOS………………… CONTROL CONTENEDOR OLE
11.4.5. BASE DE DATOS………………… CONTROL ACTIVEX DEPENDIENTE
11.4.5.1. ASISTENTE PARA BASES DE DATOS NOMBRES DE OBJETOS
11.4.5.2. DISEÑADOR DE BASES DE DATOS………………… EVENTOS
11.5. INDEXAR TABLAS………………… CONJUNTO BÁSICO DE EVENTOS
11.5.1. CREAR UNA CLAVE DE ÍNDICE DE UNA TABLA ………… MÉTODOS
11.5.1.2. CREAR UN ÍNDICE PARA ORDENAR REGISTROS …… CONSULTAS
11.5.1.3. CREAR UN ÍNDICE QUE IMPONGA VALORES ÚNICOS TIPOS DE CONSULTAS
EN UN CAMPO ………………………………………… CONSULTAS SENCILLAS DE SÓLO LECTURA BASADAS EN
11.5.2. ELEGIR UN TIPO DE ÍNDICE………………………. TABLAS (ARCHIVOS .DBF) O EN VISTAS
11.5.2.1. PRINCIPAL …………………………………… COMO INICIAR EL GENERADOR DE CONSULTAS.
11.5.2.2. CANDIDATO …………………………………… CREAR UNA CONSULTA CON EL DISEÑADOR DE CONSULTAS
11.5.2.3. NORMAL …………………………………… PARA CREAR UNA CONSULTA CON UN ASISTENTE
11.5.2.4. ÚNICO …………………………………… DESTINO DE LA CONSULTA
12. FORMULARIOS CONSULTAS LOCALES DE MÚLTIPLES TABLAS O CON DATOS
12.1. ADMINISTRAR FORMULARIOS REMOTOS
12.2. ESTABLECER EL ENTORNO DE DATOS OPCIONES DEL CUADRO DE DIÁLOGO CONDICION DE
12.2.1. ABRIR EL DISEÑADOR DE ENTORNOS DE DATOS COMBINACION
12.2.2. PROPIEDADES HABITUALES DEL ENTORNO DE DATOS CREAR UNA COMBINACIÓN ENTRE TABLAS
12.2.3. AGREGAR UNA TABLA O VISTA AL DISEÑADOR DE ELIMINAR UNA COMBINACIÓN
ENTORNOS DE DATOS MODIFICAR UNA COMBINACIÓN
12.2.4. QUITAR UNA TABLA O UNA VISTA DEL DISEÑADOR DE VISTAS
ENTORNOS DE DATOS CREAR VISTAS
12.2.5.1. EL DISEÑADOR DE ENTORNOS DE DATOS CON CREAR UNA VISTA CON UN ASISTENTE
RELACIONES ESTABLECIDAS ENTRE TABLAS INICIAR EL DISEÑADOR DE VISTAS
12.2.5.2. MODIFICAR LAS PROPIEDADES DE LA RELACIÓN
12.3. INTERFACES DE UN ÚNICO DOCUMENTO E INTERFACES
DE DOCUMENTOS MÚLTIPLES
12.3.1. TIPOS DE FORMULARIOS CREAR UN SISTEMA DE MENÚS
12.3.1.1. ESPECIFICAR UN FORMULARIO SECUNDARIO CREAR UN SISTEMA DE MENÚS CON MENÚ RÁPIDO
12.3.1.2. ESPECIFICAR UN FORMULARIO FLOTANTE GENERAR UN MENÚ
12.3.1.3. ESPECIFICAR UN FORMULARIO DE NIVEL SUPERIOR CREAR MENÚS SDI (UNA APLICACIÓN QUE SÓLO ADMITE UN
12.3.1.3.1. AGREGAR UN MENÚ A UN FORMULARIO DE NIVEL DOCUMENTO CADA VEZ)
PRINCIPAL CREAR UN MENÚ SDI
12.3.1.2. OCULTAR LA VENTANA PRINCIPAL DE VISUAL FOXPRO INCLUIR UN SISTEMA DE MENÚS EN LA APLICACIÓN
CLASES ADJUNTAR MENÚS SDI A FORMULARIOS
CLASES DE BASE DE VISUAL FOXPRO CREAR UN MENÚ CONTEXTUAL
CREAR UNA CLASE NUEVA ADJUNTAR MENÚS CONTEXTUALES A CONTROLES
EJEMPLO SENCILLO ACTIVAR O DESACTIVAR UN MENÚ O ELEMENTO DE MENÚ
GALERÍA DE COMPONENTES MARCAR EL ESTADO DE UN ELEMENTO DE MENÚ
ABRIR LA GALERÍA DE COMPONENTES ASIGNAR UN COMANDO A UN MENÚ O ELEMENTO DE MENÚ
MOVER ELEMENTOS DESDE LA GALERÍA DE COMPONENTES ESPECIFICAR UN MÉTODO ABREVIADO DE TECLADO PARA UN
EJEMPLO MENÚ O ELEMENTO DE MENÚ
12.3.2. OBJETOS Y PROPIEDADES ESPECIFICAR LA TECLA DE ACCESO DE UN MENÚ O ELEMENTO
12.3. ASIGNAR UN ICONO A UN FORMULARIO DE MENÚ
REFERENCIAS A OBJETOS EN LA JERARQUÍA DE OBJETOS INFORMES
CONTROLES DETERMINAR EL TIPO DE INFORME QUE VA A CREAR
USAR GRUPOS DE BOTONES DE OPCIÓN CREAR EL ARCHIVO QUE CONTENGA EL DISEÑO DEL INFORME
USAR CUADROS DE LISTA Y CUADROS DE LISTA USAR UN ASISTENTE PARA INFORMES
DESPLEGABLES (CUADROS COMBINADOS) CREAR UN INFORME RÁPIDO
MÉTODOS DE CUADRO DE LISTA QUE SUELEN UTILIZARSE CON CREAR UN INFORME EN BLANCO
FRECUENCIA MODIFICAR EL DISEÑO
CASILLAS DE VERIFICACIÓN MODIFICAR UN INFORME GENERADO
CUADROS DE TEXTO BANDAS DE INFORME EN EL DISEÑADOR DE INFORME
VALIDAR DATOS EN UN CUADRO DE TEXTO AGREGAR LAS BANDAS TÍTULO Y RESUMEN
CUADROS DE EDICION AGREGAR UNA BANDA TÍTULO Y RESUMEN
CUADROS COMBINADOS TIPOS DE CONTROLES DE INFORME.
ESTABLECER EL ORIGEN DE DATOS DEL INFORME
EL ENTORNO DE DATOS ADMINISTRA LOS ORÍGENES DE LOS
DATOS DE SUS INFORMES
ESTABLECER UN ÍNDICE PARA EL ENTORNO DE DATOS
AGREGAR CONTROLES DE CAMPO
AGREGAR CAMPOS DE TABLA DESDE LA BARRA DE
HERRAMIENTAS
UTILICE LA BARRA DE HERRAMIENTA DISEÑO PARA ALINEAR
LOS CONTROLES
AGREGAR UN GRUPO
HERRAMIENTAS PARA PERSONALIZAR EL DISEÑO DEL
INFORME
CUADRO DE DIÁLOGO CONFIGURAR PÁGINA
DEFINIR EL ENCABEZADO Y EL PIE DE PÁGINA
DEFINIR LA BANDA DETALLE
DAR FORMATO A LOS CONTROLES DE CAMPO
OPCIONES DEL CUADRO DE DIÁLOGO
VISTA PRELIMINAR E IMPRESIÓN DE SU INFORME
VISTA PRELIMINAR DE LOS RESULTADOS
IMPRIMIR INFORMES
PARA IMPRIMIR UN INFORME
INTRODUCCION
Visual FoxPro, es un nuevo y potente entorno orientado a objetos para Las bases de datos son conjuntos de tablas, normalmente relacionadas
la creación de bases de datos y la programación de aplicaciones. entre sí mediante campos comunes. Como soporte para las tablas y las
Visual FoxPro proporciona todas las herramientas necesarias para relaciones, también puede incluir en la base de datos vistas,
administrar datos, tanto si va a organizar tablas de información y conexiones, procedimientos almacenados, reglas de negocios y
ejecutar consultas, como si va a crear un sistema de base de datos desencadenantes. Los archivos de base de datos tienen la extensión
relacional integrado o programar una aplicación para la administración .dbc.
de datos de usuarios.
Las tablas libres son tablas que no forman parte de la base de datos y
PARA REALIZAR LOS EJERCICIOS CREE UNA CARPETA EN C: Y que están almacenadas en un archivo con la extensión .dbf.
ESTABLEZCA UNA UNIDAD Y DIRECTORIO PREDETERMINADO
DE TRABAJO Las consultas son un método estructurado de solicitar información
CON EL COMANDO SET DEFA TO específica que está almacenada en tablas. Mediante el Diseñador de
Así: SET DEFA TO "E:\EJERCICIOS DE VISUAL FOXPRO6.0" desde consultas se formula una pregunta que extrae registros de las tablas
la ventana comandos en el menú Ventana. basándose en los criterios especificados. Las consultas se guardan
como archivos con la extensión .qpr.
ESTABLEZCA EL ARCHIVO DE AYUDA
Las vistas son consultas especializadas que permiten tener acceso a
Haga clic en el menú Herramientas y luego en opciones. En el cuadro datos remotos y actualizar orígenes de datos modificando los registros
de diálogo opciones, seleccione la ficha archivo, en tipo de archivo devueltos por la consulta. Sólo existen dentro de una base de datos y
haga clic en archivo de ayuda, luego haga clic en el botón modificar.En no son archivos independientes.
el cuadro cambia la ubicación del archivo de ayuda coloque ;
c:\archivos de programa\microsoft visual 2. PROGRAMAS SECUENCIALES INTERACTIVOS Y ORIENTADO
studio\msdn98\98vs\3082\foxhelp.chm A EVENTOS

1. REQUISITOS DE VISUAL FOX PRO Aunque Visual FoxPro admite la programación estándar por
procedimientos, se ha ampliado la capacidad del lenguaje para
• Los requisitos mínimos para ejecutar Visual FoxPro con los sistemas proporcionar la potencia y la flexibilidad propias de la programación
operativos Windows: orientada a objetos.
• Un PC compatible con IBM con un procesador 486 a 66MHz (o El diseño orientado a objetos y la programación orientada a objetos
superior). representan un cambio de perspectiva con respecto a la programación
• Un mouse. estándar por procedimientos. En lugar de pensar en el flujo del
• 16 MB de RAM. programa desde la primera hasta la última línea de código, se debe
• 85 MB para la instalación típica y 90 MB para la instalación pensar en la creación de objetos: componentes autocontenidos de una
completa. aplicación que tienen funcionalidad privada además de la funcionalidad
• Se recomienda un monitor VGA o de mayor resolución. que se puede exponer al usuario.

EL ADMINISTRADOR DE PROYECTOS 3. PROGRAMA PARA EL ENTORNO DE WINDOWS


La primera vez que inicie Visual FoxPro, el Administrador de proyectos
creará un nuevo proyecto vacío de forma que pueda agregar Visual FoxPro 6.0 está orientado a la realización de programas para
elementos existentes al nuevo proyecto o bien crear elementos nuevos Windows, pudiendo incorporar todos los elementos de este entorno
para incluirlos en el proyecto. como son: ventanas, botones, cajas de diálogo y de texto, botones de
La forma más sencilla de familiarizarse con Visual FoxPro es utilizar el opción y de selección, barras de desplazamiento, gráficos, menús, etc.
Administrador de proyectos. El Administrador de proyectos proporciona Prácticamente todos los elementos de interacción con el usuario de los
un método sencillo y visual de organizar y trabajar con tablas, archivos, que dispone Windows 95/98/NT pueden ser programados en Visual
bases de datos, informes, consultas y otros archivos cuando se FoxPro 6.0 de un modo muy sencillo. En ocasiones bastan unas pocas
administran tablas y bases de datos o se crea una aplicación. operaciones con el ratón y la introducción a través del teclado de
algunas sentencias para disponer de aplicaciones con todas estas
características. En los siguientes puntos se introducirán algunos
conceptos de este tipo de programación

4. MODO DISEÑO Y MODO DE EJECUCIÓN

VFP puede trabajar de dos modos distintos: en modo de diseño y en


modo de ejecución. En modo de diseño el usuario construye
interactivamente la aplicación, colocando controles en el formulario,
definiendo sus propiedades, y desarrollando funciones para gestionar
los eventos, es decir diseñando la interfaz gráfica o escribiendo código.
La aplicación se prueba en modo de ejecución. En ese caso el usuario
actúa sobre el programa (produce eventos) y prueba cómo responde el
programa. Hay algunas propiedades de los controles que deben
establecerse en modo de diseño, pero muchas otras pueden cambiarse
en tiempo de ejecución desde el programa escrito en Visual FoxPro.
También hay propiedades que sólo pueden establecerse en modo de
ejecución y que no son visibles en modo de diseño. Todos estos
conceptos –controles, propiedades, eventos, etc.- se explican más
adelante.

DISEÑADORES DE VISUAL FOXPRO

La tabla siguiente resume los diseñadores que se utilizan para realizar


las distintas tareas.

Para Utilice este diseñador

Crear tablas y establecer índices en tablas Diseñador de tablas


El Administrador de proyectos es la herramienta principal de
organización para trabajar con datos y objetos en Visual FoxPro. Un Ejecutar consultas en tablas locales Diseñador de consultas
proyecto es un conjunto de archivos, datos, documentos y objetos de
Visual FoxPro que se guardan como un archivo con extensión .pjx
Ejecutar consultas en orígenes de datos Diseñador de vistas Crear archivos de combinación Asistente para combinar
remotos; crear consultas actualizables de correspondencia correspondencia

Crear un formulario para ver y modificar los Diseñador de Crear formularios uno a varios Asistente para formularios uno a
datos de las tablas formularios varios

Crear un informe para mostrar e imprimir los Diseñador de informes Crear informes uno a varios Asistente para informes uno a
datos varios

Configurar una base de datos; ver y crear Diseñador de bases de Crear bases de datos Oracle Asistente para upsizing a Oracle
relaciones entre tablas datos que dupliquen, en todo lo
posible, la funcionalidad de
Crear una conexión para vistas remotas Diseñador de bases de datos Visual FoxPro
conexiones
Crear tablas dinámicas Asistente para tablas dinámicas

Cada diseñador dispone de una o varias barras de herramientas que


Crear consultas Asistente para consultas
proporcionan acceso rápido a las características o acciones más
habituales de la herramienta.
Crear vistas remotas Asistente para vistas remotas
USAR LOS ASISTENTES
Crear informes Asistente para informes
Los Asistentes son programas interactivos que ayudan a realizar
rápidamente las tareas habituales, como crear formularios, dar formato Exportar clases de Visual Asistente para ingeniería inversa
a informes y configurar consultas FoxPro a un archivo de modelo
de objeto Microsoft Visual
PARA INICIAR UN ASISTENTE Modeler (.mdl)
1. En el Administrador de proyectos, seleccione el tipo de archivo
que desea crear y elija Nuevo. Crear un asistente Asistente de ejemplo
personalizado
También puede elegir Nuevo en el menú Archivo y seleccionar el
tipo de archivo que desea crear.
2. Seleccione la opción Asistente. Crear discos de distribución a Asistente para instalación
partir de los archivos del árbol
También puede tener acceso directo a la mayor parte de los Asistentes de distribución
si elige el comando Asistentes del menú Herramientas.
Crear bases de datos SQL Asistente para upsizing a SQL
ASISTENTES Server que dupliquen, en todo Server
lo posible, la funcionalidad de
Para Use el asistente bases de datos Visual FoxPro

Crear aplicaciones de Visual Asistente para aplicaciones Crear una tabla Asistente para tablas
FoxPro También puede usar el Generador
de aplicaciones para incluir
Mostrar datos de una tabla o Asistente para publicación en Web
características avanzadas en su
vista en un documento HTML
aplicación.
Nota: También está disponible el
Asistente para aplicaciones (5.0) Crear páginas Web que Asistente para páginas de
de Visual FoxPro 5.0 para asegurar permitan a los visitantes de la búsqueda de WWW
la compatibilidad con las versiones página Web buscar y recuperar
anteriores. registros de la tabla de Visual
FoxPro
Importar un modelo de objeto Asistente para la generación de
de un archivo Microsoft Visual código USAR GENERADORES
Modeler (.mdl) a Visual FoxPro
Los generadores son cuadros de diálogo con fichas que simplifican la
Crear consultas de tablas de Asistente para tablas de creación y modificación de formularios, controles complejos y código de
referencias cruzadas referencias cruzadas integridad referencial. Cada generador muestra una serie de fichas que
le permiten establecer las propiedades del objeto seleccionado. Puede
Crear una base de datos Asistente para bases de datos usar los generadores para algunos controles, para formularios, para
dar formato a controles y para crear integridad referencial entre tablas
de bases de datos.
Dar formato y generar archivos Asistente para documentación
de texto a partir del código de
GENERAR UN CONTROL
archivos de proyecto y de
programa
• En la barra de herramientas Controles de formularios, elija el
Crear formularios Asistente para formularios
botón Bloqueo del Generador. Cada vez que agregue un
Crear gráficos Asistente para gráficos control nuevo a un formulario, Visual FoxPro muestra el
generador adecuado.
–O–
Importar o anexar datos Asistente para importar
• Seleccione un control del formulario y elija el botón Generador de
la ventana Propiedades
Crear etiquetas de correo Asistente para etiquetas

Crear vistas Asistente para vistas locales


CREAR UNA TABLA CON UN ASISTENTE

1. En el Administrador de proyectos, seleccione la ficha Datos y, a


continuación, seleccione Tablas libres.
2. Elija Nuevo.
3. Elija el botón Asistente.
4. Siga las instrucciones que aparecerán en las pantallas del
asistente.

Puede diseñar y crear una tabla de forma interactiva mediante el


Diseñador de tablas, accesible a través del Administrador de proyectos
o del menú Archivo, o mediante el lenguaje de programación.

Para crear y modificar una tabla mediante programación se utilizan los


comandos siguientes:
DAR FORMATO A VARIOS CONTROLES Comandos para crear y modificar tablas

ALTER TABLE CLOSE TABLES


• En el Diseñador de formularios, seleccione controles.
• En la barra de herramientas Diseñador de formularios, elija el
CREATE TABLE DELETE FILE
botón Autoformato.

REMOVE TABLE RENAME TABLE

DROP TABLE

DISEÑADOR DE TABLAS

USAR EL GENERADOR DE FORMULARIOS

• En el menú Formulario, elija Formulario rápido. Utilice el Diseñador de tablas para crear y modificar tablas de base de
datos, tablas libres, campos e índices. El Diseñador de tablas le ayuda
a implementar características avanzadas como reglas de validación y
valores predeterminados, y clases predeterminadas de controles.
Opciones de la ficha
• Campos Presenta los campos de la tabla en una cuadrícula que se
puede desplazar.
• Índices Contiene una cuadrícula desplazable para la definición de
índices.
• Tabla Presenta la información acerca de la tabla y le permite
especificar desencadenantes y reglas a nivel de registro.

TIPO DE DATOS DE UN CAMPO

Tipo de datos Descripción Ejemplo

Character Texto alfanumérico La dirección de un


(Carácter) cliente

Currency Unidades monetarias Precio de compra


(Moneda)
CREAR TABLAS
Numeric Números enteros o Cantidad de artículos
Puede crear una tabla en una base de datos o una tabla libre que no
(Numérico) decimales pedidos
esté asociada a ninguna base de datos.

Cuando tenga que crear una tabla nueva, puede obtener ayuda de un Float (Flotante) Igual que Numeric
Asistente para tablas o bien puede usar el Diseñador de tablas y crear
una tabla con los campos que necesite. Date (Fecha) Día, mes y año Fecha en que se
Las tablas, cuando se usan individualmente, son útiles para almacenar realizó un pedido
y ver la información con la que se trabaja. Pero si organiza sus tablas
en una base de datos, podrá sacar más partido a la potencia de Visual DateTime Día, mes, año, horas, Fecha y hora en que
FoxPro. Si introduce las tablas en una base de datos, puede reducir el (FechaHora) minutos y segundos un empleado llegó al
almacenamiento de datos redundantes y proteger la integridad de los
datos.
Puede colocar las tablas y las vistas si las arrastra a su lugar o si utiliza
trabajo el comando Organizar del menú Base de datos.

Double (Doble) Número de precisión Datos procedentes de


doble experimentos que
requieren un elevado
grado de precisión

Integer Valores numéricos no Número de línea de


(Entero) decimales (números un pedido
enteros)

Logical Verdadero o Falso Campo que indica si


(Lógico) se ha completado o no
un pedido

Memo Texto alfanumérico de Notas de un registro


longitud indeterminada telefónico sobre las
llamadas

General OLE Hoja de cálculo de


INDEXAR TABLAS
Excel
Para desplazarse por los registros de una tabla, verlos o manipularlos
Character Igual que Character, pero Las contraseñas de en un orden determinado, debe utilizar un índice. Visual FoxPro utiliza
(binario) los valores no se traducen usuario almacenadas los índices como mecanismos de ordenación para ofrecer flexibilidad y
cuando cambia la página en una tabla y usadas eficacia al programar una aplicación. La flexibilidad supone crear y
de códigos en distintos países utilizar múltiples claves de índice distintas para la misma tabla, lo que
permite trabajar con los registros ordenados de formas diferentes,
Memo (binario) Igual que Memo, pero los Un archivo de según las necesidades de la aplicación. La potencia implica crear
valores no se traducen comandos de inicio de relaciones personalizadas entre las tablas, basadas en sus índices, lo
cuando cambia la página sesión empleado en que le permite tener acceso a los registros que desea.
de códigos distintos países Un índice de Visual FoxPro es un archivo que contiene punteros
ordenados lógicamente según los valores de una clave de índice. El
archivo de índice es independiente del archivo .DBF de la tabla, y no
VENTAJAS DE LAS TABLAS ASOCIADAS A UNA BASE DE cambia el orden físico de los registros contenidos en la misma. Al crear
DATOS: un índice se crea un archivo que mantiene punteros a los registros del
archivo .DBF. Cuando desee trabajar con los registros de la tabla en un
Las tablas asociadas a una base de datos cuentan con ciertas ventajas orden determinado, elija un índice para controlar el orden en que se ve
sobre las tablas libres. Cuando una tabla forma parte de una base de la tabla y se tiene acceso a ella.
datos, es posible crear:
• Nombres largos para la tabla y para cada uno de sus campos. CREAR UNA CLAVE DE ÍNDICE DE UNA TABLA
• Títulos y comentarios para cada campo de la tabla.
• Valores predeterminados, máscaras de entrada y formato para • En el Diseñador de tablas, elija la ficha Índices e introduzca la
los campos de la tabla. información de una clave de índice. Elija Normal como tipo de
• Clases de control predeterminada para campos de tablas. índice.
–O –
• Reglas a nivel de campo y a nivel de registro.
• Utilice el comando INDEX.
• Índices de clave primaria y relaciones de tablas para
compatibilidad con reglas de integridad referencial. Puede llevar a cabo varias tareas en función del tipo de índice que
• Un desencadenante para cada evento INSERT, UPDATE o cree.
DELETE.
Si desea Use
BASE DE DATOS
Ordenar los registros para Un índice normal, candidato o
Un archivo de base de datos que tiene una extensión .DBC y puede
aumentar la velocidad a la que se principal.
contener una o varias tablas, vistas, conexiones con orígenes de datos
muestran, se consultan o se
remotos y procedimientos almacenados.
imprimen
Las bases de datos se pueden crear con el asistente para bases de
datos o con el diseñador de bases de datos
Controlar la entrada de valores Un índice principal o candidato
duplicados en un campo y ordenar para una tabla de base de datos
ASISTENTE PARA BASES DE DATOS los registros o un índice candidato para una
En la ficha datos del administrador de proyecto, seleccione Databases tabla libre.
y haga clic en el botón nuevo, seleccione asistente para bases de
datos y siga las instrucciones.
CREAR UN ÍNDICE PARA ORDENAR REGISTROS
DISEÑADOR DE BASES DE DATOS 1. En el Administrador de proyectos, seleccione la tabla a la que
desea agregar un índice y elija Modificar.
El Diseñador de bases de datos muestra todas las tablas, vistas y 2. En la ficha Índices, escriba un nombre y un tipo para el índice.
relaciones contenidas en una base de datos. Cuando la ventana del 3. En la columna Expresión, escriba el nombre de campo que desea
Diseñador de bases de datos está activa, Visual FoxPro muestra el usar para ordenar los registros.
menú Base de datos y la barra de herramientas Diseñador de bases de –O–
datos. Escriba una expresión que quiera usar para ordenar los registros o
generar una expresión; para ello, elija el botón situado al final del
Cada tabla se representa por una ventana dimensionable que muestra cuadro para mostrar el Generador de expresiones.
los campos de la tabla y los índices, si existe alguno. El Diseñador de 4. Si quiere que los registros se muestren en orden descendente,
bases de datos muestra las relaciones persistentes al mostrar líneas seleccione el botón de flecha situado a la izquierda del nombre
entre las tablas que conectan los índices. del índice.
La flecha del botón apunta hacia abajo para orden descendente y hacia ADMINISTRAR FORMULARIOS
arriba para orden ascendente. tareas comunes relacionadas con la administración de formularios
5. Elija Aceptar. Ocultar un Puede ocultar un formulario Use el Método Hide.
formulario para que deje de estar Ejemplo
visible para un usuario. THISFORM.Hide
CREAR UN ÍNDICE QUE IMPONGA VALORES ÚNICOS EN UN Cuando el formulario está
CAMPO oculto, el usuario no puede
tener acceso a sus
1. En el Administrador de proyectos, seleccione la tabla a la controles, pero sigue
que quiera agregar un índice y elija Modificar. teniendo control total sobre
2. En la ficha Índices, cree un índice. ellos mediante programación
3. En la columna Tipo, seleccione Principal o Candidato. Liberar un Puede permitir que un Utilice el método
4. Elija Aceptar. formulario usuario libere un formulario Release.
cuando haya terminado de Ejemplo
ELEGIR UN TIPO DE ÍNDICE interactuar con él. Al liberar THISFORM.Release
un formulario, ya no podrá
Puede elegir entre cuatro tipos de índices: tener acceso a sus
propiedades y métodos.
• Principal
• Candidato 12.2. ESTABLECER EL ENTORNO DE DATOS
• Normal
• Único El entorno de datos de un formulario o un conjunto de formularios
Los íNDICES PRINCIPALES aseguran que sólo se introducen valores incluye las tablas o vistas con las que interactúa el formulario y las
únicos en un campo y determinan el orden en el que se procesan los relaciones entre tablas que espera el formulario. Puede diseñar
registros. Puede crear un índice principal para cada tabla si la tabla visualmente el entorno de datos en el Diseñador de entornos de datos
está incluida en la base de datos. Si la tabla ya tiene un índice y guardarlo con el formulario o con el conjunto de formularios.
principal, agregue un índice candidato. El entorno de datos puede automatizar la apertura y el cierre de tablas
Los ÍNDICES CANDIDATOS también imponen valores únicos y y vistas cuando se ejecuta el formulario. Además, el entorno de datos
determinan en qué orden se procesan los registros, como un índice le ayuda a establecer la propiedad ControlSource para controles al
principal. Puede tener varios índices candidatos por tabla en bases de rellenar el cuadro del valor de la propiedad ControlSource de la
datos y en tablas libres. ventana Propiedades con todos los campos del entorno de datos.
Los ÍNDICES NORMALES determinan el orden en que se procesan los
registros pero permiten que se introduzcan valores duplicados en un 12.2.1. PARA ABRIR EL DISEÑADOR DE ENTORNOS DE DATOS
campo. Puede agregar más de un índice normal a una tabla.
ÍNDICE ÚNICO. Por compatibilidad con versiones anteriores, este 1. En el menú Ver, elija Entorno de datos.
índice selecciona y ordena un subconjunto de registros según la 2. En el cuadro Agregar tabla o vista, elija Agregar.
primera aparición de un valor en el campo que especifique. 3. En el cuadro de diálogo Abrir, elija la tabla o vista que desea
agregar al entorno de datos.
12. FORMULARIOS
PROPIEDADES HABITUALES DEL ENTORNO DE DATOS
Cada uno de los elementos gráficos que pueden formar parte de una
aplicación típica de Windows 95/98/NT es un tipo de control: los
botones de comando, las cajas de diálogo, los cuadros de texto, las Propiedad Descripción Valor
casillas de selección, los botones de opción, las barras de predeterminado
desplazamiento horizontales y verticales, los gráficos, los menús, y
muchos otros tipos de elementos son controles. Cada control debe AutoCloseTables Controla si las tablas y las Verdadero (.T.)
tener un nombre a través del cual se puede hacer referencia a él en el vistas se cierran cuando
programa. VFP proporciona nombres por defecto que el usuario puede se libera el formulario o el
modificar. conjunto de formularios.

En la terminología de Visual FOXPRO 6.0 se llama formulario (form) a


AutoOpenTables Controla si las tablas y las Verdadero (.T.)
una ventana. vistas del entorno de datos
se abren cuando se
ejecuta el formulario.

InitialSelectedAlias La tabla o la vista que se "" en tiempo de


selecciona cuando se diseño. Si no se
ejecuta el formulario. especifica, en
tiempo de
ejecución se
seleccionará
inicialmente el
primer cursor
agregado a
DataEnvironment.

AGREGAR UNA TABLA O VISTA AL DISEÑADOR DE ENTORNOS


DE DATOS
Cuando agregue tablas o vistas al Diseñador de entornos de datos,
Figura 1. Formulario puede ver los campos y los índices que pertenecen a la tabla o a la
vista.
Un formulario puede ser considerado como un objeto contenedor para
los controles. Una aplicación puede tener varios formularios, pero un Una forma fácil de agregar una tabla o vista consiste en arrastrar una
único formulario puede ser suficiente para las aplicaciones más tabla o una vista desde un proyecto abierto hasta el Diseñador de
sencillas. Los formularios deben también tener un nombre, que puede entornos de datos.
crearse siguiendo las mismas reglas que para los controles.
Cuando el Diseñador de entornos de datos está activo, la ventana
Propiedades muestra objetos y propiedades asociadas al entorno de
datos. Cada tabla o vista del entorno de datos, cada relación entre
tablas y el mismo entorno de datos son objetos distintos en el cuadro
Objeto de la ventana Propiedades.

QUITAR UNA TABLA O UNA VISTA DEL DISEÑADOR DE


ENTORNOS DE DATOS

1. En el Diseñador de entornos de datos, seleccione la tabla o la vista.


2. En el menú Entorno de datos, elija Quitar.

ESTABLECER RELACIONES EN EL DISEÑADOR DE ENTORNOS


DE DATOS

Si agrega al Diseñador de entornos de datos tablas que tienen


relaciones persistentes establecidas en una base de datos, las
relaciones se agregarán automáticamente al entorno de datos. Si las
tablas no tienen relaciones persistentes, podrá relacionarlas en el
Diseñador de entornos de datos. INTERFACES DE UN ÚNICO DOCUMENTO E INTERFACES DE
DOCUMENTOS MÚLTIPLES
RELACIÓN PERSISTENTE
Visual FoxPro le permite crear dos tipos de aplicaciones:
Relaciones entre tablas que duran más que simplemente el tiempo de
ejecución. Las tablas deben estar en una base de datos para poder • Las aplicaciones con interfaz de documentos múltiples(Multiple-
tener una relación persistente. document interface, MDI) están formadas por una ventana principal
única y las ventanas de la aplicación están contenidas en la ventana
EL DISEÑADOR DE ENTORNOS DE DATOS CON RELACIONES principal. Visual FoxPro es fundamentalmente una aplicación MDI.
ESTABLECIDAS ENTRE TABLAS • Las aplicaciones con interfaz de un único documento (SDI) están
formadas por una o más ventanas independientes, cada una de las
cuales aparece como ventana independiente en el escritorio de
Windows.

Algunas aplicaciones mezclan elementos SDI y MDI.

TIPOS DE FORMULARIOS

Formulario secundario. Un formulario contenido en otra ventana,


utilizada en la creación de aplicaciones MDI. Los formularios
secundarios no se pueden mover fuera de los límites de su formulario
primario y cuando se minimizan aparecen en la parte inferior del
formulario primario. Si el formulario primario está minimizado, también
se minimizan los formularios secundarios.
Formulario flotante. Formulario que pertenece a un formulario primario,
pero no está contenido en él. Los formularios flotantes se pueden
mover por toda la pantalla. No se pueden mover por detrás de su
ventana primaria. Si están minimizados, aparece un formulario flotante
También puede arrastrar un campo desde la tabla principal hasta un en la parte inferior del escritorio. Si su formulario primario está
campo de la tabla relacionada. minimizado, los formularios flotantes también se minimizan. Los
Si no hay ninguna etiqueta de índice en la tabla relacionada formularios flotantes también se usan en la creación de aplicaciones
correspondiente al campo de la tabla principal, se le pedirá que cree la MDI.
etiqueta de índice. Formulario de nivel superior. Un formulario independiente sin formulario
primario, utilizado para crear una aplicación SDI o como formulario
MODIFICAR LAS PROPIEDADES DE LA RELACIÓN primario de otros formularios secundarios de una aplicación MDI. Los
formularios de nivel superior funcionan al mismo nivel que otras
• En la ventana Propiedades, seleccione la relación en el cuadro aplicaciones de Windows y pueden aparecer por delante o por detrás
Objeto. de ellas. Aparecen en la barra de estado de Windows.

Las propiedades de la relación corresponden a cláusulas y palabras Si va a crear un formulario secundario, debe especificar no sólo qué
clave de los comandos SET RELATION y SET SKIP. debe aparecer dentro de otro formulario, sino también si es un
La propiedad RelationalExpr se establece de forma predeterminada formulario secundario compatible con MDI, que indica el
con el nombre del campo clave principal de la tabla primaria. Si la tabla comportamiento del formulario cuando se maximiza. Si el formulario
relacionada está indexada en una expresión, deberá establecer la secundario es compatible MDI, se combina con el formulario primario,
propiedad RelationalExpr con esta expresión. Por ejemplo, si la tabla compartiendo la barra de título, el título, los menús y las barras de
relacionada está indexada en UPPER(cust_id), deberá establecer herramientas del formulario primario. Un formulario secundario no
RelationalExpr como UPPER(cust_id). compatible con MDI se maximiza en toda la zona cliente del formulario
Si la relación no es de uno a varios, establezca la propiedad primario, pero conserva su título y su barra de título.
OneToMany como falsa (.F.). Esto equivale a utilizar el comando SET
RELATION sin ejecutar SET SKIP. ESPECIFICAR UN FORMULARIO SECUNDARIO

Establecer la propiedad OneToMany de una relación como verdadera 1. Cree o modifique el formulario mediante el Diseñador de
(.T.) equivale a ejecutar el comando SET SKIP. Si omite la tabla formularios.
primaria, el puntero de registro permanecerá en el mismo registro 2. Establezca la propiedad ShowWindow del formulario a uno de los
primario hasta pasar a través de todos los registros relacionados de la valores siguientes:
tabla secundaria. • 0 – En pantalla. El formulario primario del formulario secundario
Nota Si desea crear una relación de uno a varios en el formulario o el será la ventana principal de Visual FoxPro.
conjunto de formularios, establezca como verdadera (.T.) la propiedad • 1 – En formulario de nivel superior. El formulario primario del
OneToMany, aunque se haya establecido una relación persistente de formulario secundario será el formulario de nivel superior que
uno a varios en la base de datos. esté activo cuando se muestre la ventana secundaria. Use este
valor si quiere que la ventana secundaria aparezca dentro de
cualquier ventana de nivel superior distinta de la ventana principal
de Visual FoxPro. CommandButton FormSet OLEBoundControl Shape
3. Establezca la propiedad MDIForm del formulario a .T. (verdadero)
si quiere que el formulario secundarios se combine con el CommandGroup Grid OLEContainerControl Spinner
formulario primario cuando se maximice, o a .F. (falso) si la
ventana secundaria debe seguir siendo una ventana ComboBox Header* OptionButton* TextBox
independiente cuando se maximice.

Un formulario flotante es una variación de un formulario secundario. Container Hyperlink OptionGroup Timer
Object
ESPECIFICAR UN FORMULARIO FLOTANTE
Control Image Page* ToolBar
1. Cree o modifique el formulario con el Diseñador de formularios.
2. Establezca la propiedad ShowWindow del formulario a uno de los
valores siguientes:
* Estas clases son parte integral de un contenedor primario y no
• 0 – En pantalla. El formulario primario del formulario flotante será pueden usarse como subclases en el Diseñador de clases.
la ventana principal de Visual FoxPro.
• 1 – En formulario de nivel secundario. El formulario primario del
formulario flotante será el formulario de nivel superior que esté Todas las clases de base de Visual FoxPro reconocen el siguiente
activo cuando se muestre la ventana flotante. conjunto mínimo de eventos:
3. Establezca la propiedad Desktop del formulario a .T. (verdadero).

ESPECIFICAR UN FORMULARIO DE NIVEL SUPERIOR Evento Descripción

Init Ocurre cuando se crea el objeto.


1. Cree o modifique el formulario con el Diseñador de formularios.
2. Establezca la propiedad ShowWindow del formulario a 2 – Como
formulario de nivel superior. Destroy Ocurre cuando el objeto se libera de la memoria.

Error Ocurre siempre que tiene lugar un error en


AGREGAR UN MENÚ A UN FORMULARIO DE NIVEL PRINCIPAL procedimientos de evento o de método de la clase.

1. Cree un menú de formulario de nivel superior.


2. Establezca la propiedad ShowWindow del formulario a 2 – Como Todas las clases de base de Visual FoxPro tienen el siguiente conjunto
formulario de nivel superior. mínimo de propiedades:
3. En el evento Init del formulario, ejecute el programa de menú y
pásele dos parámetros:

Por ejemplo, puede llamar a un menú llamado mimenuSDI con este Propiedad Descripción
código:
DO mimenuSDI.mpr WITH THIS, .T. Class El tipo de clase de que se trata.

BaseClass La clase de base de la que se deriva, como Form,


OCULTAR LA VENTANA PRINCIPAL DE VISUAL FOXPRO
Commandbutton, Custom, etc.

1. En el evento Init del formulario, incluya la siguiente línea de ClassLibrary La biblioteca de clases en la que está almacenada.
código:
Application.Visible = .F. ParentClass La clase de la que se deriva la clase actual. Si la
2. En el evento Destroy del formulario, incluya la siguiente línea de clase se deriva directamente de una clase de base
código: de Visual FoxPro, la propiedad ParentClass es la
Application.Visible = .T. misma que la propiedad BaseClass.

CLASES
CREAR UNA CLASE NUEVA
La programación orientada a objetos es en gran medida un modo de
empaquetar código de manera que se pueda volver a utilizar y • En el Administrador de proyectos, seleccione la ficha Clases y
mantener más fácilmente. Los paquetes principales se llaman clases. elija Nuevo.
• –O–
Una clase es una plantilla que define las características de un objeto y • En el menú Archivo, elija Nuevo, seleccione Clase y elija Nuevo
describe qué apariencia y comportamiento debe tener el objeto. archivo.
• –O–
Las clases y los objetos están estrechamente relacionados, pero no • Utilice el comando CREATE CLASS.
son lo mismo. Una clase contiene información sobre cuál debe ser la
apariencia y el comportamiento de un objeto. El cuadro de diálogo Nueva clase le permite especificar el nombre de la
nueva clase, la clase en la que se basa la nueva clase y la biblioteca
CLASES DE BASE DE VISUAL FOXPRO en la que se almacenará.

EJEMPLO SENCILLO
ActiveDoc Custom Label PageFrame

CheckBox EditBox Line ProjectHook

Column* Form ListBox Separator


Cuando especifica la clase en la que está basada la nueva clase y la
biblioteca en la que se va a almacenar, se abre el Diseñador de clases De este modo podrá utilizar este botón salir como cualquier otro control
de la barra de herramientas controles de formularios.

GALERÍA DE COMPONENTES

La Galería de componentes es un contenedor de catálogos de objetos


de software tales como bibliotecas de clases, formularios, botones,
etcétera. También contiene nuevas clases de Visual FoxPro.

ABRIR LA GALERÍA DE COMPONENTES

El Diseñador de clases proporciona la misma interfaz que el Diseñador


de formularios, y permite ver y modificar las propiedades de la clase en • En el menú Herramientas, haga clic en la Galería de
la ventana Propiedades. La ventana de edición de código le permite componentes.
escribir código para que se ejecute cuando ocurran eventos o se llame -O-
a métodos. • Escriba DO (_GALLERY) en la ventana Comandos.

Por ejemplo en la ventana de propiedades colocaremos los siguientes MOVER ELEMENTOS DESDE LA GALERÍA DE COMPONENTES
valores
1. En el panel derecho, haga clic en el elemento que desee mover.
El icono Mover, situado en la esquina superior izquierda de la ventana
Propiedad Valor
Galería de componentes, cambia de según el elemento seleccionado.
Caption \<Salir 2. Arrastre y coloque el icono Mover en el escritorio o en un
FontBold .T.-Verdadero proyecto o formulario abierto.
ToolTipText salir de la aplicación
EJEMPLO:

En el código del evento Clic escriba THISFORM.Release, para que el


botón libere formularios cuando se haga clic en él. 1. Cree un formulario nuevo.
2. Abra la galería de componentes.
3. En el panel izquierdo, seleccione Foundation classes
Cuando haga clic en el botón cerrar del diseñador de clases, 4. Aún en el panel izquierdo, haga click en botones.
aparecerá: 5. En el panel derecho, haga clic en botón del cuadro de diálogo
Filtro

Observe el icono Mover

Responda Sí.

Puede agregar la biblioteca de clases a la barra de herramientas


Controles de formularios si elige Agregar en el submenú del botón Ver
clases de la barra de herramientas Controles de formularios.
6. Arrastre y coloque el icono Mover en el formulario abierto.
7. Ejecute el formulario. Se verá así:
para el formulario o el conjunto de
formularios.

MaxButton Controla si el formulario tiene o no Verdadero (.T.)


un botón de maximizar.

MinButton Controla si el formulario tiene o no Verdadero (.T.)


un botón de minimizar.

Movable Controla si el formulario puede Verdadero (.T.)


moverse o no a una nueva
ubicación de la pantalla.

OBJETOS Y PROPIEDADES ScaleMode Controla si la unidad de medida Determinado


para las propiedades de tamaño y por los valores
Los formularios y los distintos tipos de controles son entidades de las posición de los objetos es fóxeles del cuadro de
que puede haber varios ejemplares concretos en cada aplicación. En o píxeles. diálogo
programación orientada a objetos se llama clase a estas entidades Opciones.
genéricas, mientras que se llama objeto a cada ejemplar de una clase
determinada. Por ejemplo, en un programa puede haber varios Scrollbars Controla el tipo de barras de 0 – Ninguna
botones, cada uno de los cuales es un objeto del tipo botón de desplazamiento que tiene un
comando, que sería la clase. Cada formulario y cada tipo de control formulario.
tienen un conjunto de propiedades que definen su aspecto gráfico
(tamaño, color, posición en la ventana, tipo y tamaño de letra, etc.) y su
forma de responder a las acciones del usuario (si está activo o no, por TitleBar Controla si aparece una barra de 1 – Activo
ejemplo). Cada propiedad tiene un nombre que viene ya definido por el título en la parte superior del
lenguaje. formulario.

Por lo general, las propiedades de un objeto son datos que tienen ShowWindow Controla si la ventana es una 0 - En pantalla
valores lógicos (True, False) o numéricos concretos, propios de ese ventana secundaria (en la
objeto y distintos de las de otros objetos de su clase. Así pues, cada pantalla), flotante o de nivel
clase, tipo de objeto o control tiene su conjunto de propiedades, y cada superior.
objeto o control concreto tiene unos valores determinados para las
propiedades de su clase. Casi todas las propiedades de los objetos WindowState Controla si el formulario está 0 – Normal
pueden establecerse en tiempo de diseño y también -casi siempre- en minimizado, maximizado o es
tiempo de ejecución. En este segundo caso se accede a sus valores normal.
por medio de las sentencias del programa, en forma análoga a como
se accede a cualquier variable en un lenguaje de programación.
WindowType Controla si el formulario es de tipo
sin modo (opción predeterminada)
Las siguientes propiedades de formulario suelen establecerse en
o modal. Si es modal, el usuario
tiempo de diseño para definir la apariencia y el comportamiento del
deberá cerrar el formulario antes
formulario:
de tener acceso a ningún otro
Propiedad Descripción Opción elemento de la interfaz de usuario
predeterminada de la aplicación.

AlwaysOnTop Controla si un formulario siempre Falso (.F.) Para cambiar las propiedades de un formulario desde la ventana de
está situado sobre las demás propiedades (En tiempo de Diseño):
ventanas abiertas.

AutoCenter Controla si el formulario se centra Falso (.F.)


automáticamente en la ventana
principal de Visual FoxPro cuando
se inicializa el formulario.

BackColor Determina el color de la ventana 255,255,255


del formulario.

BorderStyle Controla si el formulario no tiene 3


borde, tiene un borde de una sola
línea, de doble ancho o del
sistema. Si BorderStyle es 3
(Sistema), el usuario podrá
cambiar el tamaño del formulario.

Caption Determina el texto que aparece en Form1


la barra de título del formulario.
Las propiedades de sólo lectura en tiempo de diseño, como la
Closable Controla si el usuario puede cerrar Verdadero (.T.) propiedad Class de un objeto, se muestran en cursiva en la lista
el formulario haciendo doble clic en Propiedades y eventos de la ventana Propiedades. Si la propiedad
el cuadro de cierre. necesita un valor de carácter, no será necesario que incluya el valor
entre comillas.
DataSession Controla si las tablas del formulario 1 Seleccione el Objeto (el formulario) y en la propiedad caption
o el conjunto de formularios están especifique el texto mostrado en la barra de título del formulario.
abiertas en áreas de trabajo
accesibles globalmente o privadas
Para establecer el valor de la propiedad Caption en tiempo de
ejecución haga doble clic en el formulario Aparecerá This en la ventana del Evento Load del formulario, inserte
un punto y escriba caption=”Formulario de prueba”.

Luego ejecute el formulario


haciendo clic en el botón Ejecutar

Se mostrará :

O bien, haga clic en el menú Ver y luego en Código o también puede


hacerlo en la ficha Métodos de la Ventana de Propiedades del
formulario haga doble clic en el Evento Load.

Agregue This.AutoCenter=.t. al evento Load y ejecute el formulario.

Establecer Múltiples Propiedades. Puede establecer Múltiples


Propiedades de una sola vez:
WITH THISFORM.grdGrid1.grcColumn1
.Width = 5
.Resizable = .F.
.ForeColor = RGB(0,0,0)
.BackColor = RGB(255,255,255)
.SelectOnEntry = .T.
ENDWITH

ASIGNAR UN ICONO A UN FORMULARIO

1. Abra el formulario.
2. Abra la ventana Propiedades.
3. Establezca la propiedad Icon al archivo .ICO que quiera mostrar

Haga Clic con el botón derecho del Mouse y seleccione lista de objetos REFERENCIAS A OBJETOS EN LA JERARQUÍA DE OBJETOS
y seleccione el form1 luego haga clic en insertar
Para manipular un objeto, hay que identificarlo en relación a la
jerarquía de contenedores. Por ejemplo, para manipular un control de
un formulario perteneciente a un conjunto de formularios, deberá hacer
referencia al conjunto de formularios, al formulario y, por último, al
control.

Hacer referencia a un objeto dentro de su jerarquía de contenedores se


puede comparar con dar una dirección del objeto a Visual FoxPro.
Cuando describe la ubicación de una casa a otra persona fuera de su
marco inmediato de referencia, debe indicar el país, la provincia o la
región, la ciudad, la calle o bien sólo el número de la calle donde se
encuentra la vivienda, según lo lejos que se encuentre esa otra
persona. De lo contrario, podría haber cierta confusión. se almacenará en el campo, en el puntero de
registro. Si un elemento de la lista coincide con el
En el nivel superior de la jerarquía de contenedores (el conjunto de valor del campo de la tabla, se seleccionará el
formularios o el formulario) debe hacer referencia a la variable de elemento de la lista cuando el puntero de registro
objeto. La variable de objeto tiene el mismo nombre que el archivo .scx se desplace por la tabla.

objetovariable.[formulario.]control.propiedad = Configuración Botón de opción Si ControlSource es un campo numérico, 0 ó 1 se


escribe en el campo, en función de si se elige el
La tabla siguiente muestra las propiedades o las palabras clave que botón.
facilitan el establecimiento de referencias a un objeto en la jerarquía de
objetos. Si ControlSource es un campo de caracteres, en
el campo se escribirá (.T.) o (.F.), en función de si
Propiedad o Referencia se elige el botón o no. Sin embargo, si el puntero
palabra clave de registro se mueve en la tabla, el valor del
botón de opción no se actualizará para reflejar el
ActiveControl El control del formulario activo actualmente que valor de carácter del campo.
tiene el enfoque
Si el ControlSource del control OptionGroup (no
ActiveForm El formulario activo actualmente del mismo botón de opción) es un campo de
caracteres, el título del botón de opción se
almacena en el campo si se elige el botón de
ActivePage La página activa del formulario activo actualmente opción. Observe que el origen de control para un
botón de opción (a diferencia de un control
Parent El contenedor más cercano al objeto OptionGroup) no puede ser un campo de
caracteres o Visual FoxPro informará de tipo de
THIS El objeto o un procedimiento o evento del objeto datos incorrecto cuando se ejecute el formulario.

THISFORM El formulario que contiene el objeto Control numérico El control numérico refleja y escribe valores
numéricos en el campo o la variable subyacente.
THISFORMSET El conjunto de formularios que contiene al objeto
Cuadro de texto El valor del campo de la tabla se muestra en el
o cuadro de texto. Los cambios que realiza el
Por ejemplo, para cambiar el título de un botón de comando del cuadro de edición usuario en este valor vuelven a escribirse en la
formulario frmCust de un conjunto de formularios almacenado en tabla. Al mover el puntero de registro se verá
Custview.scx, use el siguiente comando en un programa o en la afectada la propiedad Value del cuadro de texto.
ventana Comandos:
CustView.frmCust.cmdButton1.Caption = "Nuevo Título"

Utilice las palabras clave THIS, THISFORM y THISFORMSET para USAR GRUPOS DE BOTONES DE OPCIÓN
hacer referencia a objetos que están en un formulario o un conjunto de
formularios

CONTROLES Los grupos de botones de opción son contenedores que alojan


botones de opción. Generalmente, los botones de opción permiten a
Cuando los usuarios interactúan con controles dependientes los usuarios especificar una opción entre varias en un cuadro de
(dependen de datos), los valores que introducen o eligen se almacenan diálogo, en lugar de introducir los datos.
en el origen de datos, que puede ser un campo de tabla, un campo de
cursor (Un cursor es una tabla temporal) o una variable. Un control se
vincula a datos al establecer su propiedad ControlSource o, en el caso Propiedades Principales del botón de opción
de las cuadrículas, su propiedad RecordSource.
Propiedad Función
Si no establece la propiedad ControlSource de un control, el valor que
ButtonCount Establezca la propiedad con el número deseado
introduzca o elija el usuario en el control sólo se almacenará como el
de botones de opción.
valor de una propiedad; no se escribirá en disco ni se almacenará en
Value indica qué botón se ha elegido en el grupo de
memoria más allá de la vida del control.
botones de opción
Efecto de un valor de ControlSource sobre los controles ControlSource Si es un campo de caracteres o si la propiedad
Value se establece a un valor de tipo Character
Control Efecto antes de que se ejecute el formulario, la propiedad
Value del grupo es el título del botón de opción
seleccionado.
Casilla de Si el ControlSource es un campo de una tabla, los
Buttons especifica el número de índice del botón de opción
verificación valores lógicos verdadero (.T.) o falso (.F.), o
del grupo.
numéricos 0, 1 ó 2 del campo ControlSource
Enabled Establezca esta propiedad del grupo de botones
harán que la casilla de verificación se active,
de opción como falso (.F.) para desactivar el
desactive o atenúe a medida que el puntero de
grupo
registro se mueva por la tabla.
USAR CUADROS DE LISTA Y CUADROS DE LISTA
Columna Si el ControlSource es un campo de tabla, el DESPLEGABLES (CUADROS COMBINADOS)
usuario modificará directamente el campo cuando
modifique valores en la columna. Para vincular
una cuadrícula completa a datos, establezca la
propiedad RecordSource de la cuadrícula.
Las propiedades siguientes de cuadros de lista suelen establecerse en
Cuadro de lista Si el ControlSource es una variable de memoria, tiempo de diseño.
o cuadro el valor que elija el usuario en la lista se
combinado almacenará en la variable de memoria. Si el Propiedad Descripción
ControlSource es un campo de una tabla, el valor
ColumnCount Indica el número de columnas del cuadro de lista. 9 Emergente. Se incluye por compatibilidad con
versiones anteriores.
ControlSource Indica dónde se almacena el valor que elige un
usuario en la lista.
Para mayor información de la propiedad RowSourceType consulte
MoverBars Indica si las barras de movimiento se muestran a la Usar Controles en el manual del programador de Visual FoxPro 6.0.
izquierda de los elementos de la lista de modo que
el usuario pueda reorganizar fácilmente los
elementos de la lista.
CASILLAS DE VERIFICACIÓN
Multiselect Indica si el usuario puede seleccionar o no más de
Hay cuatro estados posibles para una casilla de verificación,
un elemento de la lista al mismo tiempo.
determinados por la propiedad Value.

RowSource Indica de dónde provienen los valores que se


muestran en la lista.

RowSourceType Indica si RowSource es un valor, una tabla, una


instrucción SQL, una consulta, una matriz, una lista
de archivos o una lista de campos.

La propiedad Value de una lista puede ser numérica o de caracteres. El


valor predeterminado es numérico. Establezca la propiedad Value La propiedad Value de la casilla de verificación refleja el tipo de datos
como una cadena vacía si RowSource es un valor de tipo Character y de la última asignación. Si establece la propiedad como verdadera (.T.)
desea que la propiedad Value refleje la cadena de caracteres del o falsa (.F.), el tipo será Logical hasta que establezca la propiedad en
elemento seleccionado en la lista. Puede presionar la barra un valor numérico.
espaciadora y, a continuación, la tecla retroceso para introducir una
cadena vacía para una propiedad en la ventana Propiedades. Almacenar o mostrar campos lógicos

MÉTODOS DE CUADRO DE LISTA QUE SUELEN UTILIZARSE CON Si establece la propiedad ControlSource de la casilla de verificación
FRECUENCIA: como un campo lógico de una tabla, la casilla de verificación se
mostrará activada cuando el valor del registro actual sea verdadero
Método Descripción (.T.), como no activada cuando el registro actual sea falso (.F.) y como

AddItem Agrega un elemento a una lista con un


atenuada cuando haya un valor nulo (.NULL.) en el registro actual .
RowSourceType de 0.

RemoveItem Quita un elemento de una lista con un


RowSourceType de 0. CUADROS DE TEXTO

Este control permite a los usuarios agregar o modificar datos


Requery Actualiza la lista si han cambiado los valores de
almacenados en un campo no memo de una tabla. Para manipular
RowSource
mediante programación el texto que se muestra en el cuadro de texto
haga referencia a la propiedad Value.
Elegir un tipo de datos para un cuadro de lista o un cuadro
combinado Si establece la propiedad ControlSource para el cuadro de texto, el
valor que aparece en el cuadro de texto se almacenará en la propiedad
La propiedad RowSourceType determina qué tipo de origen rellena el Value del cuadro de texto y en el campo de la tabla o del cursor que se
cuadro de lista o el cuadro combinado, como una matriz o una tabla. especifique en la propiedad ControlSource.
Una vez establecida la propiedad RowSourceType, especifique el
origen de los elementos de la lista; para ello, establezca la propiedad
Propiedad Descripción
RowSource.

RowSourceType Origen de los elementos de lista Alignment Especifica si el contenido del cuadro de texto está
alineado a la izquierda, a la derecha, centrado o
0 Ninguno. Agrega elementos a la lista mediante alineado automáticamente. La alineación
programación. automática depende del tipo de datos. Los
números, por ejemplo, se alinean a la derecha y
los caracteres se alinean a la izquierda.
1 Valor
ControlSource El campo de tabla o variable cuyo valor se
2 Alias muestra en el cuadro de texto.

3 Instrucción SQL InputMask Especifica la regla de entrada de datos que cada


carácter escrito debe seguir.
4 Consulta (.qpr)
SelectOnEntry Especifica si el contenido del cuadro de texto se
5 Matriz selecciona automáticamente cuando el cuadro de
texto recibe el enfoque.
6 Campos
TabStop Especifica si el usuario puede llegar al control
7 Archivos mediante tabulaciones. Si TabStop está
establecido a .F., un usuario puede seleccionar el
cuadro de texto si hace clic en él.
8 Estructura
Format Para determinar como se muestran los valores
en el cuadro de texto
Propiedad Descripción
PassWordChart Para aceptar la entrada del usuario sin mostrar el
Valor real. Establezca la propiedad como ControlSource Especifica el campo de la tabla en el que se
asterisco (*) almacena el valor que elige o escribe el usuario.

ReadOnly Determina si el usuario puede cambiar el texto en DisplayCount Especifica el número máximo de elementos
el cuadro de texto. mostrados en la lista.

Los valores para la propiedad InputMask son: InputMask Para cuadros combinados desplegables,
especifica el tipo de valores que se pueden
Valor Descripción escribir.

X Puede introducirse cualquier carácter. IncrementalSearch Especifica si el control intenta hacer coincidir un
elemento de la lista a medida que el usuario
escribe cada letra.
9 Pueden introducirse dígitos y signos, como el signo menos
( – ).
RowSource Especifica el origen de los elementos del cuadro
combinado.
# Pueden introducirse dígitos, espacios en blanco y signos.
RowSourceType Especifica el tipo de origen del cuadro
$ Muestra el símbolo de moneda actual (especificada con combinado. Los tipos de origen de fila de un
SET CURRENCY) en una posición fija. cuadro combinado son iguales que los de una
lista. Para ver una explicación de cada uno de
$$ Muestra un símbolo de moneda flotante que siempre ellos, vea la Ayuda o la sección sobre cuadros
aparece junto a los dígitos del Spinner o TextBox. de lista y cuadros de lista desplegable.

* Se muestran asteriscos a la izquierda del valor. Style Especifica si el cuadro combinado es un cuadro
combinado desplegable o una lista desplegable.
. Un punto especifica la posición de coma decimal.
Para agregar el nuevo valor de usuario al cuadro combinado
, Pueden incluirse comas para separar dígitos a la izquierda desplegable, puede utilizar la línea de código siguiente en el método
de la coma decimal. asociado al evento Valid del cuadro combinado:
THIS.AddItem(THIS.Text)
VALIDAR DATOS EN UN CUADRO DE TEXTO

Para comprobar el valor del cuadro de texto, incluya código en el CONTROLES NUMÉRICOS
método asociado al evento Valid. Si el valor no es válido, se devolverá
falso (.F.) o 0. Si Valid devuelve falso (.F.) se muestra el mensaje "La Los controles numéricos pueden emplearse para permitir a los usuarios
entrada no es válida". Si desea mostrar su propio mensaje, incluya el realizar selecciones mostrando los valores o escribiendo directamente
comando WAIT WINDOW o la función MESSAGEBOX( ) en el código el valor en el cuadro del control numérico.
Valid y devuelva 0.
ESTABLECER EL INTERVALO DE VALORES QUE PUEDEN
ELEGIR LOS USUARIOS
Propiedad Descripción
CUADROS DE EDICION
KeyboardHighValue Especifica el valor más alto
Puede permitir que los usuarios modifiquen texto de campos de que puede escribirse en un
caracteres o de campos memo largos en cuadros de edición. control Spinner mediante el
teclado
KeyboardLowValue Especifica el valor más bajo
Propiedad Descripción que puede escribirse en un
control Spinner mediante el
AllowTabs Si el usuario puede insertar tabulaciones en el teclado
cuadro de edición en lugar de moverse al control
SpinnerHighValue Especifica el valor más alto
siguiente. Si permite tabulaciones, asegúrese de
que se puede introducir en un
indicar que los usuarios pueden moverse al control
control Spinner al hacer clic en
siguiente presionando CTRL+TAB.
las flechas hacia arriba y hacia
abajo
HideSelection Si el texto seleccionado en el cuadro de edición está
seleccionado de forma visible cuando el cuadro de SpinnerLowValue Especifica el valor más bajo
edición no tiene el enfoque. que se puede introducir en un
control Spinner al hacer clic en
las flechas hacia arriba y hacia
ReadOnly Si el usuario puede cambiar el texto en el cuadro de abajo
edición.
Increment Especifica cuánto aumenta o
disminuye el valor del control
ScrollBars Si hay barras de desplazamiento verticales.
Spinner cuando se hace clic en
la flecha hacia arriba o hacia
abajo.
CUADROS COMBINADOS

El control cuadro combinado tiene la funcionalidad de un cuadro de


BOTONES DE COMANDO Y GRUPOS DE BOTONES
lista y un cuadro de texto. Hay dos estilos para un cuadro combinado:
DE COMANDO
cuadro combinado desplegable y cuadro de lista desplegable.
externo (como un clic en un botón de comando)
Propiedades comunes de los botones de comando para que se inicie la operación del cronómetro.

Propiedad Descripción Interval Número de milisegundos entre los eventos del


cronómetro.
Cancel Especifica que el código asociado al evento Click
del botón de comando se ejecuta cuando el usuario
presiona ESC. Con la mayoría de los objetos, la propiedad Enabled determina si el
objeto puede responder o no a un evento causado por el usuario. Con
el control Timer, al establecer Enabled a falso (.F.) se suspende el
Default para convertir el botón de comando en la opción
predeterminada. funcionamiento del cronómetro .
La propiedad Interval no determina "cuánto tiempo", sino más bien "con
Caption Texto que se muestra en el botón. qué frecuencia" se genera el evento del cronómetro.
Puesto que existen posibilidades inherentes de error, cree el intervalo
con la mitad de la precisión deseada.
DisabledPicture Imagen .bmp que se muestra cuando se desactiva
el botón.
Responder al evento Timer
Cuando transcurre el intervalo del control Timer, Visual FoxPro genera
DownPicture Imagen .bmp que se muestra cuando se presiona el el evento Timer.
botón.

Enabled Indica si puede elegirse o no el botón.


CONTROL IMAGE
Picture Imagen .bmp que se muestra en el botón.
El control Image permite agregar imágenes (archivos .bmp) al
formulario
La propiedad Value del grupo de botones de comando indica en qué
botones se ha hecho clic.
Propiedad Descripción
Propiedades comunes de los grupos de botones de comando

Propiedad Descripción Picture La imagen (archivo .bmp) que se muestra.

ButtonCount Número de botones del grupo de comandos. BorderStyle Indica si la imagen tiene o no un borde visible.

BackStyle Especifica si el grupo de botones de comando tiene Stretch Si Stretch se establece a 0 – Recortar, no se
un fondo transparente u opaco. Un fondo mostrarán las partes de la imagen que superen las
transparente parece tener el mismo color que el que dimensiones del control Image. Si Stretch se
tiene el objeto subyacente, normalmente el establece a 1 – Isométrico, el control Image
formulario o una página. conservará las dimensiones originales de la imagen
y mostrará la imagen en la medida que lo permitan
las dimensiones del control Image. Si Stretch se
establece a 2 – Estirar, la imagen se ajustará para
que coincida exactamente con el alto y el ancho del
OBJETO HYPERLINK control Image.

El objeto Hyperlink se puede utilizar para iniciar una aplicación que


admita hipervínculos, generalmente un explorador de Internet como
Microsoft Internet Explorer, y abrir la página especificada en la USAR ETIQUETAS
dirección.
El método Hyperlink NavigateTo( ) le permite especificar la dirección de
destino a la que se salta. Propiedad Descripción
Por ejemplo, para ir al sitio Internet de Microsoft en World Wide Web
desde un formulario, agregue en primer lugar el control Hyperlink al
formulario. Agregue un botón de comando al formulario y, a Caption El texto que muestra la etiqueta.
continuación, agregue el código siguiente al evento Click del botón de
comando: AutoSize Indica si el tamaño de la etiqueta se ajusta a la
THISFORM.Hyperlink1.NavigateTo(‘www.microsoft.com’) longitud del título.

Cuando se ejecute el formulario puede hacer clic en el botón de BackStyle Indica si la etiqueta es opaca o transparente.
comando para saltar al sitio Web de Microsoft.
WordWrap Indica si el texto que se muestra en la etiqueta
puede ajustarse automáticamente a líneas
CONTROL CRONÓMETRO adicionales.

Los controles Cronómetro responden al paso del tiempo


independientemente de la interacción con el usuario, de modo que
pueden programarse para que realicen acciones a intervalos regulares.
Un control Timer tiene dos propiedades clave. USAR FORMAS

Propiedad Valor Una forma es un control que crea una forma que se puede mostrar
como diversas variaciones de un rectángulo o un círculo.
Enabled Si desea que el cronómetro comience a funcionar
en cuanto se cargue el formulario, establézcala a Las siguientes propiedades del control Shape suelen establecerse en
verdadero (.T.). De lo contrario, deje esta propiedad tiempo de diseño.
establecida a falso (.F.). Puede elegir un evento
Propiedad Descripción
Cada uno de los cuales tiene su propio conjunto de propiedades,
Curvature Un valor entre 0 (ángulos de 90 grados) y 99 métodos y eventos, lo que proporciona un gran control sobre los
(círculo o elipse). elementos de la cuadrícula.

FillStyle Indica si la forma es transparente o tiene un


determinado modelo de relleno del fondo. Contenedor Puede contener

SpecialEffect Indica si la forma es sencilla o tridimensional. Sólo Cuadrícula Columnas


tiene efecto cuando la propiedad Curvature se
establece a 0. Columna Encabezados, controles

PROPIEDADES COMUNES DE LAS CUADRÍCULAS

Propiedad Descripción
USAR LÍNEAS

Una línea es un control que dibuja una línea en un formulario. AllowRowSizing .F. Impide que el usuario cambie la altura de
las filas de cuadrícula en tiempo de
ejecución
Propiedad Descripción
Width Establece el anco de la columna
BorderWidth Indica cuántos píxeles de ancho tiene la línea.
Height Establece el alto de las filas de una
LineSlant Cuando la línea no es horizontal ni vertical, indica el cuadrícula
sentido de la inclinación. Los valores válidos para
esta propiedad son una barra diagonal ( / ) y una ChildOrder La clave externa de la tabla secundaria que se
barra inversa ( \ ). combina con la clave principal de la tabla
primaria.

USAR GRÁFICOS DE FORMULARIO PARA MOSTRAR ColumnCount Número de columnas. Si ColumnCount está
INFORMACIÓN establecida
a - 1, la columna tendrá tantas columnas como
Puede mostrar información gráficamente en un formulario con los campos haya en la propiedad RecordSource de
siguientes métodos de formulario. la cuadrícula.
Método Descripción
LinkMaster La tabla primaria para registros secundarios que
Circle Dibuja una figura circular o un arco en un formulario. se muestran en la cuadrícula.

Cls Borra gráficos y texto de un formulario. RecordSource Los datos que se muestran en la cuadrícula.

Line Dibuja una línea en un formulario. RecordSourceType Indica de dónde provienen los datos que se
muestran en la cuadrícula:
una tabla, un alias, una consulta o una tabla
Pset Establece un punto de un formulario con un seleccionada por el usuario como respuesta a
determinado color. una petición.

Print Imprime una cadena de caracteres en un formulario. AllowAddNew Especifica si se pueden agregar nuevos
registros a una tabla desde una cuadrícula.

MEJORAR LA PRESENTACIÓN DE CONTROLES PROPIEDADES COMUNES DE LAS COLUMNAS

Los botones de comando, las casillas de verificación y los botones de Propiedad Descripción
opción pueden mostrar una imagen además de un título.

Propiedad Descripción ControlSource Los datos que se muestran en la columna. Suele ser
un campo de una tabla.
DisabledPicture Imagen que se muestra en el botón cuando éste
está desactivado. Sparse Si Sparse se establece como verdadero (.T.), los
controles de una cuadrícula sólo se mostrarán como
controles cuando se seleccione la celda de la
DownPicture Imagen que se muestra en el botón cuando éste columna. Otras celdas de la columna muestran el
está presionado. valor de datos subyacente en un cuadro de texto. Si
establece Sparse como verdadero (.T.), la
Picture Imagen que se muestra en el botón cuando éste actualización será más rápida si un usuario se
está activado y no presionado. desplaza por una cuadrícula con muchas filas
visibles.

Si no desea que se muestre un título además de la imagen, establezca


CurrentControl Indica cuál es el control activo de la cuadrícula. El
la propiedad Caption como una cadena vacía eliminando el título valor predeterminado es Text1, pero si agrega un
predeterminado en el cuadro "Edición de propiedades" de la ventana control a la columna, podrá especificarlo como
Propiedades.
CurrentControl.

USAR CUADRÍCULAS PARA ESTABLECER EL ORIGEN DE DATOS PARA UNA


CUADRÍCULA
La cuadrícula es un objeto contenedor. Una cuadrícula uede contener
columnas. Las columnas, a su ves, contienen encabezados y controles.
1 Seleccione la cuadrícula y, a continuación, haga clic en la propiedad
RecordSourceType en la ventana Propiedades.
2 Establezca la propiedad RecordSourceType como 0 - Tabla, si CONTROL CONTENEDOR OLE
desea que Visual FoxPro abra la tabla o como 1 - Alias si desea que
la cuadrícula se llene con los campos de una tabla que ya está Agregue un objeto OLE a un formulario; para ello haga clic en esta
abierta. herramienta y arrástrela para ajustar su tamaño en la ventana
3 Haga clic en la propiedad RecordSource de la ventana Propiedades. Formulario. Esta herramienta puede representar un objeto servidor
4 Escriba el nombre del alias o la tabla que va a servir de origen de como Microsoft Excel o Microsoft Word, o puede representar un control
datos para la cuadrícula. ActiveX si el directorio SYSTEM de Windows contiene controles
ActiveX (archivos con una extensión .ocx).
PARA ESTABLECER EL ORIGEN DE DATOS PARA UNA
COLUMNA
CONTROL ACTIVEX DEPENDIENTE
1 Seleccione la columna y, a continuación, haga clic en la propiedad
ControlSource de la ventana Propiedades.
Puede crear un objeto ActiveX dependiente en un formulario; para ello,
2 Escriba el nombre del alias o la tabla y el campo que va a servir
haga clic en esta herramienta y arrástrela para ajustar su tamaño en la
como origen para los valores que se muestran en la columna.
ventana Formulario. Después de crear el objeto, conéctelo a un campo
General de la tabla. A continuación, utilice el objeto para mostrar el
AGREGAR DE FORMA INTERACTIVA CONTROLES A UNA
contenido del campo.
COLUMNA DE CUADRÍCULA
NOMBRES DE OBJETOS
1 Agregue una cuadrícula a un formulario.
2 En la ventana Propiedades, establezca la propiedad ColumnCount
En principio cada objeto debe tener un nombre, por medio del cual se
de la cuadrícula como el número de columnas deseadas.
le hace referencia. El nombre puede ser el que el usuario desee o
3 En la ventana Propiedades seleccione la columna primaria para el
incluso el que VFP proporciona por defecto para los diversos controles.
control en el cuadro Objeto.
Estos nombres por defecto hacen referencia al tipo de control y van
4 Seleccione el control deseado en la barra de herramientas Controles
seguidos de un número que se incrementa a medida que se van
de formularios y haga clic en la columna primaria.
introduciendo más controles de ese tipo en el formulario.
El nuevo control no aparecerá ahora en la columna de cuadrícula
Los nombres por defecto no son adecuados porque hacen referencia al
dentro del Diseñador de formularios, pero será visible en tiempo de
tipo de control, pero no al uso que de dicho control está haciendo el
ejecución.
programador. Es muy importante que los nombres que se le asignan
5 En la ventana Propiedades asegúrese que el control se muestra
tanto a las variables como a los controles sean descriptivos y nos
sangrado bajo la columna primaria en el cuadro Objeto.
permitan tener una idea de lo que hacen o de los datos que
6 Establezca la propiedad ControlSource de la columna primaria como
almacenan.
el campo de tabla deseado.
7 Establezca la propiedad CurrentControl de la columna primaria
EVENTOS
como el nuevo control.
Las acciones del usuario sobre el programa se llaman eventos. Son
PARA QUITAR CONTROLES DE COLUMNAS DE CUADRÍCULA EN
eventos típicos el clicar sobre un botón, el hacer doble clic sobre el
EL GENERADOR DE FORMULARIOS
nombre de un fichero para abrirlo, el arrastrar un icono, el pulsar una
tecla o combinación de teclas, el elegir una opción de un menú, el
1 En el cuadro Objeto de la ventana Propiedades, seleccione el
escribir en una cuadro de texto, o simplemente mover el ratón.
control.
2 Active el Diseñador de formularios.
Cada vez que se produce un evento sobre un determinado tipo de
Si la ventana Propiedades está visible, el nombre del control
control, se ejecuta una determinada función o procedimiento que
aparecerá en el cuadro Objeto.
realiza la acción programada por el usuario para ese evento.
3 Presione la tecla supr.
Los eventos básicos
La tabla siguiente contiene una lista del principal conjunto de eventos
USAR MARCOS DE PAGINA de Visual FoxPro que se aplican a la mayoría de los controles.

Los marcos de página permiten ampliar la superficie de los formularios CONJUNTO BÁSICO DE EVENTOS
y los controles ActiveX permiten ampliar la funcionalidad de los
formularios. Evento Cuándo se desencadena el evento

Un marco de página es un objeto contenedor que contiene páginas. A Init Al crear un objeto.
su vez, las páginas contienen controles. Las propiedades pueden
establecerse a nivel de marco de página, de página o de control. Destroy Al liberar de la memoria un objeto.

PROPIEDADES COMUNES DE LOS MARCOS DE PÁGINAS


Click Cuando el usuario hace clic en el objeto con el
botón principal del mouse.
Las propiedades siguientes de los marcos de páginas suelen
establecerse en tiempo de diseño.
DblClick Cuando el usuario hace doble clic en el objeto
Propiedad Descripción con el botón principal del mouse.

Tabs Especifica si las fichas son visibles o no para las RightClick Cuando el usuario hace clic en el objeto con el
páginas. botón secundario del mouse.

TabStyle Especifica si las fichas tienen o no el mismo tamaño GotFocus Cuando el objeto recibe el enfoque, ya sea
y si juntas ocupan el mismo ancho que el marco de como resultado de una acción del usuario o al
páginas. hacer clic, o porque se cambie el enfoque en el
código mediante el método SetFocus.
PageCount El número de páginas del marco de página.
LostFocus Cuando el objeto pierde el enfoque, ya sea
como resultado de una acción del usuario o al
hacer clic, o porque se cambie el enfoque en el
Los métodos contienen código de procedimientos que se ejecuta al
código mediante el método SetFocus. llamar al método

KeyPress Cuando el usuario presiona y suelta una tecla. Para liberar un formulario utilice el método Release

MouseDown Cuando el usuario presiona el botón del mouse ThisForm.release


mientras el puntero del mouse se encuentra
sobre el objeto. Para dibujar un circulo en un formulario

ThisForm.Circle (20,20,20,1 )
MouseMove Cuando el usuario mueve el mouse sobre el
objeto. Una vez creado el objeto se puede llamar a los métodos desde
cualquier lugar de la aplicación
MouseUp Cuando el usuario libera un botón del mouse
mientras el puntero del mouse se encuentra CONSULTAS
sobre el objeto.
Con el Diseñador de consultas puede buscar aquellos registros que
satisfacen las condiciones que Ud. especifique. Además, puede
ordenar y agrupar los registros como desee, así como crear informes,
A la hora de escribir código de eventos para los controles se deben tablas y gráficos basándose en los resultados obtenidos.
tener en cuenta dos reglas básicas:

• Los contenedores no procesan los eventos asociados a los TIPOS DE CONSULTAS


controles que contienen.
• Si no hay código de evento asociado a un control, Visual FoxPro
comprobará si hay código asociado al evento en algún nivel • Consultas sencillas de sólo lectura basadas en tablas (archivos
superior de la jerarquía de clase para dicho control. .DBF) o en vistas
• Consultas locales de múltiples tablas o con datos remotos
EJEMPLO DEL evento keypress
Puede incluir el siguiente código en el evento KEYPRESS de un CONSULTAS SENCILLAS DE SÓLO LECTURA BASADAS EN
formulario, ejecutarlo y presionar la tecla ESCAPE TABLAS (ARCHIVOS .DBF) O EN VISTAS

IF nKeyCode=27 COMO INICIAR EL GENERADOR DE CONSULTAS.


WAIT WINDOW "SE SIMULO PRESIONAR LA TECHA ESC"
ENDIF
1. Desde el Administrador de Proyectos, en la ficha Datos,
EJEMPLO DEL EVENTO MOUSEMOVE seleccione Consultas y haga clic ene. Botón nuevo.
Coloque el siguiente código en el evento MouseMove de un botón de 2. Cree la consulta con un Asistente para consultas o con el
comando de un formulario, ejecute el formulario y mueva el apuntador Diseñador de consultas.
del ouse sobre el botón de comando: 3. Seleccione la tabla o vista que contiene la información que desea
obtener.
messagebox("se esta ejecutando el evento MouseMove del botón de 4. Defina los resultados de la consulta; para ello, elija los campos
comando") que desea, el orden en que quiere que aparezcan y los registros
que desea.
5. Organice los resultados de la consulta; para ello, ordene y agrupe
Puede usar el comando KEYBOARD para generar eventos las filas del resultado.
KEYPRESS o usar el comando ERROR para generar eventos Error. 6. Elija el tipo de salida que desea para la consulta: tabla, informe,
No puede hacer que se produzca ningún otro evento mediante examinar, etc.
programación, pero sí puede llamar al procedimiento asociado con el 7. Ejecute y compruebe la consulta.
evento. Por ejemplo, la instrucción siguiente hace que se ejecute el
código del evento Activate de frmTELEFONO, pero no activa el
formulario: CREAR UNA CONSULTA CON EL DISEÑADOR DE CONSULTAS

frmTELEFONO.Activate Seleccionar una tabla o una vista para la consulta

Si desea activar el formulario, utilice el método Show del formulario.

Si desea activar el formulario, utilice el método Show del formulario. Al


llamar al método Show se mostrará y activará el formulario, momento
en el que también se ejecutará el código del evento Activate:

frmTELEFONO.Show

MÉTODOS

Los métodos son funciones que también son llamadas desde


programa, pero a diferencia de los procedimientos no son programadas
por el usuario, sino que vienen ya pre-programadas con el lenguaje.
Los métodos realizan tareas típicas, previsibles y comunes para todas PARA CREAR UNA CONSULTA CON UN ASISTENTE
las aplicaciones. De ahí que vengan con el lenguaje y que se libere al
usuario de la tarea de programarlos. Cada tipo de objeto o de control
1. En el Administrador de proyectos, seleccione la ficha Datos y elija
tiene sus propios métodos. Por ejemplo, los controles gráficos tienen
Consultas.
un método llamado Line que se encarga de dibujar líneas rectas. De la
2. Elija Nuevo.
misma forma existe un método llamado Circle que dibuja
3. Elija el botón Asistente para consultas.
circunferencias y arcos de circunferencia.
4. Seleccione el tipo de consulta que desea crear.
5. Siga las instrucciones que aparecerán en las pantallas del
asistente.

DESTINO DE LA CONSULTA

Estando en el diseñador de consultas, haga clic en el menú Consulta y


luego en la opción Destino de la consulta…
La tabla de abajo muestra y describe los tipos de resultados:

Opción de Detalles
destino

Examinar Muestra el resultado de la consulta en una


ventana Examinar.

Cursor Guarda el resultado de la consulta en un cursor.

Tabla Guarda el resultado de la consulta como un


archivo de tabla.
OPCIONES DEL CUADRO DE DIÁLOGO CONDICION DE
COMBINACION
Gráfico Transforma el resultado de la consulta a un
formato disponible para usarlo con Microsoft
Graph, una aplicación independiente de Lista de campos derecha
incrustación OLE incluida con Visual FoxPro. Muestra los campos de la tabla que ha agregado. Seleccione un campo
de la lista por el que quiere combinar las tablas.
Pantalla Muestra el resultado de la consulta en la ventana Lista de campos izquierda
de resultado activa. Muestra los campos de todas las tablas que se han agregado
previamente al Diseñador de consultas. Seleccione en la lista un
Informe Envía el resultado de la consulta a un archivo de campo por el que quiera combinar las tablas.
informe. Tipo de combinación
Interna
Crea una combinación que sólo muestra los registros de la Lisa de
Etiqueta Envía el resultado de la consulta a un archivo de campos izquierda que coincidan con los registros de la Lista de
etiqueta. campos derecha para los campos seleccionados.
Izquierda
Crea una combinación que incluye los registros de la Lista de campos
Puede copiar la instrucción SELECT y pegarla en la ventana de
izquierda y los registros coincidentes de la Lista de campos derecha
comandos o utilizarla en el evento clic de un botón de comando POR
para los campos seleccionados.
EJEMPLO: SELECT *;
Derecha
FROM datos2!inmobiliaria;
Crea una combinación que incluye los registros de la Lista de campos
WHERE Inmobiliaria.estado = "MIRANDA"
derecha y los registros de la Lista de campos izquierda coincidentes
para los campos seleccionados.
CONSULTAS LOCALES DE MÚLTIPLES TABLAS O CON DATOS
Completa
REMOTOS
Crea una combinación que incluye todos los registros de los dos
cuadros de lista para los campos seleccionados en los cuadros de lista.
Con Visual FoxPro puede consultar múltiples tablas y vistas, así como Descripción
combinar datos remotos y locales en una vista. Esta posibilidad resulta Especifica cómo se relacionan entre sí los campos de cada tabla
útil cuando los datos necesarios están almacenados en dos o más cuando selecciona las distintas opciones de combinación.
tablas, o cuando están repartidos entre tablas locales y tablas de un
origen de datos remoto. El término "vista" se usa para el objeto que se CREAR UNA COMBINACIÓN ENTRE TABLAS
crea con el Diseñador de vistas.
1. Agregue dos o más tablas o vistas a una consulta.
Cuando tenga que consultar información almacenada en dos o más 2. En la barra de herramientas Diseñador de consultas, elija el
tablas, bastará con agregar todas las tablas necesarias a su consulta y botón Agregar combinación.
combinarlas según campos comunes. Después, podrá buscar la 3. En el cuadro de diálogo Condición de combinación, seleccione
información necesaria en los registros de todas las tablas. En sus los nombres de campo relacionados en las dos tablas.
consultas puede usar cualquier combinación de tablas de base de
datos, tablas libres y vistas locales o remotas. Cuando agregue tablas
Nota Combine columnas sólo si tienen el mismo tamaño y el
o vistas a su consulta, Visual FoxPro le sugerirá una posible
mismo tipo de datos.
combinación entre las tablas o las vistas según los nombres de campos
coincidentes.
4. Seleccione un tipo de combinación:
Las combinaciones aparecen automáticamente cuando se agregan las
tablas. Sin embargo, si los nombres de campos relacionados no
coinciden, tendrá que crear sus propias combinaciones entre tablas. Para obtener... Use...
Puede crear combinaciones adicionales si arrastra entre los campos de
tablas en el Diseñador de consultas o elige el botón Agregar Sólo registros de ambas Combinación interna
combinación en la barra de herramientas Diseñador de consultas para tablas que cumplan los
mostrar el cuadro de diálogo Condición de combinación. criterios de combinación, el
tipo más común de
Lista de campos izquierda combinación
Lista de campos derecha
Todos los registros de la Combinación izquierda
tabla en el lado izquierdo de
los criterios de combinación
y sólo registros que
cumplan los criterios de
combinación de la tabla en
el lado derecho de los
criterios de combinación

Todos los registros de la Combinación derecha


tabla en el lado derecho de
los criterios de combinación
y sólo registros que
cumplan los criterios de
combinación de la tabla en
el lado izquierdo de los
criterios de combinación

Todos los registros de Combinación completa


ambas tablas, cumplan o no
los criterios de combinación

5. Elija Aceptar.

ELIMINAR UNA COMBINACIÓN

• Seleccione la línea de combinación en el Diseñador de consultas Las vistas son una característica de las bases de datos de Visual
y elija Quitar condición de combinación en el menú Consulta. FoxPro. Solamente puede utilizarlas cuando esté abierta su base
de datos primaria.

–O– CREAR UNA VISTA CON UN ASISTENTE

1. En el Administrador de proyectos, seleccione una base de datos.


En la ficha Combinación, seleccione la condición de combinación 2. Seleccione Vistas locales o Vistas remotas y elija Nuevo.
y elija Quitar. 3. Elija el botón Asistente para vistas.
4. Siga las instrucciones que aparecerán en las pantallas del
asistente. .
MODIFICAR UNA COMBINACIÓN
INICIAR EL DISEÑADOR DE VISTAS
6. En la ficha Combinación, seleccione la combinación que desea
modificar.
Para crear una vista de una tabla local, utilice el Diseñador de vistas.
7. Cambie las condiciones de combinación según sea necesario.
Las tablas locales pueden incluir tablas nativas de Visual FoxPro,
cualquier tabla en formato .dbf y tablas almacenadas en servidores
VISTAS locales.

Una vista es una definición de tabla virtual personalizada que puede Para usar el Diseñador de vistas, primero debe crear o abrir una base
ser local, remota o parametrizada. Las vistas hacen referencia a una o de datos. Cuando expanda el signo más que aparece junto al nombre
más tablas, o a otras vistas. Pueden ser actualizables y pueden hacer de una base de datos en el Administrador de proyectos, la ficha Datos
referencia a tablas remotas. mostrará los componentes de la base de datos.

La vistas se usan para extraer un conjunto de registros de una tabla,


realizar cambios en dichos registros y enviar las actualizaciones a las
tablas de origen. Las vistas se pueden crear a partir de tablas locales, CREAR UN SISTEMA DE MENÚS
de otras vistas, de tablas almacenadas en un servidor o de orígenes de
datos remotos, como Microsoft® SQL Server, a través de ODBC. La mayor parte del trabajo en la creación de un sistema de menús se
Puede incluso hacer que Visual FoxPro envíe actualizaciones a la tabla realiza en el Diseñador de menús, en el que crea los menús, los
de origen cuando actualiza o cambia el conjunto de registros de la submenús y las opciones de menú.
vista.

Veremos la creación de vistas sencillas, locales y remotas, de una sola


tabla.

CREAR VISTAS

La creación de consultas y la creación de vistas son procesos


similares. La principal diferencia radica en que las vistas pueden ser
actualizables, mientras que las consultas no lo son. Utilice consultas
cuando desee un conjunto de resultados de consulta de sólo lectura.
Las consultas son instrucciones SQL-SELECT guardadas como texto
en un archivo .qpr; utilice vistas cuando desee extraer un conjunto
actualizable de datos de tablas locales o remotas. Para crear menús, puede personalizar el sistema de menús de Visual
FoxPro o bien desarrollar un sistema propio.

CREAR UN SISTEMA DE MENÚS CON MENÚ RÁPIDO


Ejemplo: DO SDIMENU.MPR WITH THIS,.T.
1. En el Administrador de proyectos, seleccione la ficha Otros,
seleccione Menús y haga clic en Nuevo.
2. Elija Menú. CREAR UN MENÚ CONTEXTUAL
3. Aparecerá el Diseñador de menús.
4. En el menú Menú, elija Menú rápido
1. En el Administrador de proyectos, seleccione la ficha Otros,
seleccione Menús y haga clic en Nuevo.
El Diseñador de menús contendrá ahora información sobre los menús 2. Elija Menú contextual.
principales de Visual FoxPro.
Aparecerá el Diseñador de menús contextuales.

Cuando está en el Diseñador de menús contextuales, el proceso para


agregar elementos de menú es el mismo que para la creación de
menús.

ADJUNTAR MENÚS CONTEXTUALES A CONTROLES

Puede adjuntar un menú contextual a un control específico si escribe


una pequeña cantidad de código en el evento clic asociado al botón
secundario del control.

5. Personalice el sistema agregando o modificando elementos de


menú 1. Seleccione el control al que desea adjuntar el menú contextual.
2. En la ventana Propiedades, elija la ficha Métodos y seleccione
RightClick Event.
Antes de poder usar el menú en una aplicación debe generarlo. 3. En la ventana de código, escriba DO menú.MPR, en donde menú
es el nombre del menú contextual.
GENERAR UN MENÚ
Asegúrese de usar la extensión .mpr al hacer referencia a los menús
contextuales.
• En el menú Menú, elija Generar

ACTIVAR O DESACTIVAR UN MENÚ O ELEMENTO DE MENÚ


Visual FoxPro le pedirá que guarde el sistema de menús en un archivo
con la extensión .MNX. Este archivo es una tabla que almacena toda la
información sobre el sistema de menús. Después de haber guardado el 1. En la columna Indicador, haga clic en el título o elemento de
sistema de menús, Visual FoxPro le pedirá un archivo de salida con la menú correspondiente.
extensión .MPR. Este archivo contendrá el programa de menú 2. Elija el botón de la columna Opciones para mostrar el cuadro de
generado diálogo Opciones de la acción.
3. Haga clic en la casilla de verificación Saltar por.
CREAR MENÚS SDI
Aparecerá el Generador de expresiones.
Los menús SDI son menús que aparecen en ventanas de interfaz de
un único documento (SDI). Para crear un menú SDI debe indicar que el
menú se va a usar en un formulario SDI cuando está diseñando el
menú. Aparte de esto, el proceso de creación de un menú SDI es el
mismo que el de creación de un menú normal.

UN MENÚ SDI (UNA APLICACIÓN QUE SÓLO ADMITE UN


DOCUMENTO CADA VEZ)

• Mientras el Diseñador de menús está abierto, elija Opciones


generales en el menú Ver y seleccione Formulario de nivel superior.

INCLUIR UN SISTEMA DE MENÚS EN LA APLICACIÓN

• Agregue el archivo .MNX al proyecto y, a continuación, genere la


aplicación desde el proyecto 4. En el cuadro Saltar por, escriba la expresión que determinará si
el menú está activado o desactivado.
ADJUNTAR MENÚS SDI A FORMULARIOS
Si la expresión da como resultado falso (.F.), el menú o elemento
quedará activado. Si la expresión da como resultado verdadero (.T.), el
Cuando cree un menú SDI, puede adjuntarlo a un formulario SDI. menú o elemento se desactivará y no se podrá seleccionar o elegir.
Además, debe:

Una vez mostrado el sistema de menús, puede activar y desactivar los


• Establecer la propiedad ShowWindow del formulario a 2 – Como menús y sus elementos con el comando SET SKIP OF.
formulario de nivel superior..
• ,
Agregar una instrucción DO al evento Init del formulario llame al MARCAR EL ESTADO DE UN ELEMENTO DE MENÚ
menú.
En un menú, una marca de verificación junto a un elemento indica que • Escriba \< a la izquierda de la letra que desee que actúe como tecla
está activo. de acceso.

En tiempo de ejecución puede colocar una marca de verificación junto


a un elemento de menú mediante el comando SET MARK OF.

ASIGNAR UN COMANDO A UN MENÚ O ELEMENTO DE MENÚ

1. En la columna Indicador, haga clic en el título o elemento de menú


correspondiente. INFORMES:
2. En el cuadro Acción, elija Comando.
3. En el cuadro situado a la derecha del cuadro Acción, escriba el
comando correspondiente: Por ejemplo para llamar un formulario Tienen dos componentes básicos: un origen de datos y un diseño. El
utilice el comando siguiente: DO FORM nombredelformulario origen de datos suele estar formado por tablas de la base de datos,
una vista, una consulta o un cursor. Las vistas y consultas filtran,
ordenan y agrupan datos de la base de datos y el diseño del informe
define el formato impreso de los informes.

Con el Diseñador de informes puede diseñar listas completas,


resúmenes o subconjuntos especiales de datos, como por ejemplo una
factura. El diseño de un informe tiene cuatro etapas principales:

1. Determinar el tipo de informe que va a crear.


2. Crear el archivo que contenga el diseño del informe.
3. Modificar y personalizar el archivo de diseño.
4. Efectuar la vista preliminar e impresión del informe.

DETERMINAR EL TIPO DE INFORME QUE VA A CREAR.

Los puntos en un elemento de menú indican que el usuario debe


proporcionar más información.

Tipo de Descripción Ejemplos


diseño
ESPECIFICAR UN MÉTODO ABREVIADO DE TECLADO PARA UN
MENÚ O ELEMENTO DE MENÚ Columna Un registro por fila con Informe de grupos y
campos dispuestos totales1
1. En la columna Indicador, haga clic en el título o elemento de horizontalmente a lo ancho Informes financieros
menú correspondiente. de la página Inventario
2. Elija el botón de la columna Opciones para mostrar el cuadro de Resumen de ventas
diálogo Opciones de la acción.
3. En el cuadro Etiqueta de tecla, presione una combinación de Fila Una columna de registros Listas
teclas para crear un método abreviado de teclado. con campos dispuestos
verticalmente uno bajo el
otro
Si un elemento de menú no tiene un método abreviado de teclado,
Visual FoxPro mostrará "(presione la tecla)" en el cuadro Etiqueta de
Uno a Un registro o una relación Facturas
tecla.
varios1 uno a varios Estado de cuentas

4. En el cuadro Texto de tecla, agregue el texto que desee que Multicolumna Más de una columna de Listín telefónico
aparezca junto al elemento de menú. registros con campos Tarjetas de visita
dispuestos verticalmente
hacia abajo en margen
De forma predeterminada, Visual FoxPro repite el método abreviado de izquierdo
teclado del cuadro Etiqueta de tecla en el cuadro Texto de tecla. Sin
embargo, puede modificar el contenido de Texto de tecla. Por ejemplo,
si tanto en Etiqueta de tecla y Texto de tecla aparece CTRL+R, puede Etiqueta Mas de una columna de Etiquetas postales
cambiar el contenido de Texto de tecla por ^R. registros con campos Etiquetas de nombres
dispuestos verticalmente
hacia abajo en el margen
CTRL+J es un método abreviado de teclado no válido porque se usa izquierdo; impreso en papel
para cerrar ciertos cuadros de diálogo en Visual FoxPro. especial

ESPECIFICAR LA TECLA DE ACCESO DE UN MENÚ O ELEMENTO


DE MENÚ 1 Diseños que tienen asociado un Asistente para informes
CREAR EL ARCHIVO QUE CONTENGA EL DISEÑO DEL INFORME.

Puede crear el archivo que contenga el diseño del informe con el


diseñador de informes.

Visual FoxPro ofrece tres formas de comenzar el diseño de un informe:

• Crear informes sencillos de una o varias tablas con un Asistente


para informes.
• Crear un informe sencillo desde una tabla con Informe rápido.
• Modificar informes existentes o crear sus propios informes con el
Diseñador de informes.

Con cada uno de estos métodos creará un archivo de diseño de MODIFICAR UN INFORME GENERADO
informe que puede modificar con el Diseñador de informes. El Asistente
para informes es el método más fácil de iniciar un informe y ofrece
automáticamente muchas de las características de personalización del 1. En el Administrador de proyectos, seleccione un informe o una
Diseñador de informes. El Informe rápido es la forma más rápida de etiqueta.
crear un diseño sencillo. Si crea un informe directamente con el 2. Elija Modificar.
Diseñador de informes, éste le presentará un diseño en blanco.
Utilice las bandas del informe para determinar cómo desea que sea
cada página, grupo y el comienzo y el fin de su informe. Las bandas del
USAR UN ASISTENTE PARA INFORMES informe se pueden cambiar de tamaño.

1. En el Administrador de proyectos, seleccione Informes. BANDAS DE INFORME EN EL DISEÑADOR DE INFORME


2. Elija Nuevo.
3. Elija Asistente para informes.
4. Elija el tipo de informe que desea crear.
5. Siga las instrucciones de las pantallas del asistente.

CREAR UN INFORME RÁPIDO

1. En el Administrador de proyectos, seleccione Informes.


2. Elija Nuevo.
3. Elija Nuevo informe.
4. En el menú Informe, elija Informe rápido.
5. Seleccione la tabla que desea usar y, a continuación, elija
Aceptar.

AGREGAR LAS BANDAS TÍTULO Y RESUMEN


CREAR UN INFORME EN BLANCO (DISEÑADOR DE INFORMES)
La banda Título contiene información que se imprime una sola vez al
1. En el Administrador de proyectos, elija Informes. principio del informe y la banda Resumen contiene información que se
2. Elija Nuevo. imprime una sola vez al final del informe. Tanto el título como el
3. Elija Nuevo informe. resumen pueden estar en su propia página. Campos con expresiones
de totalización se convertirán en totales generales cuando se ubiquen
en la banda Resumen.
MODIFICAR EL DISEÑO

En las bandas del Diseñador de informes, puede insertar ciertos tipos


de controles que contienen las etiquetas, campos, variables y
expresiones que desea incluir en el informe impreso. Para mejorar la
apariencia visual del informe y hacerlo más legible, puede agregar
otros controles como líneas, rectángulos y rectángulos redondeados.
Puede incluir también controles dependientes de una imagen u objeto
OLE.

Archivo de diseño del informe e informe resultante


AGREGAR UNA BANDA TÍTULO Y RESUMEN
Use esta banda Para imprimir Use este comando

1. En el menú Informe, elija Título y resumen. Título Una vez por En el menú Informe,
2. Elija las bandas que desee. informe elija Título y
3. Si quiere que la banda aparezca en su propia página, elija Nueva resumen.
página.
4. Elija Aceptar.
Encabezado de página Una vez por página Disponible de forma
predeterminada.
Puede situar cualquiera de los controles de informe en cualquiera de
las bandas. También puede agregar funciones definidas por el usuario Encabezado de Una vez por En el menú Archivo,
que se procesan durante la ejecución del informe. columna columna elija Configurar
página e introduzca
un número de
TIPOS DE CONTROLES DE INFORME . columna mayor que
uno.

Encabezado de grupo Una vez por grupo En el menú Informe,


Para mostrar Elija este control elija Agrupar datos.

Campos de tabla, variables y otras Campo Banda Detalle Una vez por Disponible de forma
expresiones registro predeterminada.

Texto Etiqueta Pie de grupo Una vez por grupo En el menú Informe,
elija Agrupar datos.
Líneas rectas Línea
Pie de columna Una vez por Elija Configurar
Cuadros y bordes Rectángulo columna página en el menú
Archivo e introduzca
Círculos, elipses, cuadros con bordes Rectángulo un número de
redondeados y bordes redondeado columna mayor que
uno.
Mapas de bits o campos generales Imagen/ActiveX
dependiente Pie de página Una vez por página Disponible de forma
predeterminada.

Resumen Una vez por En el menú Informe,


informe elija Título y
ESTABLECER EL ORIGEN DE DATOS DEL INFORME resumen.

Puede definir fácilmente el origen de los datos que rellenarán los


controles de su informe en el entorno de datos del informe. También
puede agregar tablas o vistas, así como ordenar los datos con un
índice de tabla.

EL ENTORNO DE DATOS ADMINISTRA LOS ORÍGENES DE LOS


DATOS DE SUS INFORMES:

• Abre las tablas o vistas cuando se abre o ejecuta el informe.


• Rellena el conjunto de datos que su informe necesita basándose
en tablas y vistas asociadas.
• Cierra las tablas cuando se cierra o libera el informe.

ESTABLECER UN ÍNDICE PARA EL ENTORNO DE DATOS

1. En el menú Ver, elija Entorno de datos.


2. En el menú de método abreviado, elija Propiedades.
3. En la ventana Propiedades, en el cuadro Objeto. elija Cursor1
4. Elija la ficha Datos y seleccione la propiedad Order.
5. Escriba un nombre de índice.
–O–
AGREGAR CONTROLES DE CAMPO
Seleccione un índice en la lista de índices disponibles.

Desde el entorno de datos arrastre y coloque los campos sobre el


diseño.
AGREGAR CAMPOS DE TABLA DESDE LA BARRA DE
HERRAMIENTAS

Debe alinear los controles por un lado que todos los controles
seleccionados tengan disponible y alejado de los demás. Los controles
que están en una fila y se seleccionan para alinearse por su lado
derecho, o el izquierdo, se apilarán unos encima de otros. De igual
1. Desde la barra de herramientas Controles de informes, inserte un modo, los controles que están en una línea vertical y seleccionados
control Campo. para alinearse con respecto a la parte superior, o inferior, se solaparán.
2. En el cuadro de diálogo Expresión de informe, elija el botón con
tres puntos que hay después del cuadro Expresión.

AGREGAR UN GRUPO

1. En el menú Informe, elija Agrupar datos.

3. En el cuadro Campos, haga doble clic en el nombre del campo


deseado.
2. En el primer cuadro Grupo, escriba la expresión de grupo.
–O–
Elija el botón con tres puntos para crear una expresión en el Generador
de expresiones.
3. En el área Propiedades de grupo, seleccione las propiedades que
desee.
4. Elija Aceptar.

Después de agregar la expresión, puede colocar los controles que


desee en las bandas. Normalmente, el control de campo utilizado para
los agrupamientos se traslada desde la banda Detalle hasta la banda
Encabezado de grupo

HERRAMIENTAS PARA PERSONALIZAR EL DISEÑO DEL


INFORME

Los nombres de la tabla y del campo aparecerán en el cuadro


Expresión para campo del informe.
Si el cuadro Campos está vacío, agregue una tabla o vista al entorno
de datos.
No tiene que mantener el alias de nombre de la tabla en la expresión.
Puede eliminarlo o puede desactivar las opciones del Generador de
expresiones.
4. Elija Aceptar
5. En el cuadro de diálogo Expresión de informe, elija Aceptar.
Puede cambiar el entorno de datos, la configuración de la página o los
controles de informe. El entorno de datos define el origen de los datos
UTILICE LA BARRA DE HERRAMIENTA DISEÑO PARA ALINEAR a incluir en el informe, la configuración de la página define la apariencia
LOS CONTROLES general de la página y de las bandas del informe y los controles de
informe definen los elementos que aparecerán en la página.
CUADRO DE DIÁLOGO CONFIGURAR PÁGINA 3. En el cuadro de diálogo Formato, seleccione el tipo de dato para
el campo: Carácter, Numérico o Fecha.
El área Opciones de edición muestra las opciones de formato
disponibles para ese tipo de datos.
Este tipo de datos se aplica sólo al control de informe. En él se refleja
el tipo de datos de la expresión y no cambia el tipo de datos del campo
en la tabla.
4. Seleccione las opciones de alineación y formato que desee.

1. En el menú Archivo, elija Especificar impresora.


2. En el cuadro Margen izquierdo, introduzca un valor para el
margen.
La imagen de la página cambiará para mostrar el nuevo margen.
3. Para seleccionar un tamaño de papel, elija Configurar página.
4. En el cuadro de diálogo Configurar página, seleccione un tamaño
de página en la lista Tamaño.
5. Para seleccionar la orientación del papel, elija una orientación en
el área Orientación y, a continuación, elija Aceptar. OPCIONES DEL CUADRO DE DIÁLOGO
6. En el cuadro de diálogo Configurar página, elija Aceptar.
Expresión
Muestra la expresión, actualmente seleccionada como un campo de
DEFINIR EL ENCABEZADO Y EL PIE DE PÁGINA
tabla o una variable de memoria, o le permite escribir uno nuevo. Elija
el botón de diálogo para mostrar el cuadro de diálogo Generador de
Los controles ubicados en las bandas Encabezado o Pie de página expresiones si desea crear una expresión y comprobarla antes de
aparecen una vez en cada página del informe. Un informe que tenga continuar.
muchas páginas debería incluir el nombre del informe, el número de Formato
página, la fecha y las etiquetas (si es apropiado) en un encabezado o Cuando una expresión válida se muestra en el cuadro Expresión,
pie. puede especificar un formato en este cuadro de texto. Elija el botón del
cuadro de diálogo para mostrar el cuadro de diálogo Formato (Campo)
si desea especificar el formato para el campo en su informe.
DEFINIR LA BANDA DETALLE Cálculos
Muestra el cuadro de diálogo Calcular campo, en el que puede
seleccionar una expresión para crear un campo calculado.
Típicamente, los controles situados en banda Detalle se imprimen una Imprimir-Condiciones
vez para cada registro. Muestra el cuadro de diálogo Imprimir - Condiciones en el que puede
especificar las condiciones que se deben cumplir antes de que se
DAR FORMATO A LOS CONTROLES DE CAMPO imprima el texto en el informe o la etiqueta.
Posición del campo
Flotante
Después de insertar un control de campo, puede cambiar el tipo de Especifica que el campo seleccionado se mueva en relación al tamaño
datos y el formato de impresión del control. Los tipos de datos pueden de los campos cercanos.
ser Carácter, Numérico, o Fecha. Cada uno de estos tipos tiene sus Borde superior de la banda
propias opciones de formato, incluyendo la opción de crear sus propias Hace que el campo permanezca en la posición que le ha asignado en
plantillas de formato. El formato determina cómo se muestra el campo el Diseñador de informes o el Diseñador de etiquetas, y lo mantiene en
cuando se imprime el informe. esa posición relativa al principio de la banda.
Normalmente, podría convertir todo el resultado alfabético a Borde inferior de la banda
mayúsculas, insertar comas o puntos decimales en el resultado Hace que el campo permanezca en la posición que le ha asignado en
numérico, mostrar el resultado numérico en formato de moneda o el Diseñador de informes o el Diseñador de etiquetas, y mantenga
convertir un formato de fecha a otro. dicha posición relativa al borde inferior de la banda.
Ajustar al contenido del texto
Hace que el campo se expanda hacia abajo en la página del informe
DEFINIR FORMATOS DE CONTROL DE CAMPO para mostrar todos los datos.
Comentario
Le permite agregar comentarios al archivo .frx o .lbx. Los comentarios
Puede elegir entre diversas opciones de formato para cada tipo de son sólo referencias y no aparecen por ningún sitio en el informe o
datos. etiqueta impreso.

PARA DAR FORMATO A UN CONTROL DE CAMPO


VISTA PRELIMINAR E IMPRESIÓN DE SU INFORME
1. Haga doble clic en el control Campo.
2. En el cuadro de diálogo Expresión de informe, elija el botón con
tres puntos que hay después del cuadro Formato.
Después de comenzar el diseño de su informe, puede ver una vista
preliminar de su trabajo o bien imprimir un informe. Puede ver una vista
preliminar en cualquier momento mientras personaliza el diseño.

VISTA PRELIMINAR DE LOS RESULTADOS

Si hace una vista preliminar de un informe podrá ver cómo queda en la


página sin necesidad de imprimirlo antes.

La ventana Vista preliminar tiene su propia barra de herramientas, con


botones que pueden llevarle de una página a otra del informe.

Volver al modo
diseño

Cuidado Si aparece la pregunta "¿Desea guardar los cambios en su


archivo?", es que ha seleccionado no sólo cerrar la ventana Vista
preliminar, sino también el archivo de diseño. Puede seleccionar el
botón Cancelar para regresar a la vista preliminar o el botón Guardar
para guardar sus cambios y cerrar el archivo. Si selecciona No, no se
guardarán los cambios realizados en el diseño.

IMPRIMIR INFORMES

El archivo de diseño de informe creado mediante el Diseñador de


informes es un entorno que da formato a los datos en una agradable
presentación para imprimir. Procesa los registros en el orden en que
aparecen en el origen de datos. Si usa directamente los datos desde
una tabla, los datos no se ordenarán para los grupos que puede haber
en el diseño. Antes de imprimir un archivo de informe, deberá
asegurarse de que el origen de datos se ordenará y que dicho orden es
el apropiado. Si la tabla forma parte de una base de datos, cree una
vista y agréguela al entorno de datos del informe. La vista ordenará los
datos. Si el origen de datos es una tabla libre, puede crear y ejecutar
una consulta que use el informe como su destino.

PARA IMPRIMIR UN INFORME

1. En el menú Archivo, elija Imprimir.


2. Elija Aceptar.

Si el entorno de datos no está establecido, el cuadro de diálogo Abrir


aparecerá con una lista de tablas entre las cuales puede elegir.

MOVER LOS CONTROLES EN UNA OPERACIÓN DE ARRASTRAR


Y COLOCAR

Inserte una imagen en un formulario y establezca la propiedad de la


imagen DragMode como 1-Arrastre Automático y la propiedad, también
de la imagen DragIcon como un archivo de icono que se mostrará
como puntero durante la operación de arrastrar y colocar. Establezca
el evento DragDrop del formulario con el siguiente código

LPARAMETERS oSource, nXCoord, nYCoord


oSource.Move(nXCoord, nYCoord)