Sei sulla pagina 1di 174

[Programacin II]

-Diversificado-

INDICE
PROYECTO DE UNIDAD......................5
UNIDAD 1.........................................6
COMPETENCIA 1.1..................................6
INDICADOR 1.1.1....................................6
1.1.1. BASE DE DATOS............................7
1.1.1.1 SISTEMA DE BASES DE DATOS.7
1.1.1.2 ESTRUCTURA DE UNA BASE DE DATOS
8
1.1.2 DBMS Y DBAS.............................8
1.1.2.1. DBMS......................................8
1.1.2.2 DBA (Administrador de base de datos)
9
1.1.3 TIPOS DE BASES DE DATOS......10
1.1.3.1 SEGN LA VARIABILIDAD DE LOS DATOS ALMACENADOS
1.1.3.2 SEGN EL CONTENIDO..........10
1.1.4 MODELOS DE BASES DE DATOS11
1.1.4.1 BASE DE DATOS RELACIONAL12
1.1.4.2 LAS 12 REGLAS DE CODD.....12
1.1.5 Modelo Entidad Relacin........13
1.1.5.1 ENTIDAD................................13
1.1.5.2 ATRIBUTO:.............................13
1.1.5.3 CLAVES O LLAVES..................13
1.1.5.4. ENTIDADES FUERTES Y DBILES
14
1.1.5.5. CARDINALIDAD DE LAS RELACIONES 14
1.1.5.6 PASOS PARA EL DISEO DE UNA BASE DE DATOS 15
1.1.5.7 EJEMPLO DE ER:....................15
ACTIVIDAD INDICADOR 1.1.1................16
INDICADOR 1.1.2..................................17
1.1.2. FORMAS NORMALES Y TABLAS....17
1.1.2.1. FORMAS NORMALES.............18
1.1.2.1.1. ESTADO INICIAL O CERO FORMA NORMAL (0FN) 18
1.1.2.1.2. PRIMERA FORMA NORMAL (1FN)
19
1.1.2.1.3. SEGUNDA FORMA NORMAL (2FN) 19
1.1.2.1.4.TERCERA FORMA NORMAL (3FN): 20
1.1.2.2. DEFINICIN DEL DIAGRAMA ENTIDAD RELACIN 21
1.1.2.2.1. DEFINICIN DE TIPOS DE DATOS 22
..........................................................22
1.1.2.3. BASES DE DATOS EN ACCESS23
1.1.2.3.1. CREAR UNA BASE DE DATOS EN BLANCO 23
1.1.2.3.2 ELEMENTOS DE ACCESS 200723
1.1.2.3.3. TABLAS..............................24
1.1.2.3.3.1 CREAR UNA TABLA...........24
1.1.2.3.3.2 CREAR UNA TABLA CON DATOS
25
1.1.2.3.3.3 TIPOS DE DATOS EN ACCESS 2007
26
1.1.2.3.3.4 LLAVES PRIMARIAS Y FORANEAS 27
1.1.2.3.3.5 GUARDAR UNA TABLA......28
1.1.2.3.3.6 CERRAR UNA TABLA........28
1.1.2.3.3.6 INTRODUCIR Y MODIFICAR DATOS EN UNA TABLA
1.1.2.3.3.7 INTRODUCIR Y MODIFICAR DATOS EN UNA TABLA
1.1.2.3.4. RELACIONAR TABLAS.........33
1.1.2.3.4.1 CREAR RELACIONES........33
1.1.2.3.4.2 ELIMINAR RELACIONES....35
ACTIVIDAD INDICADOR 1.1.2................35
INDICADOR 1.1.3..................................36
1.1.3. CONSULTAS, FORMULARIOS E INFORMES 36

10

28
29

[Programacin II]
1.1.3.1. CONSULTAS..........................36
1.1.3.1.1 CREAR CONSULTAS.............36
1.1.3.1.2. VISTA DISEO DE UNA CONSULTA 36
1.1.3.1.3 GUARDAR UNA CONSULTA.38
1.1.3.1.4 EJECUTAR UNA CONSULTA. 38
1.1.3.2. FORMULARIOS......................39
1.1.3.2.1 CREAR UN FORMULARIO.....39
1.1.3.2.1.1 VISTA DE DISEO DE FORMULARIO
42
1.1.3.2.2. AGREGAR UN CAMPO O UN CONTROL
43
1.1.3.2.3. CREAR UN FORMULARIO CON VARIAS PGINAS O FICHAS
1.1.3.3. INFORMES............................47
ACTIVIDAD INDICADOR 1.1.3................52
GLOSARIO 1.1.1....................................53

-Diversificado-

46

PROYECTO DE UNIDAD....................55
UNIDAD 2.......................................56
COMPETENCIA 2.1................................56
INDICADOR 2.1.1..................................56
2.1.1.1. PGINAS...............................57
2.1.1.1.1. MOSTRAR UNA PGINA WEB EN UN FORMULARIO 57
2.1.1.2. MACROS...............................57
2.1.1.2.1 CREAR UNA MACRO............57
2.1.1.2.2. MDULOS..........................60
2.1.1.3. FORMULARIO DE PANEL DE CONTROL
60
2.1.1.3.1. CREAR UN PANEL DE CONTROL
61
2.1.1.3.2. PERSONALIZAR UN PANEL DE CONTROL 64
ACTIVIDAD INDICADOR 2.1.1................64
INDICADOR 2.1.2..................................65
2.1.2. VISUAL FOXPRO..........................65
2.1.2.1. HISTORIA..............................65
2.1.2.1.1 CARACTERSTICAS DE VISUAL FOXPRO:
65
2.1.2.2.2 CREACIN DE UNA TABLA LIBRE
66
2.1.2.2.3 CREACIN DE UNA BASE DE DATOS 67
2.1.2.3. CREACIN DE UNA TABLA DEPENDIENTE
67
2.1.2.5 CREACION DE VISTA:..............69
ACTIVIDAD INDICADOR 2.1.2.................71
INDICADOR 2.1.3..................................72
2.1.3. CONSULTAS, INFORMES, FORMULARIOS 72
2.1.3.1. CREACIN DE CONSULTAS....72
2.1.3.2. CREACIN DE INFORMES......75
2.1.3.3. REPORTE CON MS UN GRUPO80
2.1.3.4. DISEO DE FORMULARIOS....82
2.1.3.4.1. CMO CREAR UN NUEVO FORMULARIO: 88
2.1.3.4.2. AGREGACIN DE OBJETOS A SU FORMULARIO
89
ACTIVIDAD INDICADOR 2.1.3................89
GLOSARIO 2.1.1....................................90
PROYECTO DE UNIDAD....................92
UNIDAD 3.......................................93
COMPETENCIA 3.1................................93
INDICADOR 3.1.1..................................93
3.1.1. FORMULARIOS Y OTROS MTODOS94
3.1.1.1. CMO CREAR UN FORMULARIO DE VARIAS PGINAS
95
3.1.1.2. AGREGACIN DE CUADROS DE TEXTO Y CUADROS DE EDICIN

95

[Programacin II]

-Diversificado-

3.1.1.3. FORMULARIOS SENCILLOS..100


3.1.1.4.1. FORMULARIOS MAESTRO - DETALLE
103
3.1.1.4.2. PASOS PARA CONSTRUIR UNA FORMA MAESTRO - DETALLE
103
3.1.1.5. BOTN...............................104
3.1.1.5.1. MTODO DESTROY..........104
ACTIVIDAD INDICADOR 3.1.1..............105
INDICADOR 3.1.2................................106
3.1.2. CLASES, OBJETOS, ACTIVEX, PROGRESS BAR
106
3.1.2.1. CREACIN DE CLASES DE OBJETOS 106
3.1.2.1.1. PASOS PARA CREACIN DE CLASES106
3.1.2.2. ACTIVEX.............................108
3.1.2.2.1. SOPORTE DE TECNOLOGA ACTIVEX
108
3.1.2.2.2. CMO AGREGAR UN ACTIVEX A LA FORMA:
108
3.1.2.3. MTODO INIT......................109
3.1.2.4. PROGRESS BAR CONTROL. .110
3.1.2.4.1. PROPIEDAD......................110
ACTIVIDAD INDICADOR 3.1.2..............110
INDICADOR 3.1.3................................111
3.1.3. OLE, APLICACIONES, FORMULARIOS Y GROUPING
111
3.1.3.1. ALMACENAR OBJETOS OLE EN LA BASE DE DATOS 111
3.1.3.2. APLICACIN........................111
3.1.3.3. COMO CONOCER EL NOMBRE DE CLASE DE UNA APLICACIN WINDOWS 111
3.1.3.4. INCLUIR EN EL FORMULARIO EL OBJETO OLE 112
3.1.3.5. PASOS PARA CREACIN DE INFORMES
114
3.1.3.6. AGRUPAMIENTO DE DATOS (DATA GROUPING)
116
3.1.3.7. INTEGRACIN DE LA APLICACIN
117
ACTIVIDAD INDICADOR 3.1.3..............118
GLOSARIO 3.1.1..................................119
PROYECTO DE UNIDAD...................121
UNIDAD 4.....................................122
COMPETENCIA 4.1..............................122
INDICADOR 4.1.1................................122
4.1.1. MENUS......................................123
4.1.1.1. TIPOS DE MENS................123
4.1.1.2. CREACIN DE MENS.........123
4.1.1.3. CMO CREAR UN NUEVO MEN
124
4.1.1.4. GENERACIN DEL MEN. . . .125
4.1.1.5. COMO INVOCAR AL MEN CREADO 125
4.1.1.6. DO RUTA Y NOMBRE DEL ARCHIVO MPR
125
ACTIVIDAD INDICADOR 4.1.1..............126
INDICADOR 4.1.2................................126
4.1.2. APLICACIONES E INSTRUCCIONES126
4.1.2.1. CREACIN DEL EJECUTABLE DE LA APLICACIN.
126
4.1.2.2. CREACIN DEL EJECUTABLE127
4.1.2.3. COMANDOS RELACIONADOS A BD Y TABLAS 128
4.1.2.4. INSTRUCCIONES BSICAS...128
4.1.2.4.1. INSTRUCCIONES DE MANEJO DE BASES DE DATOS
128
4.1.2.4.2. INSTRUCCIONES DE MANEJO DE TABLAS INDEPENDIENTES
4.1.2.4.3. INSTRUCCIONES GENERALES DE MANEJO DE TABLAS
130
4.1.2.4.4. INSTRUCCIONES DE BSQUEDA EN TABLAS
131
4.1.2.4.5. INSTRUCCIONES DE CLCULOS EN TABLAS
132
4.1.2.4.6. EL SISTEMA DE ALMACENAMIENTO EN BUFFER
132
ACTIVIDAD INDICADOR 4.1.2..............134
INDICADOR 4.1.3................................135

129

[Programacin II]

-Diversificado-

4.1.3.1. TRANSACCIONES................135
4.1.3.2. UTILIDADES........................135
4.1.3.3. TRATAMIENTO DE CARACTERES136
4.1.3.4. MANIPULACIN DE FECHAS 137
4.1.3.5. VISUAL FOXPRO EN LA WEB137
4.1.3.6. SELECT SQL Y MICROSOFT VISUAL FOX PRO 6
140
4.1.3.7. ESTRUCTURA DE LAS TABLAS USADAS EN LOS EJEMPLOS 140
........................................................141
4.1.3.8. SELECT SQL EN VISUAL FOX PRO 6.0
141
ACTIVIDAD 4.1.3.................................158
GLOSARIO 4.1.1..................................159
BIBLIOGRAFIA.....................................160
Centro de Estudios Tcnicos y Avanzados de Chimaltenango.
Asignatura:
SEMANA 1

ACTIVIDAD DE APRENDIZAJE

Primera Unidad
Profesor(a):

PLANIFICACION UNIDAD DE APRENDIZAJE


Declarativos:

PROCEDIMIENTO

FECHA

PUNTEO

FECHA

PUNTEO

FECHA

PUNTEO

FECHA

PUNTEO

Planteamientos de interrogantes.
Clase Magistral, Consulta libro de texto, e Internet,
Redaccin de Ensayos.
sobre los temas propuestos en esta unidad.
Mesas de Dialogo.
SEMANA 2

Declarativos:

ACTIVIDAD DE APRENDIZAJE

PROCEDIMIENTO

Clases Magistral, consultas sobre terminologa Mesas de Dialogo.


aplicada a la forma de proponer los temas Redacta informes.
propuestos para esta unidad.
Textos Paralelos.
SEMANA 3

Declarativos:

ACTIVIDAD DE APRENDIZAJE

PROCEDIMIENTO

Clase Magistral, consulta Internet, libros, folletos, Planteamiento de interrogantes.


lo relacionado los temas propuestos en esta Redaccin de Ensayos.
unidad.
Textos paralelos.
SEMANA 4

ACTIVIDAD DE APRENDIZAJE

Declarativos:

PROCEDIMIENTO
Planteamiento de Interrogantes.
Consulta
Internet,
libros
folletos,
Clases
Laboratorios orales.
Magistrales, lo relacionado a los temas que estn
Exposiciones individuales.
propuestos para esta unidad.
Creacin de Portafolios.
SEMANA 5
Declarativos:

[Programacin II]

ACTIVIDAD DE APRENDIZAJE

-Diversificado-

PROCEDIMIENTO

FECHA

PUNTEO

Clases Magistrales, consulta en libros e internet, Redaccin de ensayos.


lo relacionado los temas que estn propuestos Textos Paralelos.
para esta unidad.
Creacin de portafolios.
SEMANA 6

EVALUACION FINAL DE UNIDAD

Prueba Objetiva Bimestral

Sobre contenido terico y prctico visto en clase

Proyecto de
unidad

[Programacin II]

-Diversificado-

UNIDAD 1
COMPETENCIA 1.1

"1.1 Conoce los principios, conceptos,


mtodos y formas de normalizar una
base de datos, as como la aplicacin
que mejor cumple los requisitos del
usuario y en problemas especficos del
manejo de informacin a travs de
sistemas informticos flexibles"
INDICADOR 1.1.1

Conoce los principales programas para el control de Bases


de datos, identificando los conceptos, tipos, modelos y otros
conceptos necesarios para comprender su funcin.

[Programacin II]

-Diversificado-

1.1.1. BASE DE DATOS


Qu es una base de datos?
Todas las empresas requieren almacenar informacin. Desde siempre lo han hecho. La informacin
puede ser de todo tipo. Cada elemento informativo (nombre, direccin, sueldo, etc.) es lo que se
conoce como dato (en ingls data).
Las soluciones utilizadas por las empresas para almacenar los datos son diversas. Antes de la aparicin
de la informtica se almacenaban en ficheros con cajones y carpetas y fichas. Tras la aparicin de la
informtica estos datos se almacenan en archivos digitales dentro de las unidades de almacenamiento del
ordenador (a veces en archivos binarios, o en hojas de clculo, etc.).
Adems las empresas requieren utilizar aplicaciones informticas para realizar tareas propias de la
empresa a fin de mecanizar a las mismas. Estas aplicaciones requieren manejar los datos de la empresa.
En los inicios de la era informtica, cada programa almacenaba y utilizaba sus propios datos de forma un
tanto catica. La ventaja de este sistema (la nica ventaja), es que los procesos eran independientes por
lo que la modificacin de uno no afectaba al resto. Pero tiene grandes inconvenientes:

Coste de almacenamiento elevado


Datos redundantes (se repiten continuamente)
Probabilidad alta de inconsistencia en los datos
Difcil modificacin en los datos y facilidad de problemas de inconsistencia al realizar esas
modificaciones (ya que es difcil que esa modificacin afecte a todos los datos)

Lgicamente la solucin a este problema es hacer que todas las aplicaciones utilicen los mismos datos.
Esto provoca que los datos deban estar mucho ms protegidos y controlados. Adems los datos
forman una estructura fsica y funcional que es lo que se conoce como base de datos.
De esta forma una Base de datos es una serie de datos relacionados que forman una estructura
lgica, es decir una estructura reconocible desde un programa informtico.
1.1.1.1 SISTEMA DE BASES DE DATOS
Un sistema de bases de datos sirve para integrar los datos. Lo componen los siguientes elementos:

Hardware: Mquinas en las que se almacenan las bases de datos. Incorporan unidades de
almacenamiento masivo para este fin.
Software: Es el sistema gestor de bases de datos. El encargado de administrar las bases de
datos.
Datos: Incluyen los datos que se necesitan almacenar y los metadatos que son datos que sirven
para describir lo que se almacena en la base de datos.
Usuarios: Personas que manipulan los datos del sistema. Hay tres categoras:
o

o
o

Usuarios finales: Aquellos que utilizan datos de la base de datos para su trabajo
cotidiano que no tiene por qu tener que ver con la informtica. Normalmente no
utilizan la base de datos directamente, sino que utilizan
aplicaciones creadas para
ellos a fin de facilitar la manipulacin de los datos. Estos usuarios slo acceden a ciertos
datos.
Desarrolladores: Analistas y programadores encargados de generar aplicaciones
para los usuarios finales.
Administradores: Tambin llamados DBA (Data Base Administrator), se encargan de
gestionar las bases de datos.

Hay que tener en cuenta que las necesidades de los usuarios son muy diferentes en funcin del tipo de
usuario que sean: a los finales les interesa la facilidad de uso, a los desarrolladores la potencia y

[Programacin II]

-Diversificado-

flexibilidad de los lenguajes incorporados del sistema de bases de datos, a los administradores
herramientas de gestin avanzada para la base de datos.
1.1.1.2 ESTRUCTURA DE UNA BASE DE DATOS
Las bases de datos estn compuestas, de datos y de metadatos. Los metadatos son datos que
sirven para especificar la estructura de la base de datos; por ejemplo qu tipo de datos se almacenan (si
son texto o nmeros o fechas), qu nombre se le da a cada dato (nombre, apellidos, etc.), cmo estn
agrupados, cmo se relacionan.
De este modo se producen dos visiones de la base de datos:

Estructura lgica: Indica la composicin y distribucin terica de la base de datos. La


estructura lgica sirve para que las aplicaciones puedan utilizar los elementos de la base de
datos sin saber realmente cmo se estn almacenando.

Estructura fsica: Es la estructura de los datos tan cual se almacenan en las unidades de
disco. La correspondencia entre la estructura lgica y la fsica se almacena en la base de
datos (en los metadatos).

1.1.2 DBMS Y DBAS


1.1.2.1. DBMS
Los sistemas de gestin de bases de datos o SGBD (en ingls database management system, abreviado
DBMS) son un tipo de software muy especfico, dedicado a servir de interfaz entre la base de datos, el
usuario y las aplicaciones que la utilizan.

PROPSITO:
El propsito general de los sistemas de gestin de bases de datos es el de manejar de manera clara,
sencilla y ordenada un conjunto de datos que posteriormente se convertirn en informacin relevante para
una organizacin.
OBJETIVOS:
Existen distintos objetivos que deben cumplir los SGBD:

Abstraccin de la informacin: Los SGBD ahorran a los usuarios detalles acerca del
almacenamiento fsico de los datos. Da lo mismo si una base de datos ocupa uno o cientos de
archivos, este hecho se hace transparente al usuario. As, se definen varios niveles de
abstraccin.

Independencia: La independencia de los datos consiste en la capacidad de modificar el esquema


(fsico o lgico) de una base de datos sin tener que realizar cambios en las aplicaciones que se
sirven de ella.

Consistencia: En aquellos casos en los que no se ha logrado eliminar la redundancia, ser


necesario vigilar que aquella informacin que aparece repetida se actualice de forma coherente,
es decir, que todos los datos repetidos se actualicen de forma simultnea. Por otra parte, la base
de datos representa una realidad determinada que tiene determinadas condiciones, por ejemplo

[Programacin II]

-Diversificado-

que los menores de edad no pueden tener licencia de conducir. El sistema no debera aceptar
datos de un conductor menor de edad.
Seguridad: La informacin almacenada en una base de datos puede llegar a tener un gran valor.
Los SGBD deben garantizar que esta informacin se encuentra segura de permisos a usuarios y
grupos de usuarios, que permiten otorgar diversas categoras de permisos.

Manejo de transacciones: Una Transaccin es un programa que se ejecuta como una sola
operacin. Esto quiere decir que luego de una ejecucin en la que se produce una falla es el
mismo que se obtendra si el programa no se hubiera ejecutado. Los SGBD proveen mecanismos
para programar las modificaciones de los datos de una forma mucho ms simple que si no se
dispusiera de ellos.

Tiempo de respuesta: Lgicamente, es deseable minimizar el tiempo que el SGBD tarda en


darnos la informacin solicitada y en almacenar los cambios realizados.

PRODUCTOS SGBD
SGBD libres
MySQL
PostgreSQL
Firebird
SQLite
DB2 Express-C
Apache Derby
SGBD no libres
Visual Fox Pro
IBM Informix
Microsoft Access
Microsoft SQL Server
Open Access
Oracle

Interno: se ve como se almacena los datos fsicamente. Es aquel en el que se determinan las
caractersticas de almacenamiento en el medio secundario. Los diseadores de este nivel poseen
un amplio dominio de cuestiones tcnicas y de manejo de hardware. Muchas veces se opta por
mantener el nivel fsico proporcionado por el sistema operativo para facilitar y agilizar el desarrollo.

1.1.2.2 DBA (Administrador de base de datos)


El administrador de base de datos (DBA) es la persona responsable de los aspectos ambientales de una
base de datos. En general esto incluye:

Recuperabilidad - Crear y probar Respaldos

Integridad - Verificar o ayudar a la verificacin en la integridad de datos

Seguridad - Definir y/o implementar controles de acceso a los datos

Disponibilidad - Asegurarse del mayor tiempo de encendido

Desempeo - Asegurarse del mximo desempeo incluso con las limitaciones

[Programacin II]

-Diversificado-

Desarrollo y soporte a pruebas - Ayudar a los programadores e ingenieros a utilizar eficientemente


la base de datos.

El diseo lgico y fsico de las bases de datos a pesar de no ser obligaciones de un administrador de
bases de datos, es a veces parte del trabajo. Esas funciones por lo general estn asignadas a los
analistas de bases de datos a los diseadores de bases de datos.

DEBERES DE UN DBA
Los deberes de un administrador de bases de datos dependen de la descripcin del puesto, corporacin y
polticas de Tecnologas de Informacin (TI). Por lo general se incluye recuperacin de desastres
(respaldos y pruebas de respaldos), anlisis de rendimiento y optimizacin, y algo de asistencia en el
diseo de la base de datos.
Disponibilidad: Significa que los usuarios autorizados tengan acceso a los datos cuando lo necesiten
para atender a las necesidades del negocio. Los negocios han ido requiriendo que su informacin est
disponible todo el tiempo (7x24", o siete das a la semana, 24 horas del da).
Recuperabilidad: Si el sistema de base de datos da algn error en los datos, el DBA puede traer de
vuelta la base de datos al tiempo y estado en que se encontraba en estado consistente antes de que el
dao se causara. Las actividades de recuperacin incluyen el hacer respaldos de la base de datos y
almacenar esos respaldos de manera que se minimice el riesgo de dao prdida de los mismos.
Integridad: La integridad de una base de datos significa que, la base de datos los programas que
generaron su contenido, incorporen mtodos que aseguren que el contenido de los datos del sistema no
se rompa as como las reglas del negocio. Por ejemplo, un distribuidor puede tener una regla la cual
permita que solo los clientes individuales puedan solicitar rdenes; a su vez cada orden identifique a uno y
solo un proveedor.
Seguridad: Es la capacidad de los usuarios para acceder y cambiar los datos de acuerdo a las polticas
del negocio, as como, las decisiones de los encargados. Al igual que otros metadatos, una DBMS
relacional maneja la seguridad en forma de tablas.
Rendimiento: La base datos no debe de exceder el tiempo de respuesta a una solicitud o consulta de
datos. En sistemas muy complejos cliente/servidor y de tres capas, la base de datos es solo uno de los
elementos que determinan la experiencia de los usuarios en lnea y los programas desatendidos.
Desarrollo/Soporte a pruebas: Uno de los deberes menos respetados por el administrador de base de
datos es el desarrollo y soporte a pruebas, mientras que algunos otros encargados lo consideran como la
responsabilidad ms importante de un DBA. Las actividades de soporte incluyen la colecta de datos de
produccin para llevar a cabo pruebas con ellos; consultar a los programadores respecto al desempeo; y
hacer cambios a los diseos de tablas de manera que se puedan proporcionar nuevos tipos de
almacenamientos para las funciones de los programas.
1.1.3 TIPOS DE BASES DE DATOS
Las bases de datos pueden clasificarse de varias maneras, de acuerdo al criterio elegido para su
clasificacin:
1.1.3.1 SEGN LA VARIABILIDAD DE LOS DATOS ALMACENADOS
1. Bases de datos estticas: stas son bases de datos de slo lectura, utilizadas primordialmente
para almacenar datos histricos que posteriormente se pueden utilizar para estudiar el
comportamiento de un conjunto de datos a travs del tiempo, realizar proyecciones y tomar
decisiones.
2. Bases de datos dinmicas: stas son bases de datos donde la informacin almacenada se
modifica con el tiempo, permitiendo operaciones como actualizacin y adicin de datos, adems

[Programacin II]

-Diversificado-

de las operaciones fundamentales de consulta. Un ejemplo de esto puede ser la base de datos
utilizada en un sistema de informacin de una tienda de abarrotes, una farmacia, un videoclub,
etc.
1.1.3.2 SEGN EL CONTENIDO
1. Bases de datos bibliogrficas: Solo contienen un surrogante (representante) de la fuente
primaria, que permite localizarla. Un registro tpico de una base de datos bibliogrfica contiene
informacin sobre el autor, fecha de publicacin, editorial, ttulo, edicin, de una determinada
publicacin, etc. Puede contener un resumen o extracto de la publicacin original, pero nunca el
texto completo, porque si no estaramos en presencia de una base de datos a texto completo (o de
fuentes primarias). Como su nombre lo indica, el contenido son cifras o nmeros. Por ejemplo, una
coleccin de resultados de anlisis de laboratorio, entre otras.
2. Bases de datos de texto completo: Almacenan las fuentes primarias, como por ejemplo, todo el
contenido de todas las ediciones de una coleccin de revistas cientficas.
a. Directorios: Un ejemplo son las guas telefnicas en formato electrnico.
b. Banco de imgenes, audio, video, multimedia, etc.
3. Bases de datos o "bibliotecas" de informacin Biolgica: Son bases de datos que almacenan
diferentes tipos de informacin proveniente de las ciencias de la vida o mdicas. Se pueden
considerar en varios subtipos:
a. Aquellas que almacenan secuencias de nucletidos o protenas.
b. Las bases de datos de rutas metablicas.
c. Bases de datos de estructura, comprende los registros de datos experimentales sobre
estructuras 3D de biomolculas.
d. Bases de datos clnicas.
e. Bases de datos bibliogrficas (biolgicas).
1.1.4 MODELOS DE BASES DE DATOS
Un modelo de datos es bsicamente una "descripcin" de algo conocido como contenedor de datos (algo
en donde se guarda la informacin), as como de los mtodos para almacenar y recuperar informacin de
esos contenedores. Los modelos de datos no son cosas fsicas: son abstracciones que permiten la
implementacin de un sistema eficiente de base de datos; por lo general se refieren a algoritmos, y
conceptos matemticos.
JERRQUICAS
En ellas se organiza la informacin se organiza con un jerarqua en la que la relacin entre las entidades
de este modelo siempre es del tipo padre / hijo. De esta forma hay una serie de nodos que contendrn
atributos y que se relacionarn con nodos hijos de forma que puede haber ms de un hijo para el mismo
padre (pero un hijo slo tiene un padre).
Las entidades de este modelo se llaman segmentos y los atributos campos. La forma visual de este
modelo es de rbol invertido, en la parte superior estn los padres y en la inferior los hijos.
EN RED
Se trata de un modelo que se utiliz durante mucho tiempo. Organiza la informacin en registros y
enlaces. Los registros representan las entidades del modelo entidad / relacin. En los registros se
almacenan los datos utilizando atributos. Los enlaces permiten relacionar los registros de la base de
datos.
El modelo en red ms aceptado es el llamado codasyl, que durante mucho tiempo se ha convertido en un
estndar. Las bases de datos en red son parecidas a las jerrquicas slo que en ellas puede haber ms de
un padre. En este modelo se pueden representar perfectamente relaciones varios a varios. Pero su
dificultad de manejo y complejidad hace que se estn abandonando completamente.
ORIENTADAS A OBJETOS

[Programacin II]

-Diversificado-

Desde la aparicin de la programacin orientada a objetos (POO u OOP) se empez a pensar en bases
de datos adaptadas a estos lenguajes. En estos lenguajes los datos y los procedimientos se almacenan
juntos. Esta es la idea de las bases de datos orientadas a objetos.
A travs de esta idea se intenta que estas bases de datos consiguen arreglar las limitaciones de
las relacionales. Por ejemplo el problema de la herencia, tipos definidos por el usuario, disparadores
almacenables en la base de datos, soporte multimedia, etc.
Se supone que son las bases de datos de tercera generacin (la primera fue las bases de datos en red y
la segunda las relacionales), lo que significa que el futuro parece estar a favor de estas bases de datos.
Pero siguen sin reemplazar a las relacionales (aunque cada vez hay ms).
1.1.4.1 BASE DE DATOS RELACIONAL
ste es el modelo ms utilizado en la actualidad para modelar problemas reales y administrar datos
dinmicamente. En este modelo, el lugar y la forma en que se almacenen los datos no tienen relevancia (a
diferencia de otros modelos como el jerrquico y el de red).
Su idea fundamental es el uso de "relaciones". Estas relaciones podran considerarse en forma lgica
como conjuntos de datos llamados "tuplas", una tabla est compuesta por registros (las filas de una tabla),
y campos (las columnas de una tabla). Esto tiene la considerable ventaja de que es ms fcil de entender
y de utilizar para un usuario espordico de la base de datos. La informacin puede ser recuperada o
almacenada mediante "consultas" que ofrecen una amplia flexibilidad y poder para administrar la
informacin.
Durante su diseo, una base de datos relacional pasa por un proceso al que se le conoce como
normalizacin de una base de datos.
1.1.4.2 LAS 12 REGLAS DE CODD
Preocupado por los productos que decan ser sistemas gestores de bases de datos relacionales
(RDBMS) sin serlo, Edgar Frank Codd publica las 12 reglas que debe cumplir todo DBMS para ser
considerado relacional. Estas reglas en la prctica las cumplen pocos sistemas relacionales. Las reglas
son:
1. Informacin. Toda la informacin de la base de datos debe estar representada explcitamente en
el esquema lgico. Es decir, todos los datos estn en las tablas.
2. Acceso garantizado. Todo dato es accesible sabiendo el valor de su clave y el nombre de la
columna o atributo que contiene el dato.
3. Tratamiento sistemtico de los valores nulos. El DBMS debe permitir el tratamiento adecuado
de estos valores
4. Catlogo en lnea basado en el modelo relacional. Los meta-datos deben de ser accesibles
usando un esquema relacional.
5. Sublenguaje de datos completo. Al menos debe de existir un lenguaje que permita el manejo
completo de la base de datos. Este lenguaje, por lo tanto, debe permitir realizar cualquier
operacin.
6. Actualizacin de vistas. El DBMS debe encargarse de que las vistas muestren la ltima
informacin
7. Inserciones, modificaciones y eliminaciones de dato nivel. Cualquier operacin de
modificacin debe actuar sobre conjuntos de filas, nunca deben actuar registro a registro.
8. Independencia fsica. Los datos deben de ser accesibles desde la lgica de la base de datos an
cuando se modifique el almacenamiento.
9. Independencia lgica. Los programas no deben verse afectados por cambios en las tablas.

[Programacin II]

-Diversificado-

10. Independencia de integridad. Las reglas de integridad deben almacenarse en la base de


datos (en el diccionario de datos), no en los programas de aplicacin.
11. Independencia de la distribucin. El sublenguaje de datos debe permitir que sus instrucciones
funciones igualmente en una base de datos distribuida que en una que no lo es.
12. No subversin. Si el DBMS posee un lenguaje que permite el recorrido registro a registro,
ste no puede utilizarse para incumplir las reglas relacionales.
1.1.5 Modelo Entidad Relacin
Fue ideado por Peter Chen en los aos 1976 y 1977 a travs de dos artculos. Se trata de un modelo que
sirve para crear esquemas conceptuales de bases de datos. De hecho es prcticamente un estndar para
crear esta tarea.
Se le llama modelo ER e incluso EI (Entidad / Interrelacin). Sus siglas ms populares son las ER
por que sirven para el ingls y el espaol. Inicialmente slo se incluan los conceptos de entidad, relacin
y atributos.
MODELAJE:
Es el proceso mediante el cual podemos identificar las propiedades dinmicas estticas de un dominio
de aplicacin con mira a su transformacin en un diseo interpretable en un sistema computarizado. Es el
plasmar los requerimientos de los usuarios en un programa para poder implementarlo.
1.1.5.1 ENTIDAD
Se trata de cualquier objeto o elemento (real o abstracto) acerca del cual se pueda almacenar
informacin en la base de datos. Ejemplos de entidades son Pedro, la factura nmero 32456, el coche
matrcula 3452BCW.
Una entidad no es un propiedad concreta sino un objeto que puede poseer mltiples propiedades
(atributos). Las entidades se representan mediante cajas en donde se coloca el nombre de la entidad.

CLIENTE
1.1.5.2 ATRIBUTO:
Los atributos son empleados para identificar, describir, calificar expresar el estado de una entidad.
Tambin son las propiedades que describen y califican una entidad. Los atributos se representan
colocndolos debajo del nombre de la entidad en forma de lista.
Ejemplo: Entidad cliente (nombre, apellido, direccin, edad, sexo),

CLIENTE
nombre
apellido
direccin
edad
sexo
1.1.5.3 CLAVES O LLAVES
Una clave o llave es uno o ms atributos que como caracterstica principal el valor almacenado en el
atributo seleccionado como llave debe de ser nico en una entidad, donde su valor no puede sir nulo ni
repetitivo. Existen diferentes tipos de claves, siendo estas las siguientes:

[Programacin II]

-Diversificado-

Llave primaria (PK): es aquel atributo (pueden ser tambin dos o ms) que identifica nicamente
a esa fila. La clave primaria es un identificador que va a ser nico para cada fila.

Llave fornea (FK): es aquel atributo que existe como dependiente en una tabla o entidad, es a
su vez llave primaria en otra tabla.

Llave alternativa: Es aquella Llave candidata que no han sido seleccionadas como llave primaria,
pero que tambin pueden identificar de forma nica a una fila dentro de una tabla.

Adems de los atributos claves, existen atributos que deben ser llenados obligatoriamente aunque
no sean llaves, esto se debe a la importancia de la informacin para la integridad de la entidad.
Los dems campos que no son obligatorios llenarlos se les denomina opcionales y estos si se
pueden quedar vacos.

La forma de representar los atributos claves es de la siguiente manera:


La clave primaria se les identifica anteponindoles el signo de numero #.
La clave fornea se les identifica encerrndolas entre parntesis ()
A los atributos obligatorios se les antepone el asterisco *.
A los atributos opcionales se les antepone un circulo o.

CLIENTE
# carn
(Cod_colegio)
nombre
apellido
edad
sexo
o
direccin
1.1.5.4. ENTIDADES FUERTES Y DBILES
Cuando una entidad participa en una relacin puede adquirir un papel fuerte o dbil.
Entidad dbil: es aquella que no puede existir sin participar en la relacin, es decir, aquella que no puede
ser unvocamente identificada solamente por sus atributos.
Entidad fuerte: es aquella que s puede ser identificada unvocamente. En los casos en que se requiera,
se puede dar que una entidad fuerte "preste" algunos de sus atributos a una entidad dbil para que, esta
ltima, se pueda identificar.
1.1.5.5. CARDINALIDAD DE LAS RELACIONES
Las relaciones se representan con lneas que conectan las cajas de las entidades entre si.
Las relaciones tiene propiedades caractersticas:
1. Grado Cardinalidad: que se clasifica en:
Uno a muchos: una instancia de la entidad A se relaciona con una ms instancias de la
entidad B.

Muchos a muchos: una instancia de la entidad A se relaciona con una ms instancias de la


entidad B y una instancia de la entidad B se relaciona con uno ms instancias de le entidad
B.

[Programacin II]

-Diversificado-

Uno a uno: una instancia de la entidad A se relaciona con uno y slo una instancia de la
entidad B.

Tambin el tipo de Cardinalidad se representa mediante una etiqueta en el exterior de la relacin,


respectivamente: "1:1"(de uno a uno), "1:N" (de uno a muchos) y "N:M" (de muchos a muchos), aunque la
notacin depende del lenguaje utilizado, la que ms se usa actualmente es el unificado.
2. Opcionalidad: es la participacin obligatoria u opcional en la entidad de la relacin.

"0" si la entidad no est obligada a participar en la relacin.


"1" si la entidad est obligada a participar en la relacin y, adems, cada instancia solamente
participa una vez.
"N", "M", "*" si la entidad no est obligada a participar en la relacin y cada instancia puede
participar cualquier nmero de veces.

1.1.5.6 PASOS PARA EL DISEO DE UNA BASE DE DATOS


1.
2.
3.
4.
5.
6.

Encontrar entidades (conjuntos de entidades)


Identificar atributos de las entidades
Buscar identificadores o claves
Especificar las relaciones y cardinalidades
Identificar entidades dbiles
Especializar y generalizar entidades donde sea posible

1.1.5.7 EJEMPLO DE ER:


Se planteara un caso para aplicar el Modelado de la base de datos utilizando los pasos anteriormente
ledos, para ello se resaltaran las entidades en negrita:
Compaa de Botes San Juan
San Juan es un agente que renta embarcaciones (Botes) a los clientes por una determinada tarifa.
San Juan no posee barcos, en lugar de eso los arrenda a diferentes propietarios los botes, las
embarcaciones arrendadas deben tener un tamao de 28 a 44 pies de largo, deben estar completamente
equipadas con el equipo de navegaje proporcionada por el propietario (radio, brjula, indicadores de
profundidad, estufa, refrigeradores), el resto del equipo lo coloca la compaa (provisiones, libros, jabn,
toalla de cocina, platos, cuerdas y artculos similares).
Cuando el bote se arrenda se debe de tomar inventario del equipo proporcionado al cliente, a su vez la
compaa prefiere conservar un registro completo y preciso de sus clientes y los viajes que realiza, esto
para tener estadsticas.
Entidades:
Bote
Cliente

[Programacin II]

-Diversificado-

Tarifa
Propietario
Equipo
Viajes

Por lo cual el modelado del diagrama entidad relacin quedara de la siguiente manera:

Cliente

Propietario

# Codigo_cliente

#
Codigo_Propietario
(Codigo_bote)

nombre

apellido

Bote

Apellido

Telfono

# Codigo_bote
(Codigo_Propietari
o)

Telfono

direccin

Descripcin

Nombre_de_bote
Tamao

Tarifa

Viaje

Equipo

# Codigo_Bote
Dias_arrendado
Precio_por_dia

Gastos_adicionales
Total_a_pagar

# Codigo_viaje
(Codigo_bote)

# Codigo_equipo
(Codigo_bote)

Ruta
Descripcin

Descripcin
Cantidad

Otros

*** En este ejemplo, nicamente se procede a crear las entidades, con sus respectivos atributos.
Declaracin de claves, atributos obligatorios y los nulos.
Las relaciones las deber de hacer con ayuda del docente por medio de lneas utilizando las
cardinalidades de relacin anteriormente descritas.

ACTIVIDAD INDICADOR 1.1.1


Instrucciones: Aplicando los pasos para hacer un diagrama Entidad Relacin y
Normalizacin, desarrolle la siguiente base de datos.
En una biblioteca se desea llevar el control de libros prestados a estudiantes y
de inventario de existencia, tomando en cuenta que cada libro est clasificado
por Editorial, tema, autor, Estos son prestados a un determinado Estudiante por
medio de su carn que lo identifica con un colegio, no se pueden prestar ms
de 3 libros por carn, se debe almacenar que libros se les ha prestado por
carn en fechas anteriores. Adems el sistema debe indicar cuntos libros hay
en existencia.

[Programacin II]

-Diversificado-

Las habilidades que se deben demostrar en este nivel son: Hacer uso de la informacin; utilizar mtodos,
conceptos, teoras, en situaciones nuevas; solucionar problemas usando habilidades o conocimientos.
Qu hace el estudiante?
Recuerda y reconoce informacin e ideas adems de principios aproximadamente en misma forma en que
los aprendi.

INDICADOR 1.1.2.

1.1.2.1 Identifica las principales tareas de un DBMS,


aplicando las formas normales del proceso de normalizacin
de una base de datos.
1.1.2. FORMAS NORMALES Y TABLAS
TRANSFORMACIONES DE ENTIDADES:
En principio las entidades del modelo Entidad Relacin son transformadas al modelo relacional siguiendo
estas instrucciones:

Entidades: Las entidades pasan a ser tablas


Atributos: Los atributos pasan a ser columnas.
Claves Primarias: Pasan a ser llaves primarias o PK
Claves forneas: Pasan a ser llaves forneas o FK.

TABLAS:
Las bases de datos relacionales se basan en el uso de tablas (tambin se las llama relaciones).
Las tablas se representan grficamente como una estructura rectangular formada por filas y columnas.
Cada columna almacena informacin sobre una propiedad determinada de la tabla (se le llama tambin
atributo), nombre, apellidos, edad etc.
NORMALIZACIN:
La normalizacin es el proceso que permite distribuir todos los campos de la base de datos en tablas
relacionadas entre s, de forma que cumplan con el funcionamiento esperado de la base de datos. Ahora
ya estamos preparados para comenzar un anlisis ms profundo de los datos y la organizacin de los
elementos individuales en grupos.
Como premisa fundamental partiremos del propio significado de relacin, que supone el agrupar en una
misma tabla todos los campos de informacin relacionados por su significado.
Para evitar la inconsistencia y duplicidad de datos emplearemos la tcnica de normalizacin para
organizar los campos de datos en cada tabla. Sin entrar a desarrollar la teora que hay detrs de la
normalizacin, usaremos una serie de reglas que pueden aplicarse para determinar si nuestro diseo tiene
sentido.

[Programacin II]

-Diversificado-

Cuando las reglas de clasificacin sean ms y ms restrictivas, diremos que la relacin est en una forma
normal ms elevada. La relacin que est en la forma normal ms elevada posible es que mejor se adapta
a nuestras necesidades debido a que optimiza las condiciones que son de importancia para nosotros:

La cantidad de espacio requerido para almacenar los datos es la menor posible;


La facilidad para actualizar la relacin es la mayor posible;
La explicacin de la base de datos es la ms sencilla posible.

La normalizacin est basada en el concepto de formas normales cada forma normal tiene un conjunto de
reglas que deben ser verificada (1NF, 2NF, 3NF).
Estas formas normales son anidados, es decir que para que una relacin este en 3FN debe haber pasado
por 2FN y esta por la 1FN.
1.1.2.1. FORMAS NORMALES
Una empresa iniciar operaciones y requiere contar con un sistema para llevar el registro de las facturas
que se emitirn por la venta de sus productos. En Ellas se registra la informacin que se presentan a
continuacin.
Ferretera Luz
18 Avenida 10-15, zona 12
Nit. 31313131
Factura No.

12256

Guatemala 29 de Marzo de 2007


Cliente:
Direccin:
Vendedor:
Cantidad Pedida
10
3
2
3

Humberto Coronado
12 calle 5-16 zona 2
Luis Villatoro
Descripcin
Lminas Duralita
Costaneras de metal 9 pies
Galones Pintura Interior
Brochas de 5 pulgadas

Telfono:
Nit:
Turno:

7839-1125
82122578-A
Matutino

Precio Unitario
Q
105.00
Q
200.00
Q
56.00
Q
25.00

Precio Total
Q 1,050.00
Q
600.00
Q
112.00
Q
75.00

Total en Q. Q 1,837.00

1.1.2.1.1. ESTADO INICIAL O CERO FORMA NORMAL (0FN)


Se refiera al estado original en que se encuentran organizados los datos y se procede a crear una tabla de
donde se aalmacena todos los datos, como se muestra a continuacin:

[Programacin II]

1. Se listan todo lo que se cree posible campo de almacenaje, y


en este proceso de crear campos, tiene la particularidad de
que si consideramos crear nuevos campos que se podran
utilizar futuramente, se proceden a crearse, en este caso
observemos que hay campos nuevos que no pertenecen al
documento originalmente, siendo estos: CodCliente,
CodVendedor, CodTurno, CodProducto. Estos campos nos
ayudan a definir ms adelante su verdadero significado.
2. Luego de listar, todos los posibles campos se coloca la llave
primaria simple, tendremos que buscar el campo que ms
domine, en este ejemplo se observa claramente que el
campo que sobresale es NoFactura y se le colocar a un
costado las siglas PK que significa Primary Key, que en
nuestro medio se define como Llave Primaria.
3. Se define a continuacin el nombre de la nueva entidad
creada, siempre tomar en cuenta que de lo que se est
desenvolviendo el tema, as ser el nombre de la entidad.

-Diversificado-

0FN:
Factura
NoFactura
PK 1
FechaFactura
1
CodCliente
1
NombreComCliente
1
TelefonoCliente
1
DireccionCliente
1
NitCliente
1
CodVendedor
1
NombreComVendedor
1
CodTurno
1
DescripcionTurno
1
CantidadPedida
1?
CodProducto
1?
DescripcionProducto
1?
PrecioUnitarioProducto
1?
PrecioTotal
1?
TotalFactura
1

4. Y por ltimo en esta fase se define el grado de ocurrencias


que se tenga cada atributo o campo, tomar en cuenta cuantas veces va a anotar los datos en los
campos, y en donde se anotar mas de uno, esos campos sern ocurrencias definindolo de uno
hacia el infinito.
1FN:
1.1.2.1.2. PRIMERA FORMA NORMAL (1FN)
Factura
NoFactura
PK
En la Base de Datos no deben existir entidades con propiedades que
FechaFactura
tengan varias ocurrencias.
CodCliente
NombreComCliente
Todas aquellas propiedades que formen ocurrencias se deben mover
hacia una entidad nueva, copiando la llave primaria simple de la TelefonoCliente
entidad original, en esta nueva entidad se define una nueva llave para DireccionCliente
NitCliente
formar la llave compuesta.
CodVendedor
1. Como se observa en la siguiente figura, nace una nueva entidad, NombreComVendedor
los campos que tenan varias ocurrencias se movieron hacia esta CodTurno
DescripcionTurno
entidad, y se copi la llave primaria simple de la entidad original.
TotalFactura
2. El campo NoFactura de la nueva entidad se convierte
inmediatamente en fornea, y se busca en la nueva entidad otro
DetalleFactura
campo que cumplan con ser llave primaria, en este ejemplo se NoFactura
PK/FK
nota que el campo que cumple con estos trminos es el campo CantidadPedida
CodProducto, y es as como entonces se forma la llave primaria CodProducto
PK
compuesta.
DescripcionProducto
PrecioUnitarioProducto
3. Se le da un nombre a la nueva entidad, en este caso se coloc un
PrecioTotal
nombre relacionado a la tabla inicial que es Factura, y la parte del
complemento se le llamar entonces DetalleFactura.

[Programacin II]

-Diversificado-

2FN:
1.1.2.1.3. SEGUNDA FORMA NORMAL (2FN)
Se debe encontrar en Primera Forma Normal y todos los campos de
la Entidad Dbil deben depender completamente de la llave
compuesta, y los campos que no dependan de la llave compuesta y
slo pertenecen a una llave, se debe crear una nueva entidad,
moviendo los campos que pertenecen a esa llave.
Esta se aplica solamente en las entidades que posean llaves
compuestas, o sea, en las Entidades Dbiles.
1. Ntese que la nueva entidad extrajo los campos que solo
pertenecan a una llave y se movieron, dejando en la tabla original
los campos que si pertenecen a la llave compuesta.
2. Se define la llave primaria de la nueva entidad, copindola desde
la entidad original. En este caso CodProducto, dicha llave posee
la facultad de ser nica en la tabla, lo que convierte en esta
entidad en una Entidad Fuerte.
3. En DetalleFactura, el campo CodProducto ya no es una llave
primaria, sino se convierte en fornea, porque hace referencia a
otra llave de la nueva entidad.

Factura
NoFactura
PK
FechaFactura
CodCliente
NombreComCliente
TelefonoCliente
DireccionCliente
NitCliente
CodVendedor
NombreComVendedor
CodTurno
DescripcionTurno
TotalFactura
DetalleFactura
NoFactura
PK/FK
CodProducto
PK/FK
CantidadPedida
PrecioTotal

Producto
CodProducto
PK
DescripcionProducto
4. Se define el nombre de la nueva entidad, si observamos todo va
relacionado,
CodPRODUCTO,
DescripcionPRODUCTO, PrecioUnitarioProducto
PrecioUnitarioPRODUCTO, Qu otro nombre pensamos para la nueva entidad?
1.1.2.1.4.TERCERA FORMA NORMAL (3FN):
Debe encontrarse en Segunda Forma Normal y todas las propiedades de la Entidad Fuerte, y todos los
campos deben de depender directamente a la llave prima simple, de lo contrario si hay campos que
pertenecen a otro campo, y ste sin ser llave, deben moverse a una nueva entidad, y se copia el campo
para crearlo como llave en la nueva entidad.
Esto se aplica en las entidades que posean una llave primaria simple, o sea, en las Entidades
Fuertes.

[Programacin II]

-Diversificado-

3FN:
1. Como se puede apreciar en la figura anterior, nacen tres
entidades mas, se examina cada uno de los campos en
las entidades fuertes.
2. Empezando por la Entidad Producto, todos los campos
son relativos a la entidad, luego observemos que la
Entidad Factura, es la otra entidad que posee llave
primaria simple.

Factura
NoFactura
FechaFactura
CodCliente
CodVendedor
TotalFactura

PK
FK
FK

Turno
3. Los campos NombreComCliente, TelefonoCliente,
DireccionCliente, cambian si se cambia el campo
CodCliente, y no al cambiar NoFactura, por lo tanto se
trasladan estos campos hacia la nueva entidad y se copia
el campo que genera dicho cambio, este campo en la
entidad nueva se convertir inmediatamente en la llave
primaria simple, convirtindola en entidad fuerte, se
coloca nombre a la nueva entidad, y Qu otro nombre
en pensar?, mas que en Cliente.
4. Lo mismo suceder con el campo NombreComVendedor
y el CodTurno, que son campos dependientes de
CodVendedor, se mueven para crear una nueva entidad y
se copia el campo CodVendedor, convirtindose en la
llave primaria simple de la nueva entidad, y para finalizar
se le coloca un nombre a la nueva entidad, siendo este
Vendedor.
5. Se presenta un problema CodTurno tiene un campo que
depende de l, y es DescripcionTurno, y el problema es
que al mover CodTurno hacia la entidad Vendedor, se
mueve el campo antes mencionado, se le aplica la
depuracin, siempre de la tercera forma normal a esta
nueva entidad y obtendremos una nueva entidad,
moviendo el campo DescripcionTurno y copiando
CodTurno, para que sea la llave primaria de esta nueva
entidad, nombre de la nueva en este caso: Turno.

CodTurno
DescripcionTurno

PK

DetalleFactura
NoFactura
CodProducto
CantidadPedida
PrecioTotal

PK/FK
PK/FK

Cliente
CodCliente
NombreComCliente
TelefonoCliente
DireccionCliente
NitCliente
Vendedor
CodCliente
NombreComVendedor
CodTurno
Producto
CodProducto
DescripcionProducto
PrecioUnitarioProducto

PK

PK
FK

PK

Y para finalizar con las normalizaciones se observa en la figura anterior, como quedara complementada la
tercera forma normal, se observan cmo se aplicaron las llaves primarias simples, las llaves compuestas,
as como tambin las llaves forneas, con estos datos procedamos a definir
Qu entidades son fuertes y cules son las dbiles?
Las entidades fuertes se definen por tener una sola llave, siendo estas: Producto, Cliente, Turno.
Las entidades dbiles se definen por tener ms de una llave, siendo estas: Factura, DetalleFactura
y Vendedor.
1.1.2.2. DEFINICIN DEL DIAGRAMA ENTIDAD RELACIN
Permiten mostrar los enlaces que existen entre las diferentes entidades visibles de un sistema de
informacin. Y para ello en el Diagrama Entidad Relacin se definen la Cardinalidad, siendo estas:
de uno a uno
(grficamente
).
de uno a muchos
(grficamente
).
de muchos a muchos (grficamente
).

[Programacin II]

-Diversificado-

[Programacin II]

-Diversificado-

1.1.2.2.1. DEFINICIN DE TIPOS DE DATOS


Para crear la base de datos en el computador, es necesario definir los tipos de datos, tamaos y formatos,
para cada una de laos campos que se encuentran en las entidades. Es crtico que aquellos campos con
las que establece las relaciones entre entidades sean del mismo tipo.
Por ejemplo el campo CodCliente de la entidad Cliente que esta identificado como llave primaria simple, se
puede apreciar que los datos a almacenar sern puros nmeros, sin embargo puede existir la salvedad
que se le agregue como una inicial o siglas de algn otro objeto, veamos: Cociente = 1, como tambin
puede ser CodCliente = CC00001.
Los tipos de datos se pueden mencionar los siguientes:

Texto
= Tamao determinado por su longitud.

Numrico
= Formato Entero, Entero Largo, decimal.

Fecha/Hora
= Formatos dd/mm/aaaa (en espaol), mm/dd/yyyy (en ingles),.

Moneda

Lgicos
= (si/no, hombre/mujer, blanco/negro, Falso/Verdadero).

Factura
NoFactura
FechaFactura
CodCliente
CodVendedor
TotalFactura

PK
FK
FK

Turno
CodTurno
DescripcionTurno

PK

DetalleFactura
NoFactura
PK/FK
CodProducto
PK/FK
CantidadPedida
PrecioTotal
Cliente
CodCliente
NombreComCliente
TelefonoCliente
DireccionCliente
NitCliente
Vendedor
CodCliente
NombreComVendedor
CodTurno

PK

PK
FK

Producto
CodProducto
DescripcionProducto
PrecioUnitarioProducto

PK

TIPOS DE DATOS
Nombre de Entidad
Texto
Fech/Hora
Texto
Texto
Numrico

Tamao/Formato
10
dd/mm/aaaa
10
10
Entero Largo

Nombre de Entidad
Texto
Texto

Tamao/Formato
10
15

Nombre de Entidad
Texto
Texto
Numrico
Numrico

Tamao/Formato
10
10
Entero Largo
Entero Largo

Nombre de Entidad
Texto
Texto
Texto
Texto
Texto

Tamao/Formato
10
25
10
50
15

Nombre de Entidad
Texto
Texto
Texto

Tamao/Formato
10
25
10

Nombre de Entidad
Texto
Texto
Numrico

Tamao/Formato
10
10
Entero

[Programacin II]

-Diversificado-

1.1.2.3. BASES DE DATOS EN ACCESS


Microsoft Access es un potente sistema de administracin de Bases de Datos relacionales. Las Bases de
Datos de Access son documentos combinados donde se divide la informacin por parcelas de objetos
especializados. Las bases de datos creadas en Access 2007 tienen la extensin .ACCDB.
As por ejemplo, como elemento primario de informacin se encuentra las tablas. Normalmente, se crea
una tabla para cada tipo de datos de los que componen la Base de Datos. Aunque las tablas se crean
como elementos independientes, pueden crearse relaciones entre distintas tablas para recuperar datos de
todas ellas mediante una consulta, formulario o informe.

1.1.2.3.1. CREAR UNA BASE DE DATOS EN BLANCO


Al momento de iniciar Microsoft Access, encontrara dos maneras de crear una base de datos en blanco,
siendo las siguientes:
1. Seleccione el Botn de Office, esto mostrara el men donde
encontraremos la opcin nuevo.
2. En el rea de trabajo de la ventana de Microsoft Office, seleccione un
icono que indicara la creacin de una base de datos en blanco.
Las dos opciones anteriores mostraran en la parte inferior derecha de la ventana el siguiente cuadro:

** Para crear la base de datos debe indicar un nombre a la base de datos, as mismo como una ubicacin
en el disco. Despus de esto debe presionar el botn Crear.
1.1.2.3.2 ELEMENTOS DE ACCESS 2007

Tablas de datos: Una tabla de datos es un objeto que se define y utiliza para almacenar los
datos. Una tabla contiene informacin sobre un tema o asunto particular, como pueden ser como
hemos visto antes, clientes o pedidos.

[Programacin II]

-Diversificado-

Consultas: Una consulta es un objeto que proporciona una visin personal de los datos
almacenados en las tablas ya creadas. Existen varios tipos de consultas para seleccionar,
actualizar, borrar datos, etc., pero en principio se utilizan para extraer de las tablas los datos que
cumplen ciertas condiciones. Por ejemplo, podramos crear una consulta para obtener todos los
datos de los clientes cuyo cdigo postal sea 502.

Formularios: Un formulario es el objeto de Access 2007 diseado para la introduccin,


visualizacin y modificacin de los datos de las tablas. Existen diferentes tipos de formularios
pero los que ms se utilizan tienen la forma de pestaas de datos para la introduccin por ejemplo
de los diferentes clientes de la tabla CLIENTES.

Informes: Un informe es el objeto de Access 2007 diseado para dar formato, calcular, imprimir y
resumir datos seleccionados de una tabla. Generalmente se utiliza para presentar los datos de
forma impresa.

Pginas: Una pgina de acceso a datos es un tipo especial de pgina Web diseada para ver
datos y trabajar con ellos desde Internet o desde una intranet. Este tema lo trataremos en otro
curso ms avanzado.

Macros: Una macro es el objeto de Access 2007 que define de forma estructurada las acciones
que el usuario desea que Access realice en respuesta a un evento determinado. Por ejemplo,
podramos crear una macro para que abra un informe en respuesta a la eleccin de un elemento
de un formulario.

Mdulos: Un mdulo es el objeto de Access 2007 que contiene procedimientos personales que se
codifican utilizando Visual Basic.

1.1.2.3.3. TABLAS
Se le conoce tambin como Tabla de Datos: una tabla de datos es un objeto que contiene campos
definidos por el usuario, las cuales son utilizados para el almacenamiento de datos. En donde una tabla
contiene informacin sobre un tema o asunto particular, como clientes o pedidos.
1.1.2.3.3.1 CREAR UNA TABLA
Para crear tablas en Microsoft Access, se podr realizar de la
siguiente manera:
1. Al momento de crear una nueva base de datos, se abrir
automticamente una tabla nueva pero en vista de hoja de
datos.
2. Si al contrario abre una base de datos ya existente, tendr que seleccionar la pestaa Crear
seguido del comando Tabla. En el marco Tablas podremos seleccionar estas opciones:

Tabla: Abre la Vista Hoja de datos, consiste en introducir directamente los datos en la tabla y
segn el valor que introduzcamos en la columna determinar el tipo de datos que tiene la
columna.
Vista diseo: es el mtodo que mostrara las herramientas necesarias para definir los campos,
tipos de campos, mascaras, etc.
Plantillas de tabla: Crea una tabla de entre un listado que tiene predefinido, abre una tabla de
este tipo y slo tendrs que rellenarla con sus datos.
Listas de SharePoint: consiste en crear un objeto compatible con un sitio SharePoint desde el
que podrs compartir los datos almacenados en la lista o tabla con otras personas con acceso al
mismo sitio.

[Programacin II]

-Diversificado-

Por defecto, Access abrir una nueva tabla para que pueda empezar a rellenar sus datos, a forma de ver
la tabla se llama vista en hojas de datos.

Debe de tomar en cuenta que al momento de realizar estos dos pasos se


mostrara la tabla en vista de hoja de datos, pero nosotros utilizaremos la
Vista de Diseo.
Para ello luego de realizar cualquiera de los pasos anteriores debemos de
seleccionar el comando Ver ubicado en la parte superior izquierda de la
ventana de Microsoft Access, se mostraran dos opciones, en donde
seleccionaremos Vista de Diseo, esto cambiara la forma de visualizar la
tabla cambiando a la vista de trabajo.
Aparecer la vista de Diseo de la tabla:

En la pestaa tenemos el nombre de la tabla (como todava no hemos asignado un nombre a la tabla,
Access le ha asignado un nombre por defecto Tabla1).
A continuacin tenemos la celda donde definiremos las columnas que componen la tabla, se utiliza una
lnea para cada columna, as en la primera lnea (fila) de la celda definiremos la primera columna de la
tabla y as sucesivamente.
En la parte inferior tenemos a la izquierda dos pestaas (General y Bsqueda) para definir propiedades del
campo es decir caractersticas adicionales de la columna que estamos definiendo.

1.1.2.3.3.2 CREAR UNA TABLA CON DATOS


Para comenzar a crear tablas con datos tomaremos las entidades ya creadas en el proceso de la
normalizacin creada al inicio de esta seccin, tomares como ejemplo la tabla factura, por tener diferentes
tipos de de datos en campos y formatos

[Programacin II]

-Diversificado-

Vamos rellenando la celda definiendo cada una de las columnas que compondr la tabla:
En la primera fila escribir el nombre del primer campo, al pulsar la tecla INTRO pasamos al tipo de datos,
por defecto nos pone Texto como tipo de dato. Si queremos cambiar de tipo de datos, hacer clic sobre la
flecha de la lista desplegable de la derecha y elegir otro tipo.
Observa cmo una vez tengamos algn tipo de dato en la segunda columna, la parte inferior de la
ventana, la correspondiente a Propiedades del campo se activa para poder indicar ms caractersticas del
campo.
A continuacin pulsar la tecla INTRO para ir a la tercera columna de la celda.
Esta tercera columna no es obligatorio utilizarla ya que nicamente sirve para introducir un comentario,
normalmente una descripcin del campo de forma que la persona que tenga que introducir datos en la
tabla sepa qu debe escribir ya que este cometario aparecer en la barra de estado de la hoja de datos.
Repetir el proceso hasta completar la definicin de todos los campos (columnas) de la tabla.

1.1.2.3.3.3 TIPOS DE DATOS EN ACCESS 2007

Texto (Predeterminado): Texto o combinaciones de texto y nmeros, as como nmeros que no


requieran clculos, como los nmeros de telfono. Hasta 255 caracteres o la longitud que indique la
propiedad Tamao del campo (el menor de los dos valores).

Memo: Texto extenso, o combinacin extensa de texto y nmeros. Hasta 63.999 caracteres.

Nmero: Datos numricos utilizados en clculos matemticos.

Fecha/Hora: Valores de fecha y hora para los aos del 100 al 9999.

Moneda: Valores de moneda y datos numricos utilizados en clculos matemticos en los que estn
implicados datos que contengan entre uno y cuatro decimales.

Autonumrico: Nmero secuencial (incrementado de uno a uno) nico, o nmero aleatorio que
Microsoft Access asigna cada vez que se agrega un nuevo registro a una tabla.

[Programacin II]

-Diversificado-

S/No: Valores S y No, y campos que contengan uno de entre dos valores (S/No, Verdadero/Falso o
Activado/desactivado).

Objeto OLE: Objeto (como por ejemplo una hoja de clculo de Microsoft Excel, un documento de
Microsoft Word, grficos, sonidos u otros datos binarios) vinculado o incrustado en una tabla de
Microsoft Access.

Hipervnculo: Texto o combinacin de texto y nmeros almacenada como texto y utilizada como
direccin de hipervnculo

Datos adjuntos: Cualquiera de los tipos de archivos admitidos. Puede adjuntar imgenes, archivos
de hoja de clculo, documentos, grficos y otros tipos de archivos admitidos, a los registros de la
base de datos de forma similar a como adjunta archivos a los mensajes de correo electrnico.

Asistente para bsquedas: Crea un campo que permite elegir un valor de otra tabla o de una lista
de valores mediante un cuadro de lista o un cuadro combinado.

1.1.2.3.3.4 LLAVES PRIMARIAS Y FORANEAS


Antes de guardar la tabla tendremos que asignar una clave principal.
La clave principal proporciona un valor nico para cada fila de la tabla y nos sirve de identificador de
registros de forma que con esta clave podamos saber sin ningn tipo de equivocacin el registro al cual
identifica. No podemos definir ms de una clave principal, pero podemos tener una clave principal
compuesta por ms de un campo.
Para asignar una clave principal a un campo, seguir los siguientes pasos:
Opcin 1:
Hacer clic sobre el nombre del campo que ser clave principal.
Hacer clic sobre el botn Clave principal en el marco Herramientas de la pestaa Diseo.
A la izquierda del nombre del campo aparecer una llave indicndonos que dicho campo es la
clave principal de la tabla.
Opcin 2:

Hacer clic sobre el nombre del campo que ser clave principal.
Seleccionar el comando Clave Principal ubicado en la barra de Herramientas.

Si queremos definir una clave principal compuesta (basada en varios campos), seleccionar los campos
pulsando simultneamente la tecla Ctrl y el campo a seleccionar y una vez seleccionados todos los
campos hacer clic en el botn anterior.

De esta manera se mirara nuestra tabla ya con nombres de campos definidos, tipos de datos y claves
principales y forneas.

[Programacin II]

-Diversificado-

Importante: Recordar que un campo o combinacin de campos que forman la clave principal de una tabla
no puede contener valores nulos y no pueden haber dos filas en la tabla con el mismo valor en el campo/s
clave principal.
1.1.2.3.3.5 GUARDAR UNA TABLA
Para guardar una tabla podemos realizar los siguientes pasos:

Ir al Botn de Office y elegir la opcin Guardar.


Hacer clic derecho sobre la pestaa con el nombre de la tabla y seleccionar Guardar en el men
emergente
O bien hacer clic sobre el botn Guardar de la barra de Acceso Rpido.

Como nuestra tabla an no tiene nombre asignado, aparecer el siguiente cuadro de dilogo: en el
tenemos que escribir el nombre de la tabla, y luego hacer clic sobre el botn Aceptar.
**Nota: Si no hemos asignado clave principal antes de guardar la tabla, nos aparece un cuadro de dilogo
avisndonos de ello, y preguntndonos si queremos que Access cree una, si le decimos que S nos aade
un campo de tipo autonumrico y lo define como clave principal. Si le decimos que No se guarda la tabla
sin clave principal ya que una clave principal en una tabla es conveniente pero no obligatoria.
1.1.2.3.3.6 CERRAR UNA TABLA
Para cerrar una tabla, seguir los siguientes pasos:

Hacer clic derecho sobre la pestaa con el nombre de la tabla y seleccionar


Cerrar en el men emergente.

O bien hacer clic sobre el botn Cerrar que se encuentra en la parte


derecha al mismo nivel que la pestaa.

1.1.2.3.3.6 INTRODUCIR Y MODIFICAR DATOS EN UNA TABLA.


Para introducir datos en una tabla, podemos elegir entre:
Hacer doble clic sobre el nombre de la tabla en el Panel de Exploracin.

Desde el Panel de Exploracin hacer clic derecho sobre la tabla a rellenar y seleccionar la opcin
Abrir en el men contextual.

Si estamos en la vista de Diseo de tabla, hacer clic sobre el botn Vistas de objeto y elegir Vista
Hoja de datos en la pestaa Inicio o diseo.

En los tres casos aparecer la ventana Hoja de datos:

[Programacin II]

-Diversificado-

Para introducir registros a una tabla haremos lo siguiente:

Cada fila nos sirve para introducir un registro.


Escribir el valor del primer campo del registro.
Pulsar INTRO para ir al segundo campo del registro.
Cuando terminamos de introducir todos los campos del primer registro, pulsar INTRO para
introducir los datos del segundo registro.

En el momento en que cambiamos de registro, el registro que estbamos introduciendo se almacenar, no


es necesario guardar los registros de la tabla.
** Para finalizar una tabla hacer clic sobre el botn Cerrar para terminar con dicha tabla.
Si lo que queremos es borrar un registro entero:

Seleccionar el registro a eliminar haciendo clic sobre el cuadro de la izquierda del registro.
El registro quedar seleccionado.
Pulsar la tecla SUPR del teclado
O haz clic en el botn Eliminar que se encuentra en el panel Registros de la
pestaa Inicio.

Si lo que queremos es modificar algn valor introducido no tenemos ms que situarnos sobre el valor a
modificar y volverlo a escribir.
Si queremos cambiar algo de la estructura de la tabla, tenemos que pasar a la Vista Diseo haciendo clic
sobre el botn de Vista de objeto de la pestaa Inicio.
1.1.2.3.3.7 INTRODUCIR Y MODIFICAR DATOS EN UNA TABLA.
Cada campo de una tabla dispone de una serie de
caractersticas que proporcionan un control adicional sobre la
forma de funcionar del campo.
Las propiedades aparecen en la parte inferior izquierda de la
vista Diseo de tabla cuando tenemos un campo seleccionado.
Las propiedades se agrupan en dos pestaas:

La pestaa General donde indicamos las caractersticas


generales del campo
La pestaa Bsqueda en la que podemos definir una
lista de valores vlidos para el campo,

Las propiedades de la pestaa General pueden cambiar para un tipo de dato u otro mientras que las
propiedades de la pestaa Bsqueda cambian segn el tipo de control asociado al campo.

[Programacin II]

-Diversificado-

Hay que tener en cuenta que si se modifican las propiedades de un campo despus de haber introducido
datos en l se pueden perder estos datos introducidos.
A continuacin explicaremos las propiedades de que disponemos segn los diferentes tipos de datos.
TAMAO DEL CAMPO
Para los campos Texto, esta propiedad determina el nmero mximo de caracteres que se pueden
introducir en el campo. Siendo por defecto de 50 caracteres y valor mximo de 255.
Para los campos Numrico, las opciones son: Byte (equivalente a un carcter) para almacenar valores
enteros entre 0 y 255.
Entero: para valores enteros comprendidos entre -32.768 y 32.767.

Entero largo:
para
valores
-2.147.483.648 y 2.147.483.647.

Simple: para la introduccin de valores comprendidos entre


-3,402823E38 y -1,401298E-45 para valores 3negativos, y entre
1,401298E-45 y 3,402823E38 para valores positivos.

Doble: para valores comprendidos entre -1,79769313486231E308 y


-4,94065645841247E-324 para valores negativos, y entre 1,79769313486231E308
4,94065645841247E-324 para valores positivos.

enteros

comprendidos

entre

Id. de rplica: se utiliza para claves autonumricas en bases rplicas.

Decimal: para almacenar valores comprendidos entre -10^38-1 y 10^38-1 (si estamos en una
base de datos .adp) y nmeros entre -10^28-1 y 10^28-1

Los campos Autonumrico son Entero largo. A los dems tipos de datos no se les puede especificar
tamao.
FORMATO DEL CAMPO
Esta propiedad se utiliza para personalizar la forma de presentar los datos en pantalla o en un informe.
Se puede establecer para todos los tipos de datos excepto el Objeto OLE y Autonumrico.
Para los campos Numrico y Moneda, las opciones son:

Nmero general: presenta los nmeros tal como fueron introducidos.

Moneda: presenta los valores introducidos con el separador de millares y el smbolo monetario
asignado en Windows como puede ser .
o Euro: utiliza el formato de moneda, con el smbolo del euro.
o Fijo: presenta los valores sin separador de millares.
o Estndar: presenta los valores con separador de millares.
o Porcentaje: multiplica el valor por 100 y aade el signo de porcentaje (%).
o Cientfico: presenta el nmero con notacin cientfica.

Fecha/Hora: tienen los siguientes formatos:


o Fecha general: si el valor es slo una fecha, no se muestra ninguna hora; si el valor es
slo una hora, no se muestra ninguna fecha. Este valor es una combinacin de los valores
de Fecha Corta y Hora larga: Ejemplos: 3/4/93, 05:34:00 PM y 3/4/93 05:34:00 PM.
o Fecha larga: se visualiza la fecha con el da de la semana y el mes completo. Ejemplo:
Lunes21 de agosto de 2000.

[Programacin II]

o
o

o
o
o

-Diversificado-

Fecha mediana: presenta el mes con los tres primeros caracteres. Ejemplo: 21-Ago-2000.
Fecha corta: se presenta la fecha con dos dgitos para el da, mes y ao. Ejemplo:
01/08/00. El formato Fecha corta asume que las fechas comprendidas entre el 1/1/00 y el
31/12/29 son fechas comprendidas entre los aos 2000 y el 2029 y las fechas
comprendidas entre el 1/1/30 y el 31/12/99 pertenecen al intervalo de aos entre 1930 y
1999.
Hora larga: presenta la hora con el formato normal. Ejemplo: 17:35:20.
Hora mediana: presenta la hora con formato PM o AM. Ejemplo: 5:35 PM.
Hora corta: presenta la hora sin los segundos. Ejemplo: 17:35.

Los campos S/No: disponen de los formatos predefinidos S/No, Verdadero/Falso y


Activado/Desactivado. S, Verdadero y Activado son equivalentes entre s, al igual que lo son No,
Falso y Desactivado.

Nota: El control predeterminado para un dato S/No es la casilla de verificacin por lo que en la vista Hoja
de Datos los datos de este tipo aparecen como una casilla de verificacin y no se ve el efecto de la
propiedad formato. Si queremos ver el efecto tenemos que cambiar el control predeterminado en la
pestaa Bsqueda de las propiedades del campo, en la propiedad Mostrar control elegir el Cuadro de
texto como te mostramos a continuacin.

Los campos Texto y Memo no disponen de formatos predefinidos, para los campos Texto se tendran que
crear formatos personalizados.
LUGARES DECIMALES
Esta propiedad nos permite indicar el nmero de decimales que queremos asignar a un tipo de dato
Nmero o Moneda.
MSCARA DE ENTRADA
Una mscara de entrada es un formato que asignamos para la introduccin de valores en el campo. Al
igual que con el formato se pueden generar mscaras de entrada de forma automtica mediante el
generador correspondiente o bien podemos definir nuestras propias mscaras de entrada.
La propiedad Mscara de entrada puede contener hasta tres secciones separadas por signos de punto y
coma (;).

Especifica la mscara de entrada propiamente dicha, por ejemplo !(999) 999-9999. Para ver una lista
de los caracteres que puedes utilizar para definir la mscara de entrada, mira la tabla que aparece a
continuacin.

Especifica si Access 2007 almacena los caracteres de visualizacin literales en la tabla al introducir
datos. Si utilizas 0 para esta seccin, todos los caracteres de visualizacin literales (por ejemplo, el
parntesis de una mscara de entrada de un nmero de telfono) se almacenan con el valor; si
introduces 1 o dejas esta seccin en blanco, slo se almacenan los caracteres introducidos en el
control.

Especifica el carcter que Access 2007 muestra para el espacio en el que el usuario debe escribir un
carcter en la mscara de entrada. Para esta seccin puedes utilizar cualquier carcter; para mostrar
una cadena en blanco, utiliza un espacio entre comillas (" ").
TTULO

[Programacin II]

-Diversificado-

Se utiliza esta propiedad para indicar cmo queremos que se visualice la cabecera del campo. Por
ejemplo, si un campo se llama Fnac e indicamos Fecha de nacimiento como valor en la propiedad Ttulo,
en la cabecera del campo Fnac veremos Fecha de nacimiento.
VALOR PREDETERMINADO
El valor predeterminado es el valor que se almacenar automticamente en el campo si no introducimos
ningn valor. Se suele emplear cuando se sabe que un determinado campo va a tener la mayora de las
veces el mismo valor, se utiliza esta propiedad para indicar o especificar cul va a ser ese valor y as que
se introduzca automticamente en el campo a la hora de introducir los datos de la tabla.
Por ejemplo si tenemos la tabla Clientes con el campo Provincia y la mayora de clientes son de la
provincia Valencia, se puede introducir ese valor en la propiedad Valor predeterminado del campo
Provincia y as a la hora de introducir los diferentes clientes, automticamente aparecer el valor Valencia
y no lo tendremos que teclear. Se puede utilizar esta propiedad para todos los tipos de datos excepto el
Objeto OLE y el Autonumrico.
REGLA DE VALIDACIN
Esta propiedad nos permite controlar la entrada de datos segn el criterio que se especifique. Hay que
escribir el criterio que debe cumplir el valor introducido en el campo para que sea introducido
correctamente.
Por ejemplo si queremos que un valor introducido est comprendido entre 100 y 2000, se puede
especificar en esta propiedad >=100 Y <=2000. Para formar la condicin puedes utilizar el generador de
expresiones. Se puede utilizar esta propiedad para todos los tipos de datos excepto el Objeto OLE y el
Autonumrico.
Para ayudarnos a escribir la regla de validacin tenemos el generador de expresiones que se abre al
hacer clic sobre el botn que aparece a la derecha de la propiedad cuando hacemos clic en ella.
TEXTO DE VALIDACIN
En esta propiedad escribiremos el texto que queremos nos aparezca en pantalla si introducimos en un
campo un valor que no cumple la regla de validacin especificada en la propiedad anterior.
Debe ser un mensaje para que la persona que se equivoque a la hora de introducir los datos, sepa el
porqu de su error y pueda solucionarlo. Se puede utilizar esta propiedad para todos los tipos de datos
excepto el Objeto OLE y el Autonumrico.
REQUERIDO
Si queremos que un campo se rellene obligatoriamente tendremos que asignar a esta propiedad el valor
S, en caso contrario el valor ser el de No. Se puede utilizar esta propiedad para todos los tipos de datos
excepto el Objeto OLE y el Autonumrico.
PERMITIR LONGITUD CERO
Los campos Memo y Texto cuentan con esta propiedad para controlar que no se puedan introducir valores
de cadena que no contengan caracteres o estn vacos.
INDEXADO
Se utiliza esta propiedad para establecer un ndice de un solo campo. Los ndices hacen que las consultas
basadas en los campos indexados sean ms rpidas, y tambin aceleran las operaciones de ordenacin y
agrupacin.
Por ejemplo, si buscas empleados basndose en un campo llamado Apellidos, puedes crear un ndice
sobre este campo para hacer ms rpida la bsqueda.
Esta propiedad dispone de tres valores:

[Programacin II]

-Diversificado-

No: Sin ndice.


S (con duplicados): Cuando se asigna un ndice al campo y adems admite valores duplicados
(dos filas con el mismo valor en el campo).
S (sin duplicados): Cuando se asigna un ndice pero sin admitir valores duplicados.

1.1.2.3.4. RELACIONAR TABLAS


Ahora veremos cmo relacionar tablas y los diferentes tipos de relaciones que pueden existir entre dos
tablas de una base de datos.
Para poder relacionar tablas entre s se deber especificar un campo en comn que contenga el mismo
valor en las dos tablas y dicho campo ser clave principal en una de ellas. Las tablas se relacionan de dos
a dos, donde una de ellas ser la tabla principal (de la que parte relacin) y la otra ser la tabla
secundaria (destino de la relacin).
1.1.2.3.4.1 CREAR RELACIONES
Para crear relaciones en Access 2007 primero deberemos acceder a la ventana Relaciones, deberemos
hacer clic en el botn Relaciones que se encuentra en la pestaa Herramientas de base de datos.

Aparecer el cuadro de dilogo Mostrar tabla de la derecha esperando indicarle las tablas que formarn
parte de la relacin a crear.

Seleccionar una de las tablas que pertenecen a la relacin haciendo clic sobre ella, aparecer
dicha tabla remarcada.

Hacer clic sobre el botn Agregar.

Repetir los dos pasos anteriores hasta aadir todas las tablas de las relaciones a crear.

Hacer clic sobre el botn Cerrar.

Ahora aparecer la ventana Relaciones con las tablas aadidas en el paso anterior.

[Programacin II]

-Diversificado-

Ahora insertada las tablas a relaciones procederemos a crear la relacin, para lo cual haremos lo
siguiente:

Ir sobre el campo de relacin de la tabla principal (en nuestro caso codCliente de la tabla Cliente).
Pulsar el botn izquierdo del ratn y mantenindolo pulsado arrastrar hasta el campo CodCliente
de la tabla secundaria Factura.
Soltar el botn del ratn.

Aparecer el cuadro de dilogo Modificar relaciones siguientes:

En la parte superior deben estar los nombres de las dos tablas relacionadas (Cliente y Factura) y debajo
de stos el nombre de los campos de relacin (CodCliente).
**Siempre deben ser campos que contengan el mismo tipo de informacin y por lo tanto del mismo tipo.
Observa en la parte inferior el Tipo de relacin que se asignar dependiendo de las caractersticas de los
campos de relacin (en nuestro caso uno a varios).
Activar el recuadro Exigir integridad referencial haciendo clic sobre ste. Si se desea, se puede activar las
casillas Actualizar en cascada los campos relacionados y Eliminar en cascada los registros relacionados.
INTEGRIDAD REFERENCIAL
La integridad referencial es un sistema de reglas que utiliza Access 2007 para asegurarse que las
relaciones entre registros de tablas relacionadas son vlidas y que no se borren o cambien datos
relacionados de forma accidental.
Al exigir integridad referencial en una relacin le estamos diciendo a Access 2007 que no nos deje
introducir datos en la tabla secundaria si previamente no se ha introducido el registro relacionado en la
tabla principal.
La integridad referencial dispone de dos acciones asociadas:

Actualizar en cascada los campos relacionados: Hace que cuando se cambie el valor del
campo de la tabla principal, automticamente cambiarn los valores de sus registros relacionados
en la tabla secundaria.

Eliminar en cascada los registros relacionados: Cuando se elimina un registro de la tabla


principal se borrarn tambin los registros relacionados en la tabla secundaria.

[Programacin II]

-Diversificado-

1.1.2.3.4.2 ELIMINAR RELACIONES


Si lo que queremos es borrar la relacin podemos:
Hacer clic con el botn derecho sobre la relacin a borrar y elegir la opcin Eliminar del men
contextual.

O tambin puedes hacer clic con el botn izquierdo sobre la relacin, la relacin quedar
seleccionada, y a continuacin pulsar la tecla DEL o SUPR.

La relacin queda eliminada de la ventana y de la base de datos.

ACTIVIDAD INDICADOR 1.1.2.


Instrucciones: Aplicando los pasos para crear tablas proceda a realizar las tablas
que se le solicitan a continuacin.
Las habilidades que se deben demostrar en este nivel son: El estudiante selecciona,
transfiere, y utiliza datos y principios para completar una tarea o solucionar un
problema.
Qu hace el estudiante?
Recuerda y reconoce informacin e ideas adems de principios aproximadamente en misma forma en que
los aprendi.

1. Proceda a crear una base de datos


con el nombre Clnica
2. Proceda a crear una tabla con el
nombre Paciente con las siguientes
descripciones:
3.
4. Nombre del campoTipo de dato
5.
Cdigo Paciente
Numrico
6.
Nombre Paciente
Texto
7.
Apellidos Paciente
Texto
8.
Direccin
Texto
9.
Poblacin
Texto
10.
Cdigo postal
Numrico
11.
Provincia
Texto
12.
Telfono Paciente
Texto
13.
Fecha nacimiento
Fecha/Hora
14.
15. Defina como clave principal cdigo
paciente.
16. Crear otra tabla con el nombre de
Mdicos con los siguientes campos:

17.
18.Nombre del campoTipo de dato
19.
Cdigo Medico
Texto
20.
Nombre Medico
Texto
21.
Apellidos Medico
Texto
22.
Telfono Medico
Texto
23.
Especialidad
Texto
24. Defina como clave principal Cdigo
Medico.
25. Crear otra tabla con el nombre de
Ingresos con los siguientes campos:
26.
27.Nombre del campoTipo de dato
28.
N ingreso
Auto
numrico
29.
Habitacin
Numrica
30.
Cama
Texto
31.
Fecha ingreso
Fecha/Hora
32. Defina como clave principal N
ingreso
33. Ingrese 5 registros por cada tabla

34.

35.

INDICADOR 1.1.3

36. Crea las consultas, formularios e informes de una base


de datos, de los procesos normalizados de una actividad
comercial.
37.

38.

39.

1.1.3. CONSULTAS, FORMULARIOS E INFORMES

40. 1.1.3.1. CONSULTAS


41.
42. Las consultas son los objetos de una base de datos que permiten recuperar datos de una tabla,
modificarlos e incluso almacenar el resultado en otra tabla.
43.
44. Existen varios tipos de consultas:
45.
Consultas de seleccin: Son las consultas que extraen o nos muestran datos. Muestran aquellos
datos de una tabla que cumplen los criterios especificados. Una vez obtenido el resultado
podremos consultar los datos para modificarlos (esto se podr hacer o no segn la consulta).
46.
47. Una consulta de seleccin genera una tabla lgica (se llama lgica porque no est fsicamente en
el disco duro sino en la memoria del ordenador y cada vez que se abre se vuelve a calcular).
48.
Consultas de accin: Son consultas que realizan cambios a los registros. Existen varios tipos de
consultas de accin, de eliminacin, de actualizacin, de datos anexados y de creacin de tablas.
49.
Consultas especficas de SQL: Son consultas que no se pueden definir desde la cuadrcula QBE
de Access sino que se tienen que definir directamente en SQL.
50.
51.
52.
53.
54.

55.

56.

1.1.3.1.1 CREAR CONSULTAS


Para crear una consulta, seguir los siguientes pasos:
Abrir la base de datos donde se encuentra la consulta a crear.
Hacer clic en el botn Diseo de Consulta en la pestaa Crear.

57.
58.
59. 1.1.3.1.2. VISTA DISEO DE UNA CONSULTA
60.
61. Siguiendo los pasos anteriores para crear una consulta, se observara que existe un asistente para
crear consultas y la vista de diseo, en este caso utilizaremos la vista de diseo, donde nos
permitir generar las consultas seleccionando nosotros mismos las tablas y campos a utilizar.

62.

63.
64.
65. Si observas la imagen, en la parte superior tenemos la zona de tablas donde aparecen las tablas
aadidas con sus correspondientes campos, y en la parte inferior denominada cuadrcula QBE
donde definimos la consulta.
66.
67. Cada columna de la cuadrcula QBE corresponde a un campo.
68.
69. Cada fila tiene un propsito que detallamos brevemente a continuacin:

Campo: ah ponemos el campo a utilizar que en la mayora de los casos ser el campo a
visualizar, puede ser el nombre de un campo de la tabla y tambin puede ser un campo calculado.

70.
Tabla: nombre de la tabla de la que sacamos el campo. Nos ser til cuando definamos consultas
basadas en varias tablas.
71.
Orden: sirve para ordenar las filas del resultado.
72.
Mostrar: si la casilla de verificacin aparece desactivada la columna no aparecer en el resultado,
se suele desactivar cuando queremos utilizar el campo para definir la consulta pero no queremos
que aparezca en el resultado.
73.
74. Por ejemplo si queremos que la consulta nos saque todos los alumnos de Chimaltenango,
necesitamos el campo Departamento para seleccionar los alumnos pero no queremos que
aparezca el Departamento en el resultado ya que todos son del mismo departamento.
75.
Criterios: sirve para especificar un criterio de bsqueda. Un criterio de bsqueda es una condicin
que deben cumplir los registros que aparecern en el resultado de la consulta.
76.
Por lo tanto est formado por una condicin o varias condiciones unidas por los operadores Y
(AND) y O (OR).O: esta fila y las siguientes se utilizan para combinar condiciones.
77.

78. 1.1.3.1.1.1 AADIR CAMPOS A UNA CONSULTA


79. Para aadir campos a la cuadrcula podemos:
80.
Hacer doble clic sobre el nombre del campo que aparece en la zona de tablas, este se colocar en
la primera columna libre de la cuadrcula.
81.
Hacer clic sobre el nombre del campo que aparece en la zona de tablas y sin soltar el botn del
ratn arrastrar el campo sobre la cuadrcula, soltar el botn cuando estemos sobre la columna
delante de la cual queremos dejar el campo que estamos aadiendo.
82.
Hacer clic sobre la fila Campo: de una columna vaca de la rejilla, aparecer a la derecha la flecha
para desplegar la lista de todos los campos de todas las tablas que aparecen en la zona de tablas.
Si tenemos muchos campos y varias tablas podemos reducir la lista seleccionando primero una
tabla en la fila Tabla: as en la lista desplegable slo aparecern campos de la tabla seleccionada.
83.
Tambin podemos teclear directamente el nombre del campo en la fila Campo: de una
columna vaca de la cuadrcula.
84.
85. Si queremos que todos los campos de la tabla aparezcan en el resultado de la consulta podemos
utilizar el asterisco * (sinnimo de 'todos los campos').
86.
87.
88.
89.
90.

91.

1.1.3.1.3 GUARDAR UNA CONSULTA


Para guardar una consulta podemos realizar los siguientes pasos:
Haciendo clic sobre el botn Guardar de la barra de Acceso Rpido, o bien,
Seleccionando la opcin Guardar del Botn de Office. Si es la primera vez que guardamos la
consulta aparecer el cuadro de dilogo para darle un nombre.

92.

93.

94.
Se puede poner cualquier nombre excepto el de una tabla ya creada. A continuacin hacer clic
sobre el botn Aceptar.

95.
96. 1.1.3.1.4 EJECUTAR UNA CONSULTA
97.
98. Podemos ejecutar una consulta desde la ventana Diseo de consulta o bien desde el Panel de
Exploracin.
99.
100.
Desde el Panel de Exploracin:
Haciendo doble clic sobre su nombre.
101.
102.
Desde la vista diseo de la consulta:
Haciendo clic sobre el botn Ejecutar de la pestaa Diseo:
103.

104.
Cuando estamos visualizando el resultado de una consulta, lo que vemos realmente es la
parte de la tabla que cumple los criterios especificados, por lo tanto si modificamos algn dato de
los que aparecen en la consulta estaremos modificando el dato en la tabla (excepto algunas
consultas que no permiten esas modificaciones).
105.
1.1.3.2. FORMULARIOS.
106.
107.
Los formularios sirven para definir pantallas generalmente para editar los registros de una
tabla o consulta. Ahora veremos cmo crear un formulario, manejarlo para la edicin de registros y
cambiar su diseo.
108.
109.
Para crear un formulario tenemos varias opciones. Accederemos a todas ellas desde la
pestaa Crear:
110.

111.
112.
Diseo del formulario: abre un formulario en blanco en la vista diseo y tenemos que ir
incorporando los distintos objetos que queremos aparezca en l. Este mtodo no se suele utilizar
ya que en la mayora de los casos es ms cmodo y rpido crear un autoformulario o utilizar el
asistente y despus sobre el formulario creado modificar el diseo para ajustar el formulario a
nuestras necesidades.
Asistente para formularios: utiliza un asistente que nos va guiando paso por paso en la
creacin del formulario.
Formulario: consiste en crear automticamente un nuevo formulario que contiene todos los datos
de la tabla o consulta seleccionada en el Panel de Exploracin.
113.
114.

1.1.3.2.1 CREAR UN FORMULARIO.

115.
1.1.3.2.1.1 ASISTENTE DE FORMULARIO
116.
117.
Para arrancar el asistente para formularios haz clic en la opcin Asistente para formularios
y aparece la primera ventana del asistente:
118.

119.
120.

121.
En esta ventana nos pide introducir los campos a incluir en el formulario.
122.
123.
Primero seleccionamos la tabla o consulta de donde coger los datos del cuadro
Tablas/Consultas, este ser el origen del formulario. Si queremos sacar datos de varias tablas lo
mejor ser crear una consulta para obtener esos datos y luego elegir como origen del formulario
esa consulta.
124.
125.
A continuacin seleccionamos los campos a incluir en el formulario haciendo clic sobre el
campo y clic sobre los botones de control que son representados con flechas o simplemente doble
clic sobre el campo.
126.
127.
Una vez seleccionada la distribucin que nos interesa pulsamos el botn Siguiente y
aparece la siguiente pantalla:

128.
129.
130.
En esta pantalla elegimos la distribucin de los datos dentro del formulario. Seleccionando
un formato aparece en el dibujo de la izquierda el aspecto que tendr el formulario con esa
distribucin. Seleccionaremos uno y luego clic en siguiente.
131.

132.
133.
134.
En esta pantalla elegimos el estilo que queremos dar al formulario, podemos elegir entre
los estilos que tiene definidos Access. Seleccionando un estilo aparece en el dibujo de la izquierda
el aspecto que tendr el formulario con ese estilo.

135.
Una vez seleccionado el estilo que nos interesa pulsamos el botn Siguiente y aparece la
ltima pantalla del asistente para formularios:
136.

137.
138.
139.
En esta ventana el asistente nos pregunta el ttulo del formulario, este ttulo tambin ser
el nombre asignado al formulario.
140.
141.
Antes de pulsar el botn Finalizar podemos elegir entre:
142.
Abrir el formulario para ver o introducir informacin en este caso veremos el resultado del
formulario preparado para la edicin de registros, por ejemplo:

143.
Modificar el diseo del formulario, si seleccionamos esta opcin aparecer la vista Diseo de
formulario donde podremos modificar el aspecto del formulario, por ejemplo:
144.

145.
146.
EDITAR DATOS DE UN FORMULARIO
147.
Para editar datos de una tabla utilizando un formulario, debemos abrir el formulario
posicionndonos en l en el Panel de Exploracin, hacer clic derecho y seleccionar la opcin abrir
en el men contextual. O simplemente hacer doble clic sobre el nombre del formulario.
148.
149.
Aparecern los datos del origen del formulario con el aspecto definido en el formulario (la
vista Formulario). Podemos a continuacin buscar datos, reemplazar valores, modificarlos como si
estuviramos en la vista Hoja de datos de una tabla, desplazarnos a lo largo de la tabla utilizando
la barra de desplazamiento por los registros que ya conocemos, lo nico que cambia es el aspecto
de la pantalla.
150.
151.
152.
153.
1.1.3.2.1.1 VISTA DE DISEO DE FORMULARIO
154.
155.
La vista diseo es la que nos permite definir el formulario, en ella le indicamos a Access
cmo debe presentar los datos del origen del formulario, para ello nos servimos de los controles
que veremos ms adelante.
156.
157.
Para entrar en la vista diseo debemos buscar el formulario en el Panel de Exploracin y
hacer clic derecho sobre l para seleccionar la opcin en el men contextual. Nos aparece la
ventana Diseo de formulario:
158.

159.
160.
161.
El rea de diseo consta de tres secciones:
162.
La seccin Encabezado de formulario, en ella ponemos lo que queremos que aparezca al principio
del formulario.
163.
La seccin Detalle, en ella aparecern los registros del origen del formulario, o varios registros uno
slo por pantalla segn el tipo de formulario. Aunque se visualicen varios registros en una pantalla,
debemos indicar en la seccin Detalle el diseo correspondiente a un slo registro.
164.
La seccin Pie de formulario, en ella ponemos lo que queremos aparezca al final de formulario.
165.
166.
Podemos mostrar u ocultar el encabezado o el pie haciendo clic en el botn
Encabezado o Pie del formulario de la pestaa Organizar:
167.
168.
Alrededor del rea de diseo tenemos unas reglas que nos permiten medir las
distancias y los controles, tambin disponemos de una cuadrcula que nos ayuda a
colocar los controles dentro del rea de diseo. Para ver u ocultar las reglas o la
cuadrcula tenemos las opciones Regla y Cuadrcula respectivamente, que puedes ver en la
imagen anterior.
169.
170.
LA PESTAA DISEO DE FORMULARIO
171.
Ahora veremos las opciones ms interesantes de la pestaa de Diseo que aparece
cuando entramos en la Vista Diseo del formulario.
172.
173.

174.
175.
El primer botn que vemos es uno de los ms tiles cuando trabajamos con formularios,
permite pasar de una vista a otra
176.

177.
Si lo desplegamos podemos elegir entre Vista Diseo la que estamos describiendo ahora y
la Vista Formulario que nos presenta los datos del origen del formulario tal como lo tenemos
definido en la vista diseo.
178.
Access 2007 introduce la Vista Presentacin que nos permite trabajar casi del mismo
modo en que lo hacemos con la Vista de Diseo pero con las ventajas de la Vista Formulario, pues
nos muestra a tiempo real los datos del formulario para que nos hagamos una idea aproximada de
cmo ser su aspecto final.
179.
180.
Tambin podremos acceder a las vistas Tabla dinmica, Hoja de datos y Grfico dinmico,
que ya hemos comentado, si previamente lo permitimos en las propiedades del formulario.
181.
182.
En la seccin Herramientas podrs encontrar el botn Agregar campos existentes, que
hace aparecer y desaparecer el cuadro Lista de campos en el que aparecen todos los campos del
origen de datos para que sea ms cmodo aadirlos en el rea de diseo como veremos ms
adelante.
183.
184.
En la parte central puedes ver la seccin Controles y campos en el que aparecen todos los
tipos de controles para que sea ms cmodo aadirlos en el rea de diseo como veremos ms
adelante.
185.
186.
Todo formulario tiene asociada una pgina de cdigo en la que podemos programar ciertas
acciones utilizando el lenguaje VBA (Visual Basic para Aplicaciones).
187.
1.1.3.2.2. AGREGAR UN CAMPO O UN CONTROL
188.
189.
LA SECCIN CONTROLES Y CAMPOS
190.
Para definir qu informacin debe aparecer en el formulario y con qu formato, se utilizan
lo que llamamos controles.
191.
192.
Un control no es ms que un objeto que muestra datos, realiza acciones o se utiliza como
decoracin. Por ejemplo, podemos utilizar un cuadro de texto para mostrar datos, un botn de
comando para abrir otro formulario o informe, o una lnea o un rectngulo para separar y agrupar
controles con el fin de hacerlos ms legibles.
193.
194.
En el panel Controles y campos de la pestaa Diseo tenemos un botn por cada tipo de
controles que se pueden aadir al formulario.
195.
196.

197.
198.
199.
Cuando queremos crear varios controles del mismo tipo podemos bloquear el control
haciendo doble clic sobre l (aparecer rodeado de una lnea ms oscura), a partir de ese
momento se podrn crear todos los controles que queramos de este tipo sin necesidad de hacer
clic sobre el botn correspondiente cada vez. Para quitar el bloqueo hacemos clic sobre el botn
representado por un puntero.
200.
201.
El botn
activar o desactivar la Ayuda a los controles. Si lo tenemos activado (como
en la imagen) al crear determinado tipo de controles se abrir un asistente para crearlos.
202.
203.
El resto de la seccin se compone de los siguientes tipos de controles, para ello
utilizaremos el puntero y lo colocaremos encima de cada comando para ir viendo su nombre:

204.
Etiqueta sirve para visualizar un texto fijo, texto que escribiremos directamente dentro del control
o en su propiedad Ttulo.
205.
Cuadro de texto se utiliza mayoritariamente para presentar un dato almacenado en un campo del
origen del formulario. Este tipo de cuadro de texto se llama un cuadro de texto dependiente porque
depende de los datos de un campo y si modificamos el contenido del cuadro en la vista Formulario
estaremos cambiando el dato en el origen. Los cuadros de texto tambin pueden ser
independientes, por ejemplo para presentar los resultados de un clculo, o para aceptar la entrada
de datos de un usuario. Los datos de un cuadro de texto independiente no se guardan en ningn
sitio. En la propiedad Origen del control tenemos el nombre del campo de la tabla al que est
asociado (cuando es un dependiente) o una frmula de clculo cuando queremos que nos
presente el resultado de ese clculo, en este ltimo caso hay que preceder la frmula por el signo
de igualdad =.
206.
Cuadro combinado: En muchos casos, es ms rpido y fcil seleccionar un valor de una lista que
recordar un valor para teclearlo. Una lista de posibilidades ayuda tambin a asegurar que el valor
que se ha introducido en el campo es correcto. Si no disponemos de suficiente espacio en el
formulario para mostrar la lista en todo momento se utiliza un cuadro combinado, ya que el cuadro
combinado muestra un slo valor (el almacenado en el campo asociado al control) y si queremos
ver la lista, la desplegamos con la flecha que tiene a la derecha. Cuando aadimos un cuadro
combinado al rea de diseo, se abre el asistente que nos ayuda a definir el control.
207.
Cuadro de lista: A diferencia del cuadro combinado en el cuadro de lista la lista de valores
aparece desplegada en todo momento. Al igual que los cuadros combinados un cuadro de lista
puede tener una o ms columnas, que pueden aparecer con o sin encabezados. Cuando
aadimos un cuadro de lista al rea de diseo, se abre el asistente que nos ayuda a definir el
control.
208.
Grupo de opciones: Se utiliza para presentar un conjunto limitado de alternativas. Un grupo de
opciones hace fcil seleccionar un valor, ya que el usuario slo tiene que hacer clic en el valor que
desee. Slo se puede seleccionar una opcin del grupo a la vez. Las opciones deben ser pocas
sino es mejor utilizar un cuadro de lista, o un cuadro combinado en vez de un grupo de opciones.
209.
210.
Un grupo de opciones consta de un marco de grupo as como de un conjunto de casillas
de verificacin, botones de opcin y botones de alternar. Cuando insertamos en el formulario un
grupo de opciones, se abre el asistente que nos ayuda a definir el grupo de opciones.
211.
Botn de opcin: se suele utilizar para aadir una nueva opcin a un grupo de opciones ya
creado, o para presentar un campo de tipo S/No.
212.
Casilla de verificacin: se suele utilizar para aadir una nueva opcin a un grupo de opciones ya
creado, o para presentar un campo de tipo S/No.
213.
Botn de alternar: se suele utilizar para aadir una nueva opcin a un grupo de opciones ya
creado, tambin se puede utilizar para presentar un campo de tipo S/No.
214.
Botn de comando: Un botn de comando permite ejecutar una accin con un simple clic, por
ejemplo abrir otro formulario, borrar el registro, ejecutar una macro, etc. Al hacer clic en el botn,
no slo se ejecutar la accin correspondiente, sino que tambin parecer que se presiona y se
suelta el botn. Tambin tiene un asistente asociado que permite crear botones para realizar ms
de treinta acciones predefinidas distintas.
215.
Control pestaa: se utiliza cuando queremos presentar para cada registro del origen muchos
campos que no caben en una sola pantalla y queremos organizarlos en varias pestaas.

Control imagen: para insertar imgenes en el formulario, esta imagen no variar al cambiar de
registro.
216.
Marco de objeto independiente: para insertar controles como un archivo de sonido, un
documento Word, un grfico, etc. Sern controles que no variarn al cambiar de registro.
217.
Marco de objeto dependiente: para insertar una imagen u otro objeto que cambia de un registro
a otro.
218.
Salto de pgina: el salto de pgina no tiene efecto en la vista Formulario pero s en la vista
Preliminar y a la hora de imprimir.
219.
Lnea: para aadir una lnea en el formulario.
220.
Rectngulo: para aadir un rectngulo al formulario.
221.
222.
Para seleccionar un control basta hacer clic sobre l. Cuando un control est seleccionado
aparece rodeado de cuadrados que llamaremos controladores de movimiento (los ms grandes) y
controladores de tamao (los ms pequeos) como vemos en la siguiente imagen:
223.

224.
225.
226.
A veces puede resultar un poco complicado seleccionar controles porque,
o bien son demasiado pequeos o finos (como en el caso de las lneas), o porque
se encuentran solapados. En estos casos es muy til utilizar la lista desplegable
de seleccin de controles que se encuentra en la parte superior de la Hoja de
Propiedades que puedes mostrar haciendo clic en el botn Hoja de Propiedades
en la pestaa Diseo.
227.
228.
Seleccionar un control de esta forma es muy sencillo, solo tienes que desplegar la lista y
seleccionar el control que te interesa. Para seleccionar varios controles hacer clic sobre uno de los
controles a seleccionar, mantener pulsada la tecla Shift y hacer clic en cada uno de los controles a
seleccionar.
229.
230.
231.
232.

233.
1.1.3.2.3. CREAR UN FORMULARIO CON VARIAS PGINAS O FICHAS
234.
235.
Cuando tenemos una gran cantidad de informacin que presentar, se suele organizar esa
informacin en varias pestaas para no recargar demasiado las pantallas. Para ello utilizaremos el
control Pestaa:
236.
237.
238.
239.
Un control Pestaa es un contenedor que contiene una coleccin de objetos Pgina. De
esta forma cuando el usuario elige una pgina, sta se vuelve Activa y los controles que contiene
susceptibles de cambios.
240.
241.
Al tratarse de elementos independientes deberemos tratar cada pgina individualmente.
Una vez insertado el control Pestaa deberemos hacer clic sobre el ttulo de una de las Pginas

para modificar sus propiedades. El ttulo de la pgina se podr modificar a travs de la propiedad
Nombre.
242.
243.
Para insertar elementos dentro de una pgina deberemos crearlo dentro de ella. Una vez
hayas seleccionado en el Cuadro de herramientas el control que quieres insertar, solamente
debers colocar el cursor sobre la pgina hasta que quede sombreada y entonces dibujar el
control:
244.

245.
246.
247.
Cuando termines slo tendrs que cambiar de pgina haciendo clic sobre su ttulo y
rellenarla del mismo modo.
248.
249.
Es posible aadir nuevas Pginas o eliminarlas, para ello slo tienes que hacer clic
derecho sobre el control Pestaa y seleccionar Insertar pgina para aadir una nueva pgina o
hacer clic en Eliminar pgina para eliminar la pgina activa.
250.
251.
Si tienes ms de una pgina incluida en el control Pestaa debers utilizar la opcin Orden
de las pginas... en el men contextual para cambiar su disposicin. Aparecer el siguiente cuadro
de dilogo:
252.

253.
254.
255.
Utiliza los botones Subir y Hacia abajo para cambiar el orden y disposicin de la pgina
seleccionada de modo que la que se encuentra en la parte superior de la lista estar situada ms
a la izquierda y, al contrario, la que se encuentre en la parte inferior estar situada ms hacia la
derecha.
256.
257.
Cuando hayas terminado pulsa el botn Aceptar y podrs ver el control Pestaa con las
Pginas ordenadas.
258.
259.
Cmbiese a la vista Formulario si desea probar el control ficha.
260.
1.1.3.3. INFORMES
261.
262.
Los informes sirven para presentar los datos de una tabla o consulta generalmente para
imprimirlos. La diferencia bsica con los formularios es que los datos que aparecen en el informe
slo se pueden visualizar o imprimir (no se puede modificar) y en los informes se puede agrupar
ms fcilmente la informacin y sacar totales por grupos.

263.
264.
Ahora veremos cmo crear un informe utilizando el asistente y cmo cambiar su diseo
una vez creado.
265.
266.
Para crear un informe podemos utilizar a seccin Informes que encontrars en la pestaa
Crear:
267.

268.
269.
Diseo de informe: abre un informe en blanco en la vista diseo y tenemos que ir incorporando
los distintos objetos que queremos aparezca en l. Este mtodo no se suele utilizar ya que en la
mayora de los casos es ms cmodo y rpido crear un autoinforme o utilizar el asistente y
despus sobre el informe creado modificar el diseo para ajustar el informe a nuestras
necesidades.
Asistente para informes: utiliza un asistente que nos va guiando paso por paso en la creacin
del informe.
Informe: consiste en crear automticamente un nuevo informe que contiene todos los datos de la
tabla o consulta seleccionada en el Panel de Exploracin.
Informe en blanco: abre un informe en blanco en vista Presentacin.
270.
271.
Explicaremos a continuacin la forma de crear un informe utilizando el asistente.
272.
273.
Para arrancar el asistente para informes haz clic en el botn Asistente para informes que
puedes ver en la imagen anterior.
274.
275.
Aparece la primera ventana del asistente:
276.

277.
278.
279.
En esta ventana nos pide introducir los campos a incluir en el informe. Primero
seleccionamos la tabla o consulta de donde coger los datos del cuadro Tablas/Consultas este
ser el origen del informe. Si queremos sacar datos de varias tablas lo mejor ser crear una
consulta para obtener esos datos y luego elegir como origen del informe esa consulta.
280.
281.
A continuacin el asistente para informes mostrara
282.

283.
284.
285.
En esta pantalla elegimos los niveles de agrupamiento dentro del informe. Podemos
agrupar los registros que aparecen en el informe por varios conceptos y para cada concepto
aadir una cabecera y pie de grupo, en el pie de grupo normalmente se visualizarn totales de ese
grupo.
286.
287.
Para aadir un nivel de agrupamiento, en la lista de la izquierda, hacer clic sobre el campo
por el cual queremos agrupar y hacer clic sobre el botn con signo mayor (o directamente hacer
doble clic sobre el campo).
288.
289.
En la parte de la derecha aparece un dibujo que nos indica la estructura que tendr
nuestro informe, en la zona central aparecen los campos que se visualizarn para cada registro. A
continuacin daremos clic en siguiente.
290.

291.
292.
293.
En esta pantalla podemos elegir ordenar los registros por hasta cuatro campos de
ordenacin. Seleccionamos el campo por el que queremos ordenar los registros que saldrn en el
informe, y elegimos si queremos una ordenacin ascendente o descendente, para elegir una
ordenacin descendente hacer clic sobre el botn Ascendente y pasar a ser Descendente.
294.
295.
Para seguir con el asistente hacemos clic sobre el botn Siguiente> y aparece la siguiente
ventana:

296.
297.

298.
299.
En esta pantalla elegimos la distribucin de los datos dentro del informe. Seleccionando
una distribucin aparece en el dibujo de la izquierda el aspecto que tendr el informe con esa
distribucin.
300.
301.
En el cuadro Orientacin podemos elegir entre impresin Vertical u Horizontal. Con la
opcin Ajustar el ancho del campo de forma que quepan todos los campos en una pgina, se
supone que el asistente generar los campos tal como lo dice la opcin.
302.
303.
Para seguir con el asistente hacemos clic sobre el botn Siguiente> y aparece la siguiente
ventana:
304.

305.
306.
307.
En esta pantalla elegimos el estilo que queremos dar al informe, podemos elegir entre los
estilos que tiene definidos Access. Seleccionando un estilo aparece en el dibujo de la izquierda el
aspecto que tendr el informe con ese estilo.
308.
309.
Una vez seleccionado el estilo que nos interesa pulsamos el botn Siguiente y aparece la
ltima pantalla del asistente para informes:
310.

311.
312.
313.
En esta ventana el asistente nos pregunta el ttulo del informe, este ttulo tambin ser el
nombre asignado al informe. Antes de pulsar el botn Finalizar podemos elegir entre:
Vista previa del informe en este caso veremos el resultado del informe preparado para la
impresin o bien
314.
315.

316.
Modificar el diseo del informe, si seleccionamos esta opcin aparecer la ventana Diseo de
informe donde podremos modificar el aspecto del informe.
317.
318.
LA VISTA DISEO DE INFORME
319.
320.
La vista diseo es la que nos permite definir el informe, en ella le indicamos a Access
cmo debe presentar los datos del origen del informe. Para entrar en la vista diseo debemos
posicionarnos en la ventana Base de datos con el informe seleccionado y a continuacin hacemos
clic en el botn Vista de Diseo. Nos aparece la ventana diseo:
321.
322.

323.

324.
El rea de diseo consta normalmente de cinco secciones:
Encabezado del informe: en ella ponemos lo que queremos que aparezca al principio del informe.
Encabezado de pgina: en ella ponemos lo que queremos que aparezca al principio de cada pgina.
Detalle: en ella aparecern los registros del origen del informe, o varios registros o uno slo por
pgina segn el tipo de informe. Aunque se visualicen varios registros en una pgina, debemos
indicar en la seccin Detalle el diseo correspondiente a un slo registro.
Pie de pgina: en ella ponemos lo que queremos aparezca al final de cada pgina.
Pie de informe: en ella ponemos lo que queremos aparezca al final del informe.
325.
326.
Imprimir un informe
327.
Para imprimir un informe, lo podemos hacer de varias formas y desde distintos puntos
dentro de Access.
328.
Imprimir directamente: Hacer clic sobre el nombre del informe que queremos imprimir en el
Panel de Exploracin para seleccionarlo. Despliega el Botn de Office y coloca el ratn sobre la
flecha que aparece junto al comando Imprimir, en el desplegable que se abrir selecciona
Impresin Rpida.
329.
Antes de mandar la primera impresin del documento, es conveniente comprobar las opciones
definidas en ese momento, para ello tenemos que abrir el cuadro de dilogo Imprimir.
330.
Abrir el cuadro de dilogo Imprimir: Hacer clic sobre el nombre del informe que queremos
imprimir para seleccionarlo. Y seleccionando la opcin Imprimir del Botn de Office.
331.
332.
ABRIR EL INFORME EN VISTA PREVIA
333.
Para comprobar que la impresin va a salir bien es conveniente abrir una vista previa del
informe en pantalla para luego si nos parece bien mandar la impresin definitiva.
334.
335.
PARA ABRIR LA VISTA PREVIA TIENES DOS OPCIONES:
336.
Con el objeto Informe seleccionado, desplegar el Botn de Office, colocar el ratn en la
flecha al lado del comando Imprimir y seleccionar Vista previa en el men desplegable.
337.
338.
Tambin puedes hacer clic derecho sobre el Informe en el Panel de Exploracin y
seleccionar la opcin en el men contextual. O si aparece, elegir directamente Vista previa en el
cuadro de Vistas.
339.

1.1.3.3.1. CALCULAR UN VALOR EN UN FORMULARIO O INFORME

340.

341.
Ahora veremos cmo hacer que un campo se convierta en un campo calculado. Para ello
realizaremos los siguientes pasos:
342.
Abra un formulario o informe en la vista Diseo.
Haga clic en la herramienta Cuadro de texto en el Cuadro de herramientas.
En la seccin de detalle, haga clic en el lugar donde desea colocar el cuadro de texto.
343.
344.
Siga uno de estos procedimientos:
345.
Coloque el punto de insercin en el cuadro de texto y escriba una expresin que calcule el total.
Seleccione el cuadro de texto, haga clic en Propiedades en la barra de herramientas y, a
continuacin, escriba la expresin en el cuadro de propiedad Origen Del Control. En una base de
datos de Microsoft Access, si desea utilizar el Generador de expresiones para crear la expresin,
haga clic en el botn Generar situado junto al cuadro de propiedad Origen Del Control.
346.

347.

348.

ACTIVIDAD INDICADOR 1.1.3.

349.

350.
Instrucciones: Aplicando los pasos para crear Formularios y
tablas proceda a realizar lo que a continuacin se le solicita.
351.
352.
De la base de datos Clnica creada en la pgina 33 en la actividad
1.1.2 proceda a crear en vista de diseo los formularios de las tablas:
Paciente, Mdicos e Ingresos.
353.
354.
Cree una consulta que permita saber en qu pacientes ingresaron
en el mes de enero.
355.
356.
Las habilidades que se deben demostrar en este nivel son: El estudiante selecciona,
transfiere, y utiliza datos y principios para completar una tarea o solucionar un problema.
357.
358.
Qu hace el estudiante?
359.
Recuerda y reconoce informacin e ideas adems de principios aproximadamente en
misma forma en que los aprendi.
360.

361.

362.
363.
364.

GLOSARIO 1.1.1
365.
367.
369.
371.

372.

373.
375.
377.
379.

380.

381.
383.
385.
387.

388.

389.
391.
393.
395.

396.

397.
399.
401.
403.

404.

405.
407.
409.
411.

412.

413.
415.
417.
419.
420.

421.

422. Centro de Estudios Tcnicos y Avanzados de


423. Segunda Unidad
Chimaltenango.
424. Asign
426. Profeso
425.
427.
atura:
r(a):
428. PLANIFICACION UNIDAD DE APRENDIZAJE
429. SEMANA 1
430. Declarativos:
432.
433.
431.
434.
435.
438. FEC
436. ACTIVIDAD DE APRENDIZAJE
437. PROCEDIMIENTO
HA
441. Planteamientos
de
440. Clase Magistral, Consulta libro de texto,
interrogantes.
444.
e Internet, sobre los temas propuestos
442. Redaccin de Ensayos.
445.
en esta unidad.
443. Mesas de Dialogo.
455. SEMANA 2
456. Declarativos:
458.
459.
457.
460.
461.
464. FEC
462. ACTIVIDAD DE APRENDIZAJE
463. PROCEDIMIENTO
HA
466. Clases Magistral, consultas sobre
467. Mesas de Dialogo.
terminologa aplicada a la forma de
470.
468. Redacta informes.
proponer los temas propuestos para
471.
469. Textos Paralelos.
esta unidad.
481. SEMANA 3
482. Declarativos:
484.
485.
486.
483.
487.
488.
489.
492. FEC
490. ACTIVIDAD DE APRENDIZAJE
491. PROCEDIMIENTO
HA
495. Planteamiento
de
494. Clase Magistral, consulta Internet,
interrogantes.
libros, folletos, lo relacionado los temas
498.
496. Redaccin de Ensayos.
propuestos en esta unidad.
497. Textos paralelos.
508. SEMANA 4
509. Declarativos:
511.
512.
510.
513.
514.
515.
518. FEC
516. ACTIVIDAD DE APRENDIZAJE
517. PROCEDIMIENTO
HA
521. Planteamiento
de
Interrogantes.
520. Consulta Internet, libros folletos, Clases
522. Laboratorios orales.
Magistrales, lo relacionado a los temas
525.
523. Exposiciones
que estn propuestos para esta unidad.
individuales.
524. Creacin de Portafolios.
535. SEMANA 5
536. Declarativos:
538.
539.
537.
540.
541.
542.
545. FEC
543. ACTIVIDAD DE APRENDIZAJE
544. PROCEDIMIENTO
HA
547. Clases Magistrales, consulta en libros e
internet, lo relacionado los temas que
estn propuestos para esta unidad.

548. Redaccin de ensayos.


549. Textos Paralelos.
550. Creacin de portafolios.

551.

439. PUNTE
O
446.

465. PUNTE
O
472.

493. PUNTE
O
499.

519. PUNTE
O

526.

546. PUNTE
O
552.

561. SEMANA 6

562. EVALUACION FINAL DE UNIDAD

563. Prueba Objetiva Bimestral

564. Sobre contenido terico y prctico visto en clase

565.

566. Proyecto
de unidad
567.
568.
569.
570.
571.
572.
573.
574.
575.
576.
577.
578.
579.
580.
581.
582.
583.
584.
585.
586.
587.
588.
589.

590.
591.
592.
593.
594.
595.
596.
597.
598.
599.
600.
601.
602.
603.
604.
605.
606.
607.

608.

609.

UNIDAD 2

COMPETENCIA 2.1

610.

611. "Aplica las pginas, macros y los


complementos de aplicaciones de bases
de datos, as como la forma de su
aplicacin en el lenguaje comercial
Visual FoxPro, resolviendo los casos de
tratamiento
de
informacin
de
operaciones comerciales de la vida
cotidiana "
612.
613.

614.

INDICADOR 2.1.1.

615. Trabaja el proceso completo para la creacin de


pginas, macros, mdulos y el men a travs de un panel de
control del software Administrador de Base de Datos.
616.

617.
618.
619.
620.
621.

622.
623.
624.
625.

626.
2.1.1. PAGINAS, MACROS, MODULOS Y FORMULARIO
PANEL DE CONTROL
627.

2.1.1.1. PGINAS

628.

629.
Utiliza una pgina de acceso a datos para que los datos estn disponibles en Internet o en
una intranet con el fin de hacer informes, escribir datos o analizar datos de manera interactiva.
Microsoft Access recupera los datos de una o ms tablas, y los muestra en la pantalla con el
diseo creado en la vista Diseo o con el diseo que haya elegido en el Asistente para pginas.
630.

2.1.1.1.1. MOSTRAR UNA PGINA WEB EN UN FORMULARIO

631.

632.
Para poder agregar el control Explorador Web de Microsoft a un formulario, primero debe
instalar Microsoft Internet Explorer en su equipo si es que no lo tiene.
633.
634.
Para ello debemos de realizar
635.
1.
Abra el formulario en la vista Diseo.
636.
2.
En el cuadro de herramientas, haga clic en Ms controles.
637.
3.
Aparece un men que enumera todos los controles ActiveX registrados en el
sistema.
638.
4.
En el men de controles ActiveX, haga clic en Control Explorador Web de
Microsoft.
639.
5.
En el formulario, haga clic donde desea colocar el control.
640.
6.
Puede mover y cambiar de tamao al control, si es necesario.
641.
2.1.1.2. MACROS
642.
643.
Las Macros son un mtodo sencillo para llevar a cabo una o varias tareas bsicas como
abrir y cerrar formularios, mostrar u ocultar barras de herramientas, ejecutar informes, etc.
Tambin sirven para crear mtodos abreviados de teclado y para que se ejecuten tareas
automticamente cada vez que se inicie la base de datos.
644.
645.
Si guardamos la Macro con el nombre de AutoExec, cada vez que se inicie la base de
datos, se ejecutar automticamente. Esto es debido a que Access al arrancar busca una macro
con ese nombre, si la encuentra ser el primer objeto que se ejecute antes de lanzar cualquier
otro.
646.
647.
Esta opcin es muy socorrida a la hora de efectuar comprobaciones o lanzar procesos
antes de que el usuario empiece a trabajar con la base de datos.
648.
649.
La configuracin por defecto de Access, nos impedir ejecutar ciertas acciones de macro
si la base de datos no se encuentra en una ubicacin de confianza, para evitar acciones
malintencionadas.
650.
651.
Para ejecutar correctamente las macros de bases de datos que consideremos fiables,
podemos aadir la ubicacin de est al Centro de confianza, tal como vimos en la Unidad 10 al
realizar consultas de accin.

652.
2.1.1.2.1 CREAR UNA MACRO
653.
Para definir una macro, indicaremos una accin o conjunto de acciones que automatizarn
un proceso. Cuando ejecutemos una Macro, el proceso se realizar automticamente sin
necesidad, en principio, de interaccin por nuestra parte.
654.
655.
Por ejemplo, podramos definir una Macro que abra un formulario cuando el usuario haga
clic en un botn, o una Macro que abra una consulta para subir un diez por cien el precio de
656.
Nuestros productos.
657.
658.
Crear una Macro es relativamente fcil, slo tienes que hacer clic el botn
Macro de la pestaa Crear.
659.
660.
Se abrir la Vista de diseo de Macro.
661.
662.

663.
664.
Esta ventana es muy parecida a la vista Diseo de tabla que ya conoces y tiene la misma
dinmica pero ahora en vez de campos lo que definimos son las acciones que queremos que se
ejecuten.
665.
Como podrs observar, al principio consta de dos columnas: Accin y Comentario, aunque
puede que aparezca tambin la columna Argumentos, que se puede mostrar y ocultar, y que
explicaremos ms adelante.
666.

667.
En la columna Accin deberemos seleccionar una accin de entre las existentes en el
cuadro desplegable.
668.
669.
En la columna Comentario podremos escribir una pequea descripcin opcional sobre el
porqu de la accin o un comentario sobre su efecto.
670.
671.
Cuando selecciones una Accin en la lista desplegable, en la parte inferior izquierda
aparecern sus opciones y a la derecha una descripcin breve de lo que hace la accin. Podemos
aadir tantas acciones como queramos, simplemente deberemos colocarlas una despus de otra
y en el orden que queremos que se ejecuten.
672.
673.
Recuerda que debers tener cuidado con el orden en el que estableces las acciones, pues
es muy importante. Imagina que tienes dos acciones (entre varias) que abren y cierran un
formulario. El formulario deber estar abierto antes de ejecutar la orden de cerrar el formulario, por
lo que la accin de apertura debera ir antes de la de cierre.
674.
675.
En todo momento podrs utilizar los botones de Insertar o Eliminar filas para insertar
nuevas acciones entre dos existentes o eliminar una accin. Para cambiar el orden en el que se
encuentren las acciones puedes seleccionar algunas de ellas y arrastrarlas con el ratn para
colocarlas en otra posicin.
676.
677.
Cuando la Macro est terminada, puede guardarse, ejecutarse y cerrarse. Ms tarde
podremos llamarla desde un control Botn de comando, o ejecutarla directamente desde la
ventana de la base de datos haciendo clic en Ejecutar o bien haciendo doble clic directamente
sobre ella.
678.
679.
ACCIONES MS UTILIZADAS

680.
Siempre puedes recurrir a la ayuda de Access para obtener informacin sobre acciones
que aqu no tratemos.
681.
682.
Cuando selecciones una Accin en la lista desplegable, en la parte inferior izquierda
aparecern sus opciones:
683.
684.

685.
686.
A continuacin
argumentos de accin.
687.
688.
AbrirCo
nsulta:
690.
AbrirFo
rmulario:
692.
AbrirInf
orme:
694.
AbrirTa
bla:
696.
Buscar
Registro:
698.
Buscar
Siguiente:
700.
Cancel
arEvento:
702.

Cerrar:

704.
Cuadro
Msj:
706.
Detene
rMacro:
708.

*Eco:

710.
Ejecuta
rComando:

veremos las acciones ms comunes, puedes ver la descripcin de sus


689.
Esta accin abre una consulta escogida entre las existentes
en la base de datos.
691.

Del mismo modo que la accin anterior, abre un formulario.

693.

Igual que las acciones anteriores, permite abrir un informe.

695.

Esta accin permite abrir una tabla.

697.
Utilizaremos esta accin para buscar registros. Esta accin
busca el primer registro que cumpla los criterios especificados.
Puedes utilizar esta accin para avanzar en las bsquedas que
realices.
699.
Se posiciona en el siguiente registro que cumpla con los
criterios indicados en la accin BuscarRegistro anterior.
701.
Esta accin cancela el evento que produjo la ejecucin de
la macro.
703.
Con esta accin podrs cerrar cualquier objeto que se
encuentre abierto.
705.
Con las Macros incluso podremos mostrar mensajes para
interactuar con el usuario.
707.
Introduce esta accin en una Macro para detener su
ejecucin.
709.
Esta accin es muy til para ocultar al usuario las
operaciones que se estn
711.
Utiliza esta accin para lanzar comandos que puedas
encontrar en cualquier barra de herramientas.

712.
*Establ
ecerValor:
714.
IrARegi
stro:
716.
Maximi
zar:
718.
Minimiz
ar:

713.
Una accin muy til que te permitir modificar los valores
de los campos.
715.
Te permitir saltar a un registro en particular dentro de un
objeto.
717.
Esta accin maximiza la ventana activa para que ocupe
todo el espacio de la ventana
719.
Al contrario que la anterior, esta accin minimiza la ventana
activa convirtindola en

720.

721.

Salir:

Esta accin hace que Access se cierre.

722.
723.
2.1.1.2.2. MDULOS
724.
725.
Un mdulo es un conjunto de declaraciones y procedimientos de Visual Basic que se
almacenan en una sola unidad. Realmente se trata de programacin con Access.
726.
727.
Para comenzar a crear mdulos debemos tener nociones de programacin en Visual
Basic.
728.
729.
Pasos para abrir un modulo
Seleccione en la Barra de herramientas la pestaa Crear
730.
Daremos Clic en la ultimo opcin denominada Modulo
731.
732.
Los pasos anteriores mostrara la ventana de Aplicaciones de Visual Basic (AVB).
733.

734.

735.
2.1.1.3. FORMULARIO DE PANEL DE CONTROL
736.
737.
Otra de las funcionalidades de Access que nos ayudarn a mejorar la forma en la que el
usuario interactuar con nuestra base de datos es el Panel de Control.
738.
739.
Crear un Panel de Control nos ayudar a crear un formulario que podremos lanzar al inicio
donde, por medio de Botones de comando, daremos acceso a los distintos Formularios e Informes
de nuestra base de datos.
740.

741.
742.
743.
En esta imagen anterior podemos ver una pgina del Panel de control justo despus de
haberlo creado con el Administrador:
744.
2.1.1.3.1. CREAR UN PANEL DE CONTROL
745.
746.
Ahora veamos cmo podemos crearlo.
747.
Haz clic la pestaa Herramientas de base de datos y haz clic sobre el botn Administrador del
panel de control.
748.

749.
750.
Si an no creaste un Panel de Control, Access te preguntar si quieres crear uno. Pulsa S para
continuar.
751.
752.

753.
Se abrir el siguiente cuadro de dilogo:
754.

755.
756.
757.
758.
Desde aqu configuraremos de forma muy sencilla los elementos que queremos que
aparezcan en el Panel de Control. Como puedes ver en la imagen, el panel de control estar
organizado en una o varias pginas. Si tenemos muchas opciones dentro del panel, organizarlas
en varias pginas mejorar el manejo del mismo, estaremos creando mens con submens.
759.
760.
Para crear nuevas pginas slo tienes que hacer clic en el botn Nueva... y escribir el
nombre que quieres dar a la nueva pgina. La pgina del panel de control que marques como
predeterminada ser la que se muestre en primera instancia cuando se abra el Panel de Control.
761.
762.
Si quieres que otra pgina creada por t sea la predeterminada (y no la que viene por
defecto) seleccinala en el listado y pulsa el botn Predeterminado.
763.
Ahora seguiremos configurando nuestro Panel de control, para ello seleccionaremos la opcin
Modificar la cual abrir el siguiente cuadro de dilogo:
764.

765.
766.
Desde aqu podrs modificar el Nombre de esta pgina de control. Esto es bastante recomendado
pues es el ttulo que mostrar la ventana cuando se abra, sobre todo si lo que estamos
modificando es una pgina que ser un submen. Es recomendable que el usuario sepa en cada
momento en qu lugar se encuentra para que no se sienta desorientado.
Escribe el nombre que prefieras en el cuadro de texto y listo.
Ahora pasaremos a rellenar el Panel de control con los elementos que necesitemos. Como puedes
ver, el listado de Elementos de este panel de control en un principio se encuentra vaco.
Deberemos agregar todos los elementos que queremos que se muestren utilizando el botn
Nueva..., Se abrir el siguiente cuadro de dilogo:

767.

768.
769.
Rellenar los datos para la creacin de un elemento es bastante sencillo. Deberemos darle un
nombre en la propiedad, Texto que debe ser suficientemente descriptivo para que el usuario sepa
qu accin ejecuta el elemento. Luego en Comando seleccionaremos la accin que queremos que
se lance al pulsar el botn del elemento que aparecer en el Panel de Control.
770.
771.
Las opciones son muy sencillas:
772.
Ir al panel:
te permitir abrir una pgina de Panel de Control para que cuando se pulse el
botn de este elemento se muestre dicha pgina. Como hemos dicho antes, utiliza esta opcin
para organizar mejor los elementos del Panel de Control.
773.
Abrir el formulario en modo Agregar: podrs elegir un formulario en el desplegable que se
mostrar ms abajo. Esta opcin abrir el formulario que selecciones en modo Agregar. Es decir,
no se vern los registros existentes, slo se abrir el formulario para que puedas insertar nuevos
registros.
774.
Abrir el formulario en modo Edicin: te permitir abrir el formulario que escojas de forma que se
muestren todos los registros existentes y as poder modificarlos.
775.
Abrir el informe te permitir abrir un Informe en Vista Preliminar. Combina esta accin
aadindole una barra de herramientas al Informe para que el usuario pueda imprimirlo. Te ser
muy til.
776.
Disear aplicacin: hars que al pulsar el botn de este elemento se lance el cuadro de dilogo
de Administrador de Panel de Control (con el que estamos trabajando en estos momentos). Esta
opcin no es recomendable si no queremos que los usuarios de la base de datos puedan
modificar el Panel de Control libremente.
777.
Cerrar la aplicacin: sirve para que el usuario pueda cerrar la base de datos haciendo clic en un
elemento del Panel de Control.
778.
779.
Una vez tengas todos los elementos creados puedes ordenarlos utilizando los botones de
Mover arriba y Mover abajo en el cuadro de dilogo Modificar pgina del panel de control. Una vez
hayas acabado de configurar todas las pginas del Panel de Control cierra el cuadro de dilogo.
780.

781.

782.
783.
Vers que se han creado un par de elementos nuevos en tu base de datos. Si vas al
listado de Tablas encontrars una llamada Swichboard Items:
784.

785.
786.
787.
Esta tabla almacena la configuracin de las pginas y los elementos que forman parte del
Panel de Control.
788.
789.
No debers modificar esta tabla bajo ningn concepto si no quieres que el Panel de
Control deje de funcionar correctamente.
790.
2.1.1.3.2. PERSONALIZAR UN PANEL DE CONTROL
791.
792.
Si quieres realizar algn cambio acude de nuevo al Administrador del Panel de Control en
el men Herramientas. En el listado de Formularios vers que se ha aadido un nuevo formulario
con el nombre Panel de Control. Este es el resultado de lo que acabamos de hacer en este
apartado.
793.
794.
Puedes modificar su aspecto entrando en su Vista de Diseo seleccionando el formulario y
haciendo clic en el botn Diseo.

795.

796.
797.
798. ACTIVIDAD INDICADOR 2.1.1.
799.
800. Instrucciones: Aplicando los pasos para crear un panel
de control que permita acceder a todos las aplicaciones
creadas en el las actividades anteriores.
801.
802.
Las habilidades que se deben demostrar en este nivel son: El
estudiante selecciona, transfiere, y utiliza datos y principios para
completar una tarea o solucionar un problema.
803.
804.
Qu hace el estudiante?
805.
Recuerda y reconoce informacin e ideas adems de principios aproximadamente en
misma forma en que los aprendi.
806.
807.

808.

809.

INDICADOR 2.1.2.

810. 2.1.1.2 Trabaja el proceso completo para la creacin de


tablas en forma correcta y crea sus propias tablas para
simular tareas simples en modo programable del lenguaje
Visual FoxPro..
811.

812.
813.

2.1.2. VISUAL FOXPRO

814.
2.1.2.1. HISTORIA
815.
816.
Visual FoxPro proviene de FoxPro, que a su vez deriva de FoxBASE, creado por Fox
Technologies en 1984; inicialmente un compilador de dBase, acab superndolo y con Clipper,
convirtindose en una de las estrellas de los lenguajes xBase. Fox Technologies fue adquirido por
Microsoft en 1992.
817.
818.
Visual FoxPro 3.0, fue la primera versin Visual, redujo su compatibilidad a solo Mac y
Windows (La ltima versin de FoxPro (2.6) corra en MS-DOS, MS Windows, Mac OS y UNIX),
versiones posteriores fueron solo para Windows. La versin actual se basa en archivos COM y
Microsoft ha declarado que no piensan crear una versin .NET.
819.
820.
2.1.2.1.1 CARACTERSTICAS DE VISUAL FOXPRO:
821.
822.
Visual FoxPro ofrece a los desarrolladores un conjunto de herramientas para crear
aplicaciones de bases de datos para el escritorio, entornos cliente/servidor, tablet PC o para la
Web.
823.
824.
Entre sus caractersticas se pueden enumerar:
825.
Capacidades poderosas y muy veloces para el manejo de datos nativos y remotos.
Flexibilidad para crear todo tipo de soluciones de bases de datos.
Lenguaje de Programacin Orientado a objetos.
Utilizacin de Sentencias SQL en forma nativa.
Poderoso manejo de vistas y cursores y control completo de estructuras relacionales.
Su propio gestor de base de datos incorporado. Sin embargo, tambin puede conectarse con
servidores de base de datos, tales como Oracle, Microsoft SQL Server o MySQL.
Cuenta con un motor de generacin de informes renovado y muy flexible para soluciones ms
robustas.
826.
827.
CARGAR FOX DESDE WINDOWS AS:
828.

829.
830.
2.1.2.2.2 CREACIN DE UNA TABLA LIBRE
831.
832.
Nos proponemos ahora, crear una tabla Libre, para lo cal Ud. Haga:
833.
834.
Clic en las siguientes opciones
desde el Men Principal:
835.
Archivo
Nuevo
Tabla
Nuevo Archivo
836.
837.
Viendo la pantalla de la derecha,
Seleccione la carpeta donde desea
guardar su tabla.
838.
839.
Guardar en: Nombre de la Tabla: CLIENTES Guardar como tipo: Tabla /DBF Luego Clic en
Guardar
840.
841.
En las siguientes lneas tiene Ud. La estructura de la tabla Clientes.
842.
843.
CLIENTES.DBF
844.
845.
Nombre de Campo
Tipo
Ancho
Decimales
Descripcin
846.
ClieCod C
3
Cdigo del Cliente
847.
ClieNom C
40
Nombre del Cliente
848.
ClieApe C
40
Apellidos
849.
ClieDir C
40
Direccin del Cliente
850.
ClieRuc C
8
No. de RUC del Cliente
851.
852.
853.
En esta
pantalla
es donde
Ud. Va a
disear la estructura de la
tabla.
854.
855.
Nota: No
presione ENTER, si desea
pasar, de una lnea a
otra. VFP,
puede
interpretar, que ya, ha
terminado. Para este fin
utilice la tecla TAB el
MOUSE.

856.
857.
858.

Despus de haber terminado, Haga Clic en: ACEPTAR y aparecer la siguiente consulta:

859.
860.
861.
Responda afirmativamente, haciendo Clic en S. Luego, ingrese registros.
862.
863.
TABLAS DEPENDIENTES
864.
Las siguientes tablas, cuya estructura se muestra en la parte inferior, las vamos a crear
como tablas dependientes.
865.
866.
ARTICULO.DBF
FACTURAS.DBF
867.
868.
Nombre Campo
Tipo
Tam
Ancho Nombre Campo
Tipo
Tamao
Ancho
869.
870.
ArtCod
C
3
NumFac
C
5
871.
ArtNom
C
25
FecVen
T
8
872.
ArtPre
N
7
2
ArtCod
C
3
873.
ArtStock
N
5
0
ClieCod
C
3
874.
ArtFoto
G
4
Cant
N 5
875.
PreVen
N
8
2
876.
877.
Para lo cual, debemos crear primero la BASE DE DATOS a quien va estar asociado,
nuestras tablas.
878.
879.
2.1.2.2.3 CREACIN DE UNA BASE DE DATOS
880.
881.
Crearemos nuestra Base de Datos, haciendo Clic, en las siguientes opciones, iniciando
desde el MENU PRINCIPAL. Clic en: (En otras latitudes dicen Pinchar, en lugar de decir Clic:)
882.
883.
Archivo
Nuevo
Base de Datos
Nuevo Archivo
884.
885.
Aparece el grfico
de la derecha, Digitar en:
886.
887.
Base de datos:
Ventas
888.
Luego Clic en:
Guardar Luego aparecer el grfico de la parte inferior.

889.
2.1.2.3. CREACIN DE
UNA TABLA DEPENDIENTE
890.
891.
Para
crear
tablas
dependientes, de nuestra Base de
datos, existen muchas formas,
pero una de ellas, es del siguiente
modo:
892.
893.
Llevamos el Mouse sobre
el rea libre de la Base de Datos y
luego, presionamos el Botn
Derecho de la misma.
894.
En el men contextual,
elegimos:
895.
896.
Nueva Tabla, y otra vez Clic en Nueva Tabla
897.
898.
899.
Asignar nombre de tabla: ARTICULO Luego Clic en: GUARDAR
900.

901.
902.
903.
Nota: Observe este grfico y la de Clientes, ambos son de creacin de estructuras, pero
tienen una marcada diferencia.
904.
905.
Finalmente, cuando haya terminado a crear la estructura. Haga Clic en opcin: Aceptar e
introduzca los datos correspondientes (dos registros como mnimo). Ahora, usando los pasos
anteriores se le pide a Ud. Crear la tabla: FACTURAS.DBF
906.
907.
Al final de un trabajo arduo, Ud. deber llegar a la siguiente presentacin:
908.

909.
910.
911.
2.1.2.4. CONVERSIN DE TABLA LIBRE EN DEPENDIENTE
912.
913.
En estos momentos tenemos Artculo y Facturas como se observa en el grfico anterior,
pero al inicio habamos creado CLIENTES.DBF, como una tabla libre,
el cual ahora
desearamos que forme parte de nuestra Base de Datos de nombre Ventas, para tal fin haremos
los siguientes pasos:
914.
915.
Clic en:
Botn Derecho del Mouse, sobre el diseador de Base de Datos
Agregar tabla (Opcin del Men Contextual)
Doble Clic en Clientes
916.
917.
Luego tendremos, como muestra la siguiente figura:
918.

919.
920.
921.
2.1.2.5 CREACION DE VISTA:
922.
923.
Haga Clic en:
924.
Archivo
Nuevo
Vista
Nuevo Archivo
925.
926.
En la siguiente pantalla se observa, a seleccionar la clase del fuente para vista a crearse
(tablas de vistas anteriores)

927.

928.
929.
930.
Asumiendo que se van a crear vistas desde tablas, haga doble Clic en: Facturas, luego en:
931.
Clientes y Artculo, finalmente haga Clic en Cerrar
932.
933.
En la siguiente pgina, tenemos el generador de vistas. Ya conocida en el laboratorio
anterior
934.

935.
936.
937.
Nota: Las tablas fuente (facturas, Clientes y Articulo), no deben repetirse, si eso no fuera
el caso, borrar la tabla que se est cargado ms de una vez
938.
939.
Debajo de las tablas, se podr observar las fichas: Campos, Combinacin, Filtro,
ordenar por, Agrupar por, Criterio de actualizacin y Varios.
940.
941.
En la Ficha Campos: Seleccionemos los siguientes campos:
942.
943.
Facturas.Numfac
Articulo.ArtPre

944.
945.
946.
947.
948.

Facturas.ArtCod
Facturas.Cliecod
Facturas.Cant
Facturas.Preven
Articulo.Nom

Articulo.ArtStock
Clientes.ClieNom
Clientes.ClieApe
Clientes.ClieDir

949.
950.
Haciendo doble clic en la misma.
951.
952.
Para probar que todo va bien, haga Clic en Botn EJECUTAR ( ! ) de la barra de
herramientas. presione Botn Derecho y Ejecutar Consulta.
953.
954.
Nota: Si no observa ningn dato, revisar datos del campo clave (en la BD) la relacin y
los ndices
955.
956.
Esta podra ser una breve explicacin de las fichas de las vistas:
957.
958.
Combinacin: Muestra el tipo de enlace entre tablas: Interna, Izquierda,
Derecha y Full
959.
Filtro: Especfica la condicin que debe cumplir los registros a visualizar.
960.
Ordenar por: Provee opcin de clasificar en forma ascendente
descendente.
961.
Agrupar por: Facilita crear grupos de datos
962.
Criterios de Actualizacin:
ofrece las maneras como se debe
actualizar nuestros datos
963.
Varios: Si sern afectados todos los registros y los duplicados.
964.
965.
En la siguiente pgina, usaremos la ficha filtro, para realizar resolver las ciertas
interrogantes tales como: Deseamos saber qu artculos han sido facturadas un da viernes a las
10 de la maana, cuantas ventas se transaron con precio inferior al costo de compra, etc.
966.
967.
968.
Extraccin de Datos:
969.
Hacemos Clic en ficha FILTRO
970.

971.
972.
973.
974.
975.
976.
977.

En nombre de campo seleccionamos un campo preparamos una expresin.


En Criterios asignamos el operador.
En ejemplo completamos la condicin
Ejemplo: Facturas.Cant = 50 (como se puede observar en la ventana de arriba)

978.
979.
Esta condicin significa, que deseamos observar
o mostrar aquellos
facturados, cuya cantidad sea igual a 50 unidades. Para ver ejecutamos haciendo:
980.
Clic en botn EJECUTAR, y la siguiente sera un ejemplo:
981.

Artculos

982.

983.
984.

ACTIVIDAD INDICADOR 2.1.2.

985. Instrucciones: Aplicando los pasos anteriormente vistos, proceda a crear


vistas para mostrar los artculos facturados con las siguientes condiciones:
986.
1. Cuyo Nombre del artculo empiece con la letra A
2. Cuya cantidad sea mayor que 30 y stock menor igual a 20
3. Tenga hora de venta a las 10 de la maana
4. Fecha de venta 28 de Julio a las 10:30 AM
5. Precio de Compra sea mayor que precio de venta (Remate)
987.
988.

989.

INDICADOR 2.1.3

990.
991. Disea consultas y Genera Informes de los datos
ingresados por formularios, aplicando al manejo de datos de
una actividad del entorno.
992.

993.

994.

2.1.3. CONSULTAS, INFORMES, FORMULARIOS

995.
2.1.3.1. CREACIN DE CONSULTAS
996.
997.
Las consultas, a diferencia de vistas, son archivos reales.
998.
999.
Para crear consultas hacemos:
1000.
Clic en:
Archivo
Nuevo
Consulta

Nuevo Archivo
1001.
1002.
Similar que en Vistas, hacemos doble en: Facturas, Clientes y Artculo
1003.
1004.
Seleccione los siguientes campos:
1005.
1006. Facturas.Numfac
Clientes.ClieApe
1007. Facturas.FecVen
Clientes.ClieDir
1008. Facturas.ArtCod
Articulo.ArtNom
1009. Facturas.Cliecod
Articulo.ArtPre
1010. Facturas.Cant
Aritculo.ArtStock
1011. Facturas.PreVen
1012. Clientes.ClieNom
1013.
1014.
Haga Clic en Ejecutar de la Barra de herramientas, observe y cierre el previo.
1015.
Haga Clic en Consulta del Men principal
Luego en opcin: Ver SQL
1016.
1017. SELECT Facturas.numfac, Facturas.fecven, Facturas.cant, Facturas.preven,;
1018.
Clientes.clienom, Clientes.clieape, Clientes.cliedir, Clientes.clieruc,;
1019.
Articulo.artnom, Articulo.artpre, Articulo.artstock;
1020.
FROM ventas!clientes INNER JOIN ventas!facturas;
1021.
INNER JOIN ventas!articulo ;
1022.
ON Articulo.artcod = Facturas.artcod ;
1023.
ON Clientes.cliecod = Facturas.cliecod
1024.
1025.
Haga Clic en Consulta del men principal
Clic en Opcin: Destino de Consulta

1026.
1027.
1028.
Observamos que por defecto est seleccionado destino Examinar para la consulta.
1029.
1. Seleccionamos Cursor
Asignamos un nombre (ejemplo): UNI
Clic en Aceptar, luego
Clic en Ejecutar
1030.
1031.
Continuemos
1032.
1033.
2. Haga Clic en Men: Consulta
1034.
Destino de la Consulta, y Seleccione Tabla, en esta oportunidad.
Asigne nombre (ejemplo): CEPS
Clic en Aceptar

Clic en Ejecutar
1035.
1036.
Al momento de ejecutar posiblemente no ver nada. En verdad tiene razn, la respuesta
es que, en la primera vez ha creado una tabla temporal (Cursor) y ha enviado a la memoria del
computador. Y la segunda ha creado una tabla, que por su puesto debe haberse guardado en el
disco duro, en la carpeta por defecto de su computador.
1037.
1038.
Como comprobar lo que se dice?
1039.
1040.
Paso 1.- Haga Clic el men Ventana (Men principal), luego en Sesin de Datos. Vea si
existen tablas
1041.
UNI y CEPS cargadas en diferentes reas. (Justificada su existencia)
1042.
1043.
Paso 2.- Presione la combinacin de teclas: Ctrl+F2 Digite: DIR y presione Enter.
1044.
1045.
Tenga
Presionado
simultneamente
las
teclas:
Ctrl+Shift+Alt
(Debe
estar
observando
la
existencia
del
CEPS.DBF)
1046.
1047.
1.
Consulta, Destino de
la Consulta, Pantalla (Observando
datos en toda la pantalla)
Aceptar
Ejecutar
Ctrl+Shift+Alt
1048.
1049.
2.
Consulta, Destino de
la Consulta, Informe (Generando
Informes va Consulta)
1050.
1051.
Haga Clic en Barra de Asistente a la derecha de: Abrir informe.
Se observa una pantalla con tres opciones, ubique el cursor sobre: Asistente para Informes, y haga
Clic en: Aceptar. Tendremos la siguiente figura.
Seleccione todos los campos de: Articulo, haciendo Clic en doble Flecha, luego clic en: Siguiente
Seleccione el estilo de informe que deseara preparar y luego haga Clic en: Siguiente
Puede cambiar si gusta: Nmero de Columnas, distribucin de campos y Orientacin del papel,
luego haga Clic en: Siguiente
Puede Ordenar los artculos, ejemplo: por nombres, para ello haga doble Clic en ArtNom,
Ascendente y Clic en: Siguiente
Clic en: Presentacin Preliminar
1052.
1053.
Objetivo: Crear un informe personalizado, simples y con quiebres grupos.
1054.
1055.
Abrir Base de Datos ventas
Clic en: Archivo, Abrir, Tipo de archivo: Base de Datos, luego doble Clic en Ventas.
1056.
1057.
CREACIN DE VISTAS
1058.
Deseamos preparar, tres informes, para lo cual vamos a crear tres vistas:
1059.
1.
Crear una vista con los siguientes campos:
1060.
1061. Facturas.numfac
Facturas.fecven
1062. Facturas.cant
Facturas.preven
1063. Clientes.clienom
Clientes.clieape

1064.
1065.
1066.

Clientes.cliedir
Articulo.artnom
Articulo.artstock;

Clientes.clieruc
Articulo.artpre

1067.
1068.
1069.
2.
Ejecutar y guardar presionando Ctrl+W, asigne nombre Vista01, luego haga Clic en
Aceptar.
1070.
1071.
3.
Cree otra vista, esta vez agregar el campo Facturas.ClieCod a la lista anterior.
Ingrese a la ficha: Ordenar por,
haga doble Clic en Cliecod, Ejecutar y Guardar
(presionando Ctrl+W ) con el nombre Vista02
1072.
1073.

1074.
1075.
4.
Crear otra Vista usando los mismos campos anteriores, pero esta vez
ordenar por los campos: FecVen, ClieCod y NumFac (para ello haga primero Doble Clic en:
FecVen, luego en ClieCod y finalmente enNumFac) y guarde como Vista03.
1076.
1077.
2.1.3.2. CREACIN DE INFORMES
1078.
1079.
Para crear nuestros informes, iniciamos haciendo:
1080.
Clic en:
1081.
Archivo
Nuevo
Informe
Nuevo Archivo.
1082.
1083.
En la siguiente pantalla se muestra el diseador de informes, las bandas y el men
contextual
1084.

1085.

1086.
1087.
Diseador de Informes compuesta de tres Bandas (ver grfico).
1088.
Necesitamos indicar el origen de datos para nuestro informe, para lo cual vamos damos
la secuencia a seguir:
1089.
1090.
1.
En el rea del diseador, presione Botn Derecho
1091.
2.
En el men contextual, Elija: Entorno de datos
1092.
3.
Dentro del Entorno de datos, Presione Botn Derecho
1093.
4.
En el men contextual, Elija: Agregar
1094.
5.
Seleccione, opcin: Vistas
1095.
6.
Haga Doble Clic en Vista01
1096.
7.
Luego, Clic en: Cerrar
1097.
1098.
Usando el Mouse acomode el diseador de informes y el entorno de datos, de tal como
que quede, tal como se muestra en la figura, de la siguiente pgina.

1099.
1100.
1101.
1102.
1.
Si no tiene la barra de controles de
informe
1103.
Haga Clic en: Men Ver
Barra de Herramientas...
Marcar como en el grfico de parte derecha.
Luego, Clic en: Aceptar
1104.
1105.
1106.
1107.
1108.
1109.
1110.
Nuevamente acomode las figuras, por ejemplo Puede ser como observa en la parte inferior.
1111.

1112.
1113.
1114.
Luego. Vamos a iniciar a preparar el informe. Para lo cual, debemos tener presente el
resultado que deseamos obtener. En la siguiente pgina se muestra un previo de lo que
queremos conseguir diseando un informe, con nuestro diseador y que imprima el modelo
propuesto.
1115.

1116.
1117.
1118.
Para poder obtener este resultado. Usando los botones del control de informes, prepare
Ud. un diseador de informes del siguiente modelo.
1119.

1120.
1121.
1. Si desea Digitar un texto en el diseador de informes, haga Clic sobre el botn que tiene la letra
A del control de Informes y en seguida haga Clic en el lugar donde desea Digitar.
2. Si desea agregar, una funcin variable, haga clic en botn ab del control de informes. Luego
sobre el diseador.
3. Si desea agregar un campo, lo puede arrastrar desde la vista, que se encuentra a la
derecha, del diseador.
1122.
1123.
Nota: Nombre de la Empresa, Descripcin, Precio, Nota. y Pag. Son etiquetas,
mientras Date() es funcin, _Pageno es una variable. Finalmente ArtNom y ArtPre son campos
que se encuentran en el Entorno de Datos.
1124.
1125.
Para ver un Previo:

1126.
Haga Clic en el Botn Derecho, luego seleccione: Preliminar (observar un previo)
1127.
1128.
Lo anterior tambin lo puede realizar haciendo Clic en botn de Hoja y Lupa de la
barra de herramientas. Esta vez el botn del signo de Admiracin Es para Imprimir.
1129.
Puede ir observando su avance, cada vez que crea necesario. Si desea mejorar la presentacin
haga clic en el objeto, luego Clic en formato y fuente. Cambie y mejore su presentacin
1130.
Para prevenir prdida de archivos, puede ir guardando el Informe con el Nombre: Informe1
Para
ello haga clic en Men: Archivo y luego Guardar.
1131.
1132.
Informe No 2.- debemos preparar otro informe, similar al que se muestra en la parte
inferior.
1133.
1134.
Observe que est agrupado por Clientes, ordenado por descripcin y con un sub-total por
clientes.
1135.

1136.
1137.
1138.
Para preparar nuestro segundo informe, podemos re-utilizar diseo del informe anterior.
Guardando la primera y luego guardando con nuevo nombre. Para ello utilice:
1139.
Archivo
Guardar como
Asigne nombre informe2
Y luego puede modificar sobre ella.
1140.
1141.
Pasos:

Modificar Lista de Precios por Informe de ventas


1142.
1143.
Creacin de Grupo quiebre:
1144.
Clic en Men:
1145.
Informe
Agrupar datos
1146.
1147.
Sobre ventana de agrupar datos, en el rea en blanco de: expresiones de
agrupacin, podemos Digitar la expresin del quiebre, pero hacemos Clic en: ... (Punto punto)
luego haga, Doble clic sobre: Vista2.ClieCod
1148.

1149.
1150.
1151.
Finalmente Clic en: Aceptar, El diseador que logre, nuestro propsito ser similar al
grfico siguiente:
1152.

1153.
1154.
1155.
Observe que el monto, subtotal y total son expresiones como
(Precio de Venta)
1156.
(Vista2.Cant*Vista2.PreVen) Para que Subtotal y total,
hacemos:
1157.

(Cantidad)
muestre

la suma,

Clic Derecho sobre el objeto que representa la expresin (Cant*Preven), luego clic, en la
opcin: Propiedades.
1158.
1159.
1160.
1161.
1162.
Luego en la ventana que se presente, mostrar un grupo de opciones, seleccionamos
la opcin Clculos, haciendo Clic sobre ella.
1163.
1164.
Finalmente en el grfico de la
parte
derecha, seleccionamos opcin SUMA. Para
terminar, hacemos clic en: Aceptar.
1165.
1166.
En esta pantalla y en la otra
1167.
1168.
De esta manera, habremos creado el segundo reporte.
1169.
2.1.3.3. REPORTE CON MS UN GRUPO
1170.
1171.
El siguiente grfico, muestra un Modelo, de un reporte con ms de un grupo. Esta
agrupado por Mes, clientes y Nmero de factura. Tiene un sub-total de cada factura, mes y por
pgina. Asimismo el nmero de factura se imprime a la altura de los otros datos y no se repite.
1172.

1173.
1174.
1175.
El modelo de Informe a prepararse.
1176.
1177.
El diseador de Informes, que genera este tipo de reportes, se encuentra en la siguiente
pgina.
1178.
1179.
1.
Haga Clic en el Botn Ver Clases del Control de Formularios (Esta se encuentra al
lado derecho de la Flecha)
1180.
1181.
2.
Elija Agregar

1182.
1183.
1184.
1185.

1186.
1187.

Modelo de diseador

1188.
1189.
1190.
1191 .
Objetivo: Sentar las bases de la Programacin Orientada a Objetos, crear formularios y
codificar. Formulario: Una clase contenedora.
119 2.
1193.
Una coleccin de una o ms pginas que se comporta como una ventana o un
cuadro de dilogo estndar. Un formulario contiene controles para mostrar y modificar datos.
Los formularios pueden estar contenidos dentro de un conjunto de formularios.
1194.
1195.
Creando un Formulario:
1196.

1197.
1198.

1199.
2.1.3.4. DISEO DE FORMULARIOS
1200.
1201.
Nota: para hacer diseo en formulario, tambin utilizaremos los controles, tal como se
observan en la pantalla anterior. Similar como lo haca en Informes, hacer Clic en control A,
luego hacer Clic en el formulario. De esta manera estar creando un Label (Etiqueta), para Text
lo har con ab, etc.
1202.
1203.
En esta oportunidad vamos a disear, un formulario que nos pida Digitar un texto y
que esta al ser aceptado, se refleje como un nuevo mensaje en el ttulo del formulario. Pasos a
seguir:
1204.
1205.
1.
Haga Clic en control A
1206.
2.
Lleve el Mouse sobre el formulario y haga clic en ella
1207.
3.
Haga Clic en Control ab
1208.
4.
Lleve el Mouse sobre alguna ubicacin del formulario, donde crea sea til y haga
Clic en ella.
1209. 5.
Supongo que ya entendi, como funciona esto. Complete lo resto, hasta que su
pantalla presente similar al siguiente grfico.
1210.

1211.
1212.
1213.
El usuario a de observar, que en el formulario existen cuatro objetos
1214.
1215.
Cada objeto del formulario anterior, lleva un nombre por defecto. Pero nosotros
como buenos programadores, las podemos cambiar a nuestra voluntad. Y eso los vamos a hacer.
1216.
1217.
6.
Presione Botn Derecho del Mouse, sobre Label1, y luego haga Clic en
Propiedades.
1218.
7.
En la lista de propiedades, ubique propiedad NAME y haga clic en ella.
1219.
8.
Al costado del smbolo de funcin fx, aparece label1 en azul, Digite obre ella
lblmensage.
1220.
9.
Haga clic en Text1, esta vez tambin vuelve a aparecer, el nombre inicial, cambie
por Txtmensaje.
1221.
10. Asigne Ud. los nombres a los objetos que faltan: Comand1 como CmdAceptar y
Command2 por
1222.
CmdSalir
1223.

1224.
1225.
1226.
Ahora vamos a cambiar la etiqueta (titulo) de los objetos (recuerde text no lo tiene), los
pasos son los mismos, esta vez la propiedad que satisface nuestra necesidad es: CAPTION
1227.
1228.
11.
Aqu se dan un listado de las etiquetas para los Objetos (reconocidos por sus
nuevos nombres).
1229.
1230. Etiqueta
Objeto
1231. Digite un Texto
LblMensaje
1232. Aceptar
CmdAceptar
1233. Salir
CmdSalir
1234.
1235.
1236.
1237.
1238.
1239.
1240.
1241.
1242.
1243.
1244.
1245.
1246.
1247.
1248.
1249.
1250.
1251.
1252.
1253.
1254.
1255.
1256.
1257.
Hasta aqu Ud. ha aprendido, cambiar nombre y ttulo del Objeto.

1258.
1259.
12. Aqu se muestra un ejemplo a donde debemos llegar, cuando nuestro formulario ya
est completamente preparado y ejecutndose:
1260.

1261.
1262.
1263.
1264.
El ttulo actual del formulario se observa como: Universidad Nacional de
Ingeniera, pero ya hemos digitado en Txtmensaje, el mensaje: Centro de Extensin y
Proyeccin Social. VFP, para cambiar el ttulo, est solo a la espera que el usuario haga Clic en
Aceptar presione la tecla: Enter.
1265.
1266.
Pero si el usuario desea abandonar el sistema, puede presionar ESC. hacer clic en
Salir. Asimismo al acercar el Mouse sobre cualquiera de los botones comando, esta debe
hacer mostrar un mensaje de ayuda, explicando lo que debe suceder si hace Clic sobre ella.
1267.
1268.
Para que VFP, haga todo lo que hemos hecho mencin en la parte anterior, haga los
siguientes pasos:
1269.
1270.
13. Seleccione el Objeto CmdAceptar (Aceptar) y cambie las propiedades: DEFAULT
por .T. (Verdadero) en
TOOL TIP TEXT, Digite el texto: Clic Aqu Actualiza el Ttulo del
Formulario
1271.
1272.
14. Similar en el Objeto CmdSalir (Salir): CANCEL por .T. (Verdadero) en TOOL TIP
TEXT, Digite el texto: Termina la ejecucin del sistema.
1273.
1274.
15. Haga Clic en ttulo del Formulario, luego en la lista de propiedades busque: SHOW
TIPS. Cambie por .T. Verdadero
(Show Tips pertenece al formulario, y no a otro objeto
cualquiera)
1275.
1276.
Tiempo de Ejecucin:
1277.
1278.
16. Haga doble Clic en Aceptar, luego Digite tal como observa en la figura:
1279.

1280.
1281.
1282.
Presione Ctrl+W, para Salir y guardar
1283.
1284.
17.
Similar que en la parte anterior haga sobre el objeto Salir, esta vez Digite: Release
Thisform
1285.
18. Ejecutar el Formulario:
1286.
Haga Clic en botn Ejecutar ( ! ),
1287.

1288.
1289.
1290.
19. A la consulta anterior, responda S y guarde.
1291.
20. Debe ejecutarse sin problemas, caso contrario consulte con su profesor.
1292.
1293.
Vamos a preparar un formulario aplicativo, a la Base de Datos. Por ejemplo: hacer
mantenimiento de la tabla Articulo.dbf.
1294.
1295.
Pasos a seguir:
1296.
1297.
1.
Abrir la Base de Datos
Archivo
Abrir
Base de Datos: Ventas
1298.
1299.
2.
Crear un Nuevo Formulario
Archivo
Nuevo
Formulario
Nuevo Archivo
1300.
1301.
3. Presionar: Botn Derecho, sobre el rea del Formulario
1302.
4. Clic en: Entorno de datos (del Men contextual)
1303.
5. Doble Clic en Articulo.dbf

1304.

6. Usando Mouse, puede presentar similar a la figura.

1305.
1306.
1307.
7.
Podemos crear en nuestro formulario, los objetos: Etiquetas, Texts y
Commands, luego con la propiedad: Control Source direccionar a los campos de la tabla. Pero
esta vez, vamos a hacer uno ms simple:
1308.
1309.
8.
Haga Clic sobre la palabra Campos de Artculo y arrastre hacia el formulario y
suelte.
1310.

1311.
1312.
1313.
As debe de observarse, los campos
1314.
1315.
9.
Haga Clic en cada objeto y re-ubicar los objetos, asimismo cambie el ttulo de las
etiquetas.
1316.
(Observe el siguiente grfico)
1317.

1318.
1319.
(Aqu debe llegar, usando propiedad: Caption)
1320.
10. Haga Clic en el Botn Ver Clases del Control de Formularios (Esta se encuentra al
lado derecho de la Flecha)
1321.
11. Elija Agregar
1322.
12. buscar la Carpeta WIZARDS, que se encuentra dentro de la carpeta del Visual FoxPro.
1323.

1324.
1325.
1326.
13. Haga Doble Clic en, objeto Wizstyle.
1327.
14. En el siguiente grfico, se observa una gama de botones de clases. Ubique aquel
botn de nombre
1328.
1329.
PICBTNS (Para ello utilizar los Tool Tip Text de cada botn. En el siguiente grfico,
este botn se encuentra en la quinta fila y cuarta columna)
1330.

1331.
1333.
1334.
1335.

1332.
15. Haga Clic sobre el formulario debajo de Stock
16. Vuelva a acomodar similar al siguiente grfico.

1336.
1337.
1338.
1339.
1340.

17. Guardar (asigne el nombre que desee)


18. Ejecutar

1341.
1342.
1343.
DISEO DE FORMULARIOS
1344.
1345.
A la hora de disear formularios usted tiene que estar familiarizado con las ventanas
siguientes:
1346.

1347.

1348.
1349.
2.1.3.4.1. CMO CREAR UN NUEVO FORMULARIO:
1350.
1351.
Para crear un nuevo formulario debe de realizar los siguientes pasos:
En el Administrador de Proyectos, pulse documentos
Pulse Formulario para seleccionar la categora
Pulse botn nuevo
1352.
1353.
Aparece en cuadro de dilogo Nuevo Formulario. Este cuadro refleja la posibilidad de
utilizar el Asistente para formularios o construir uno nuevo.
1354.
1355.
Sugerencia: utilice el Asistente para formularios para desarrollar formularios simples de
introduccin de datos. El Asistente para formularios hace una serie de preguntas para guiarle
durante el proceso de creacin del formulario. El Asistente permite la creacin de un formulario
para nica tabla o para tablas uno a muchos.
1356.
1357.
Pulse el botn Nuevo formulario y aparecer el Generador de formularios.
1358.

1359.

1360.
1361.
El Generador de formularios visualiza Form1 en la ventana DocForm1, indicando que ste
es el primer formulario que tiene abierto en este proyecto. Podr cambiar de nombre Docform1 por
el nombre que indique al guardar el formulario. Form1 es un rea de trabajo en blanco.
1362.
1363.
Tambin aparecer la barra de herramientas con los controles para la creacin de
formularios.
1364.
2.1.3.4.2. AGREGACIN DE OBJETOS A SU FORMULARIO
1365.
1366.
Una vez que tenga en pantalla una ventana de formulario en blanco, Form1, inserte
objetos para crear el su formulario.
1367.
1368.
MS Visual Foxpro 6.0 ofrece dos tipos de objetos que se pueden insertar en un nuevo
formulario: objetos contenedores y objetos de control. Podemos acceder a estos objetos desde la
barra de herramientas Controles de formulario o desde el Administrador de proyectos.
1369.

1370.

ACTIVIDAD INDICADOR 2.1.3.

1371.Instrucciones: Aplicando los pasos para crear tablas, proceda a


crear las tablas que resultaron de el proceso de normalizacin
realizada en la actividad 1.1.1 con sus respectivos formularios en
Visual FoxPro.
1372.
1373.Las habilidades que se deben demostrar en este nivel son: El
estudiante selecciona, transfiere, y utiliza datos y principios para
completar una tarea o solucionar un problema.
1374.
1375.
1376.
1377.

Qu hace el estudiante?
El estudiante valora, evala o critica en base a estndares y criterios especficos.

1378.

GLOSARIO 2.1.1

1379.
1380.
1381.

1382.
1384.
1386.

1388.
1389.

1390.
1392.
1394.
1396.

1397.

1398.
1400.
1402.
1404.

1405.

1406.
1408.
1410.
1412.

1413.

1414.
1416.
1418.
1420.

1421.

1422.
1424.
1426.
1428.

1429.

1430.
1432.
1434.
1436.

1437.
1438.

1439.
1441.
Asignatura
:

Centro de Estudios Tcnicos y Avanzados de


Chimaltenango.

1440.
1443.
Profesor(a):

1442.

Tercera Unidad
1444.

1445.

PLANIFICACION UNIDAD DE APRENDIZAJE


1447.
Declarativos:
1449.
1450.
1448.
1451.
1452.
1453.
ACTIVIDAD
DE
1454.
PROCEDIMIE
1455.
APRENDIZAJE
NTO
FECHA
1458.
Planteamientos
de interrogantes.
1461.
1457.
Clase Magistral, Consulta libro
1459.
Redaccin de
de texto, e Internet, sobre los temas
Ensayos.
1462.
propuestos en esta unidad.
1460.
Mesas
de
Dialogo.
1472.
SEMANA 2
1473.
Declarativos:
1475.
1476.
1474.
1477.
1478.
1479.
ACTIVIDAD
DE
1480.
PROCEDIMIE
1481.
APRENDIZAJE
NTO
FECHA
1484.
Mesas
de
1483.
Clases Magistral, consultas
Dialogo.
1487.
sobre terminologa aplicada a la forma
1485.
Redacta
de proponer los temas propuestos para
informes.
1488.
esta unidad.
1486.
Textos
Paralelos.
1498.
SEMANA 3
1499.
Declarativos:
1501.
1502.
1503.
1500.
1504.
1505.
1506.
1507.
ACTIVIDAD
DE
1508.
PROCEDIMIE
1509.
APRENDIZAJE
NTO
FECHA
1512.
Planteamiento
de interrogantes.
1511.
Clase
Magistral,
consulta
1513.
Redaccin de
1515.
Internet, libros, folletos, lo relacionado
Ensayos.
los temas propuestos en esta unidad.
1514.
Textos
paralelos.
1525.
SEMANA 4
1526.
Declarativos:
1528.
1529.
1527.
1530.
1531.
1532.
1533.
ACTIVIDAD
DE
1534.
PROCEDIMIE
1535.
APRENDIZAJE
NTO
FECHA
1538.
Planteamiento
de Interrogantes.
1537.
Consulta
Internet,
libros
1539.
Laboratorios
folletos,
Clases
Magistrales,
lo
orales.
1542.
relacionado a los temas que estn
1540.
Exposiciones
propuestos para esta unidad.
individuales.
1541.
Creacin
de
Portafolios.
1552.
SEMANA 5
1553.
Declarativos:
1554.
1555.
1556.
1557.
1558.
1446.

SEMANA 1

1456.
PUNTEO
1463.

1482.
PUNTEO
1489.

1510.
PUNTEO
1516.

1536.
PUNTEO

1543.

1559.
1560.
ACTIVIDAD
APRENDIZAJE

DE

1564.
Clases Magistrales, consulta
en libros e internet, lo relacionado los
temas que estn propuestos para esta
unidad.

1561.
PROCEDIMIE
NTO
1565.
Redaccin de
ensayos.
1566.
Textos
Paralelos.
1567.
Creacin
de
portafolios.

1562.
FECHA

1563.
PUNTEO

1568.

1569.

1578.

SEMANA 6

1579.

EVALUACION FINAL DE UNIDAD

1580.

Prueba Objetiva Bimestral

1581.

Sobre contenido terico y prctico visto en clase

1582.

1583. Proyecto
de unidad
1584.
1585.
1586.
1587.
1588.
1589.
1590.
1591.
1592.
1593.
1594.
1595.
1596.
1597.
1598.
1599.
1600.
1601.

1602.
1603.
1604.
1605.

1606.

1607.

1608.

1609.

1610.

UNIDAD 3

COMPETENCIA 3.1

1611.

1612.
"Soluciona problemas comunes
relacionados al manejo de informacin
manual, a travs de un sistema
informtico generado en Visual FoxPro,
utilizando Objetos, Clases y ActiveX
como parte elemental de un sistema de
aplicacin actual en ambiente Windows"
1613.
1614.
1615.

1616.

INDICADOR 3.1.1

1617.
Aplica formularios y otros mtodos dentro de los
controles comunes de una aplicacin Windows.
1618.

1619.

1620.
1621.
1622.
1623.
1624.
1625.
1626.
1627.
1628.
1629.
1630.
1631.
1632.

1633.

3.1.1. FORMULARIOS Y OTROS MTODOS

1634.
1635.
OBJETOS CONTENEDORES:
1636.
1637.
Un objeto contenedor es un objeto primario que contiene otros objetos subordinados. Por
ejemplo, un formulario es el objeto contenedor que es propietario de un botn de comando
visualizado en el formulario. Otros objetos contenedores pueden incluir marcos de pgina,
cuadrculas y grupos de botones de comando.
1638.
1639.
Objetos de control: Un objeto de control permite al usuario seleccionar opciones, introducir
datos y escoger acciones. En un formulario, estos objetos pueden incluir casillas de verificacin,
botones de comando, cuadros de texto y cuadrculas.
1640.
1641.
EL OBJETO FORM

1642.
1643.
1644.

Propiedades ms comunes de la forma:


1645.
1646.
Nomb
1647.
Ti
1648.
Descripcin
re
po
de
dato
1649.
Captio
1650.
Ca
1651.
Titulo de la ventana o Forma
n
rcter
1652.
Autoce
1653.
Bo
1654.
Para central la Forma
nter
oleano
1655.
ShowT
1656.
Bo
1657.
Para que se muestren los Tooltips
ips
oleano
1658.
Closab
1659.
Bo
1660.
Visualiza el botn de Cerrar la
le
oleano
Ventana (X)
1661.
MaxBu
1662.
Bo
1663.
Visualiza el botn de Maximizar la

tton
oleano
Ventana
1664.
MinBut
1665.
Bo
1666.
Visualiza el botn de Minimizar la
ton
oleano
Ventana
1667.
Contro
1668.
Bo
1669.
Visualiza el Men de Control de la
lBox
oleano
Ventana.
1670.
1671.
Eventos o Mtodos ms comunes de la Forma
1672.
1673.
Nombre
1674.
Descripcin
1675.
Init
1676.
Se dispara a la hora que se inicializa todos
los objetos de la forma.
1677.
Load
1678.
Se dispara antes que se inicialicen los
objetos de la forma (antes que Init)
1679.
Destroy
1680.
Se dispara al cerrar la forma
1681.
Unload
1682.
Se dispara despus de Destroy.
1683.
1684.
1685.
UTILIZACIN DE MLTIPLES PGINAS EN UN FORMULARIO SIMPLE.
1686.
1687.
En VFP, un formulario simple puede contener mltiples pginas que visualicen diferentes
conjuntos de datos y controles. En la parte superior del formulario, una ficha representa cada
pgina. Podemos pulsar en una ficha para mostrar el contenido de la pgina.
1688.
3.1.1.1. CMO CREAR UN FORMULARIO DE VARIAS PGINAS
1689.
1690.
Pulse el botn Marco de pgina (page frame) en la barra de herramientas Controles de
formulario.
1691.
1692.
Site el cursor en la esquina superior izquierda de form1. ( El cursor cambia su forma a
cruceta) Pulse en la esquina superior izquierda del formulario y arrastre el cursor hacia la esquina
inferior derecha para crear un marco de pgina que cubra la mayor parte de la ventana form1.
Deje un espacio de unos dos centmetros en la parte inferior del formulario para los botones de
comando que se agregarn despus en esta leccin.
1693.

1694.
1695.
1696.
1697.

Propiedades mas comunes de la pginas:


1698.
re

Nomb

1701.
ount
1704.

Pagec
TabSty

1699.
po
dato
1702.
mrico
1705.

Ti
de

1700.

Nu

1703.
Fija el nmero de Folders o
pginas (Page1, page2...)
1706.
Justificacin de las pginas.

Nu

Descripcin

le
1707.
1710.

Visible

mrico
1708.
Bo
oleano
1711.

1709.

Si el control es visible al usuario.

1712.

1713.
1714.
3.1.1.2. AGREGACIN DE CUADROS DE TEXTO Y CUADROS DE EDICIN
1715.
1716.
Cmo agregar objetos en la pgina 1 (page1):
1717.
1718.
Con el botn derecho del ratn, pulse sobre Page1 en el formulario. Aparece un men
instantneo
1719.
Seleccione la ventana propiedades
1720.
Aparece el cuadro de dilogo propiedades, donde muestra Page1 en el cuadro de
texto.
1721.

1722.
1723.
Pulse el botn Flecha hacia abajo.
1724.
Seleccione Page1 en el cuadro de texto Objeto.
1725.
1726.
Sugerencia: Cada vez que inserte un objeto en un formulario, marco de pgina o
cuadricula, compruebe en la ventana Propiedades que ha colocado el objeto en el contenedor
apropiado.
1727.
1728.
Como Agregar de cuadros de texto directamente de una tabla:
1729.
1730.
Seleccione Ver el men Generador de Formularios
1731.
Seleccione Entorno de Datos (Data Environment)
1732.
Seleccione Entorno de datos (Data Environment) en el men de Visual Foxpro y luego
Agregar.
1733.

1734.
1735.
1736.
Sugerencia: Tambin puede abrir la ventana Agregar tabla o vista con el botn derecho
del ratn. Utilizando el botn derecho del ratn, pulse en cualquier parte del Entorno de datos y
luego seleccione Agregar. Para obtener la ventana de Entorno de Datos o la ventana de
propiedades, utilice el botn derecho del ratn pulsando fuera del marco de pgina, pero dentro
del formulario. Aparece un men instantneo desde el que puede hacer la seleccin.
1737.
1738.
Aparece la ventana Agregar tabla o vista, confirme si es la Base de Dato deseada y pulse
dos veces en la tabla a utilizar.
1739.
1740.
Seleccione el campo deseado en la lista de campos de la tabla, arrstrelo hacia el
formulario y djelo en cualquier parte del mismo. En el formulario aparecer el cuadro de
texto.text1
1741.
1742.
Pulse y arrastre el cuadro de texto text1 a la posicin que desee.
1743.
Sugerencia: Para desplazar un control de texto, pulse sobre l y arrstrelo hacia otro
lugar en el formulario. Para modificar el tamao del cuadro de texto, pulse sobre l y luego arrastre
algunos de los mrgenes.

1744.
1745.
1746.
1747.
1748.

PROPIEDADES MAS COMUNES DEL TEXT (CONTROL DE TEXTO):


Nomb
re

1751.
Contro
lsource
1754.

Value

1749.

Ti
po de
1750.
Descripcin
dato
1752.
Se
1753. Es la variable o nombre del campo al cual hace
gn la
referencia.
variable
1755.
Se
1756.
Contenido de la variable o campo
gn la
referenciado en controlsource
variable

1757.

Visible

1760.
d
1763.
1764.

Enable

1759.

Si el control es visible al usuario.

1762.

Si el control esta habilitado o no.

CONTROL BOTN DE COMANDO:


1765.
Propiedades mas comunes del Botn :

1766.
1767.

1780.
1781.
1782.

1758.
Bo
oleano
1761.
Bo
oleano

1768.

Nomb
re

1771.
n
1774.

Captio

1777.
d

Enable

Visible

1769.

Ti
po de
dato
1772.
Ca
rcter
1775.
Bo
oleano
1778.
Bo
oleano

1770.

Descripcin

1773.
Aqu)
1776.

Etiqueta del comando (Ej. Clic

1779.

Si el control esta habilitado o no.

Si el control es visible al usuario.

Eventos o Mtodos ms comunes del control

1783.
Nombre
1785.
Init

1786.
objeto
1788.
1790.
1792.
1794.

1784.
Descripcin
Se dispara a la hora que se inicializa el

1787.
Clic
Se dispara al dar clic en el objeto
1789.
Setfocus
El cursor se va al objeto.
1791.
Lostfocus
Se dispara cuando el objeto pierde el cursor.
1793.
Refresh
Refresca el objeto.
1795.
1796.
CMO ASOCIAR UN PROCEDIMIENTO A UN BOTN:
1797.
1798.
Haga doble clic en el botn. Aparece una ventana de cdigo:
1799.

1800.

1801.
1802.
1803.

CONTROL BOTN DE CUADRO DE EDICIN:

1804.
1805.
1806.
1807.

Propiedades ms comunes del control de edicin


1808.

Nomb
re

1811.
Contro
lsource
1814.

Value

1817.

Visible

1820.
d

Enable

1809.

Ti
po de
dato
1812.
Se
gn la
variable
1815.
Se
gn la
variable
1818.
Bo
oleano
1821.
Bo
oleano

1810.

Descripcin

1813.
Es la variable o nombre del
campo al cual hace referencia.
1816.
Contenido de la variable o campo
referenciado en controlsource
1819.

Si el control es visible al usuario.

1822.

Si el control esta habilitado o no.

1823.
1824.
Eventos o Mtodos ms comunes del control de edicin
1825.
1826.
Nombre
1827.
Descripcin
1828.
Init
1829.
Se dispara a la hora que se inicializa el
objeto
1830.
Clic
1831.
Se dispara al dar clic en el objeto
1832.
Setfocus
1833.
El cursor se va al objeto.

1834.
1836.

Lostfocus
Valid

1838.
Refresh
1840.
CONTROL DE OPCIONES:

1835.
Se dispara cuando el objeto pierde el cursor.
1837.
Se dispara despus de presionar Enter o
Tab, se utiliza para validar.
1839.
Refresca el objeto.

1841.
1842.
1843.
1844.

Propiedades mas comunes del control de opciones


1845.
re

Nomb

1848.
Contro
lsource
1851.

Value

1854.

Visible

1857.
d

Enable

1846.
po de
dato
1849.
mrico
1852.
mrico
1855.
oleano
1858.
oleano

Ti
1847.
Nu
Nu
Bo
Bo

Descripcin

1850.
Es la variable o nombre del
campo al cual hace referencia.
1853.
Contenido de la variable o campo
referenciado en controlsource
1856.

Si el control es visible al usuario.

1859.

Si el control esta habilitado o no.

1860.
1861.
EVENTOS O MTODOS MS COMUNES DEL CONTROL DE OPCIONES
1862.
1863.
Nombre
1864.
Descripcin
1865.
InteractiveChange
1866.
Se dispara cuando modificamos el campo
1867.
Init
1868.
Se dispara a la hora que se inicializa el
objeto
1869.
Clic
1870.
Se dispara al dar clic en el objeto
1871.
Setfocus
1872.
El cursor se va al objeto.
1873.
Lostfocus
1874.
Se dispara cuando el objeto pierde el cursor.
1875.
Valid
1876.
Se dispara despus de presionar Enter o
Tab, se utiliza para validar.
1877.
Refresh
1878.
Refresca el objeto.
1879.
1880.
CONTROL CHECK:
1881.
1882.
1883.
1884.

PROPIEDADES MAS COMUNES DEL CONTROL CHECK


1885.
re

Nomb

1888.
Contro
lsource
1891.
Value

1900.

1894.

Visible

1897.
d

Enable

1886.
po
dato
1889.
oleano
1892.
oleano
1895.
oleano
1898.
oleano

Ti
de

1887.

Bo

Bo

1890.
Es la variable o nombre del
campo al cual hace referencia.
1893.
Contenido de la variable o campo
referenciado en controlsource
1896.
Si el control es visible al usuario.

Bo

1899.

Bo

Descripcin

Si el control esta habilitado o no.

1901.
EVENTOS O MTODOS MS COMUNES DEL CONTROL CHECK
1902.
1903.
Nombre
1904.
Descripcin
1905.
InteractiveChange
1906.
Se dispara cuando modificamos el campo
1907.
Init
1908.
Se dispara a la hora que se inicializa el
objeto
1909.
Clic
1910.
Se dispara al dar clic en el objeto
1911.
Setfocus
1912.
El cursor se va al objeto.
1913.
Lostfocus
1914.
Se dispara cuando el objeto pierde el cursor.
1915.
Valid
1916.
Se dispara despus de presionar Enter o
Tab, se utiliza para validar.
1917.
Refresh
1918.
Refresca el objeto.
1919.
1920.
CONTROL GRID:

1921.
1922.
1923.
1924.
1925.

PROPIEDADES MS COMUNES DEL CONTROL GRID:


1926.
re

Nomb

1929.
Recor
dsource
1932.
Visible
1935.
Enable
d
1938.
Colum
nCount
1941.
Delete
mark

1927.
po
dato
1930.
rcter
1933.
oleano
1936.
oleano
1939.
merico
1942.
oleano

Ti
de

1928.

Descripcin

Ca

1931.

Nombre de la tabla

Bo

1934.

Si el control es visible al usuario.

Bo

1937.

Si el control esta habilitado o no.

1940.

Numero de columnas del Grid

Bo

1943.
Permite registro para borrar
( Aparece en la parte izquierda del Grid)

1944.
1945.
Eventos o Mtodos ms comunes del control Grid:
1946.
1947.
Nombre
1948.
Descripcin
1949.
Init
1950.
Se dispara a la hora que se inicializa el
objeto
1951.
Clic
1952.
Se dispara al dar clic en el objeto
1953.
Setfocus
1954.
El cursor se va al objeto.
1955.
Lostfocus
1956.
Se dispara cuando el objeto pierde el cursor.
1957.
Refresh
1958.
Refresca el objeto.

1959.
1960.
1961.

CONTROL LISTAS:

1962.
1963.
1964.
1965.

PROPIEDADES MAS COMUNES DEL CONTROL LISTAS

1981.
Enable
d
1984.
Bound
Column

1967.
Ti
po de
dato
1970.
Se
gn la
variable
1973.
Ca
rcter
1976.
Nu
mrico
1979.
Bo
oleano
1982.
Bo
oleano
1985.
Nu
mrico

1987.
To

1988.
Bo
oleano

1966.
re

Nomb

1969.
Contro
lsource
1972.
RowS
ource
1975.
RowS
ourceType
1978.

Visible

Bound

1968.

Descripcin

1971.
Variable a que hace referencia
(campo donde se almacena el valor de la
lista)
1974.
Tabla o query de los elementos
de la lista
1977.
Tipo de la Fuente (Si es tabla o
query.)
1980.

Si el control es visible al usuario.

1983.

Si el control esta habilitado o no.

1986.
Valor que retorna la lista (Nmero
de la columna del RowSource )
1989.
Especifica si el valor de la lista
esta determinado por los valores o por la
propiedad ListIndex

1990.
1991.
1992.
EVENTOS O MTODOS MS COMUNES DEL CONTROL LISTAS
1993.
1994.
Nombre
1995.
Descripcin
1996.
InteractiveChange
1997.
Se dispara cuando modificamos el campo
1999.
Se dispara a la hora que se inicializa el
1998.
Init
objeto
2000.
Clic
2001.
Se dispara al dar clic en el objeto
2002.
Setfocus
2003.
El cursor se va al objeto.
2004.
Lostfocus
2005.
Se dispara cuando el objeto pierde el cursor.
2007.
Se dispara despus de presionar Enter o
2006.
Valid
Tab, se utiliza para validar.
2008.
Refresh
2009.
Refresca el objeto.
2010.
2011.
3.1.1.3. FORMULARIOS SENCILLOS
2012.
2013.
Un Formulario Sencillo, es el que es realizado generalmente utilizando una sola tabla.
2014.
2015.
Un ejemplo tpico de formularios sencillos son las pantallas de los catlogos de un
Sistema, que solamente tienen la funcin de registrar, modificar, eliminar y consultar datos de una
tabla.
2016.
2017.
Por ejemplo vamos a construir una forma sencilla utilizando el Wizard de Visual Foxpro:
2018.
Abra su proyecto

2019.
2020.

Ubquese en la pestaa de documentos (document) y luego en Formas (Forms).


Presione el Botn Nuevo (New).

2021.
2022.
2023.
Seleccione Wizard. Aparece la siguiente ventana:
2024.
2025.
Seleccione Form Wizard y OK.
2026.
Luego aparece la ventana donde usted escoge la tabla a utilizar y los campos de esa
tabla.
2027.
2028.
2029.
2030.
2031.
2032.
2033.
Seleccione
2034.
Seleccione
Los campos que aparecern en la forma
2035.
la tabla
2036.
a utilizar
2037.
2038.
2039.
2040.
2041.
2042.
2043.
2044.
2045.
Una vez seleccionado la tabla y sus respectivos campos, presiones prximo (Next).
2046.
Se visualizar la siguiente ventana:
2047.
2048.
2049.
2050.
2051.
2052.
Seleccione el estilo de
Seleccione el tipo de botn
2053.
2054.
2055.
2056.
2057.
2058.
2059.
2060.
2061.
2062.

2063.
10. Seleccione el estilo de la forma y el tipo de botones a utilizar en la forma y luego
presione prximo (Next).
2064.
2065.
11. Aparecer la siguiente ventana:
2066.
2067.
2068.
2069.
Seleccione el ordenamiento de la tabla. (Por lo general se selecciona el ndice
2070.
2071.
2072.
2073.
2074.
2075.
2076.
2077.
2078.
2079.
2080.
12. Seleccione el ordenamiento de la tabla, aqu por lo general se selecciona el ndice de
la tabla ( los ndices aparecen con asterisco *)
2081.

2082.
2083.
2084.
2085.
13. Introduzca el titulo de la forma y luego Finalizar (Finish)
2086.
2087.
Visual FoxPro Generar la forma, luego usted puede modificar la forma si lo desea.
2088.
La forma, que creamos con el wizard, quedara de esta forma:
Barra de botones creada por el wizard (Contenido en la clase Wizstyle)
2089.
2090.
2091.
2092.
2093.
2094.
2095.
2096.
2097.
2098.
2099.
2100.
Nota: Reconstruya el proyecto en la opcin Build (botn del proyecto). Luego Seleccione
Rebuild Proyect y OK. Visual FoxPro, compila su proyecto.
2101.

2102.
Notar que en la pestaa de clases de su proyecto Visual FoxPro le ha agregado una
clase que l ocupa para construir formas con el Wizard, el nombre de la clase es WizStyle.
2103.
3.1.1.4.1. FORMULARIOS MAESTRO - DETALLE
2104.
2105.
Un formulario maestro detalles es aquel en que entran en juego dos o ms tablas, las
cuales tengan una relacin de uno a muchos. Ejemplo la relacin de s_region con s_dept (una
regin puede tener muchos departamentos).
2106.
2107.
Se pueden construir formas mestro-detalle utilizando el Wizard, sin embargo, nosotros
utilizaremos la forma manual para personalizar a nuestro gusto la forma.
2108.
3.1.1.4.2. PASOS PARA CONSTRUIR UNA FORMA MAESTRO - DETALLE
2109.
2110.
Para este ejemplo utilizaremos las tablas s_region y s_dept
2111.
2112.
Abra su proyecto
2113.
Ubquese en la pestaa de documentos (document) y luego en Formas (Forms).
2114.
Presione el Botn Nuevo (New).
2115.
Seleccione Nueva Forma en blanco.
2116.
2117.
En la forma en blanco presione el botn derecho del ratn y luego Entorno de Datos (Data
Environment)
2118.

2119.
2120.
2121.
6. Seleccione las tablas s_region, que ser el maestro y luego la tabla s_dept que ser
nuestro detalle.
2122.
2123.
7. Arrastre uno por uno los campos de la tabla s_region a su forma, de tal manera que
queden as:
2124.

2125.
2126.
2127.
8. Luego arrastre toda la tabla s_dept al formulario
2128.
2129.
Ahora vamos a modificar las propiedades del Grid que hemos insertado: seleccionan el
grid, botn derecho del ratn y luego propiedades. Se sitan en la pestaa datos, para modificar
las siguientes propiedades con el fin de establecer la relacin entre las dos tablas:

2130.
2131.
10. colocaremos los botones para Desplazarnos en la tabla, agregar, eliminar, grabar,
cancelar y salir.
2132.
Propiedad
Contenido
2133.
LinkMaster
La tabla maestra
2134.
(s_region)
2135.
RecorSource
La tabla hija
2136.
(s_dept)
2137.
RecordSourceType Tipo de fuente de
datos (Alias)
2138.
RelationalExpr
La relacin entre
2139.
las tablas
2140.
(s_region.id =
2141.
s_dept.region_id

2142.
2143.
2144.
2145.
2146.

3.1.1.5. BOTN
Cdigo para los botones:
2147.
2149.
ar
2152.
2154.
2156.
ar

Botn
Agreg
<<
>>
Elimin

2148.
2150.
2151.
2153.
2155.
2157.

Cdigo
INSERT INTO s_dept ( region_id ) ;
VALUES (s_region.Id)
SKIP -1
SKIP
DELETE IN s_dept

2158.

Grabar

2161.
ar
2164.

Cancel

2166.
2167.

Salir

2159.
2160.
2162.
2163.
2165.

SELECT s_dept
=TABLEUPDATE(.T.)
SELECT s_dept
=TABLEREVERT(.T.)
THISFORM.Release

3.1.1.5.1. MTODO DESTROY


2168.
o
2170.
y

Mtod

2169.

Cdigo

Destro

2171.
2172.

SELECT s_dept
=TABLEREVERT(.T.)

2173.
2174.
Importante: la tabla s_dept debe de estar en modo buffer, para que funcionen los
comando de TABLEUPDATE() y TABLEREVERT(). El modo buffer de la tabla lo puede fijar en
Entorno de datos y luego en las propiedades de la tabla s_dept, especficamente en la propiedad
BufferModeOverride.
2175.

2176.
2177.
2178. ACTIVIDAD INDICADOR 3.1.1.
2179.
2180.
Instrucciones: Realice una Forma detalle de la base de Datos
Biblioteca que permita mostrar los libros prestados,
2181.
2182.
De la base de datos Clnica creada en la pgina 33 en la actividad
1.1.2 proceda a crear en las tablas y formularios: Paciente, Mdicos e
Ingresos.
2183.
2184.
Las habilidades que se deben demostrar en este nivel son: El estudiante selecciona,
transfiere, y utiliza datos y principios para completar una tarea o solucionar un problema.
2185.
2186.
Qu hace el estudiante?
2187.
Recuerda y reconoce informacin e ideas adems de principios aproximadamente en
misma forma en que los aprendi.
2188.
2189.
2190.
2191.
2192.

2193.

INDICADOR 3.1.2

2194.
3.1.1.2 Aplica el uso de las Clases y objetos
ActiveX como elementos necesarios para las aplicaciones de
Windows de nuevas generaciones de software actual.
2195.

2196.

2197.

3.1.2. CLASES, OBJETOS, ACTIVEX, PROGRESS BAR

2198.
3.1.2.1. CREACIN DE CLASES DE OBJETOS
2199.
2200.
En Visual Foxpro se pueden crear clases de objetos que pueden de uso muy comn, como
por ejemplo el botn salir es muy comn en todas las pantallas.
2201.
3.1.2.1.1. PASOS PARA CREACIN DE CLASES
2202.
Abra su proyecto
Ubquese en la pestaa de classes.
Presione el Botn Nuevo (New).
2203.

2204.
2205.
Introduzca el nombre de la clase, el tipo de clase (en este caso Botn de comando) y guardarlo
como curso.
Inmediatamente aparecer la siguiente pantalla:
2206.

2207.
2208.
Personalice el botn y luego cierre la ventana y slvelo.
2209.
2210.
La clase que usted ha creado aparecer en la pestaa clases de su proyecto:
2211.
2212.

2213.
2214.

2216.
2217.

CMO HACER USO DE LA CLASE :

2215.
Cree o Abra una forma
Ver Clases

2218.
2219.
2220.
2. presione el botn de ver clases y luego agregar (Add) y seleccione la clase que usted
ha creado.
2221.
2222.
3. Aparecer la clase que usted ha creado con el botn de salir
2223.

2224.
2225.
2226.
Para poner el botn en la forma, seleccione el botn en la barra de controles y luego clic
en la forma.
2227.

2228.

3.1.2.2. ACTIVEX

2229.
3.1.2.2.1. SOPORTE DE TECNOLOGA ACTIVEX
2230.
2231.
Cuando usted instala Visual Foxpro, se instalan una serie de controles ActiveX soportados
por Visual Foxpro.
2232.
2233.
Un ActiveX, no es ms que un control externo, es parecido a una clase ya que las clases
se pueden guardar en un archivo (extensin VCX) y los ActiveX tienen extensin OCX. La
diferencia es que los VCX solo puede ocuparse en Visual Foxpro, mientras que los OCX se
consideran como tecnologa abierta, es decir, pueden ser utilizado por cualquier lenguaje visual
como Visual C++ o Visual Basic, por mencionar algunos.
2234.
2235.
Estos controles ActiveX, vienen hechos de fabrica, son comercializables y no son
modificables, sin embargo uno puede crear sus propios OCX. Los lenguajes donde se pueden
construir estos OCX actualmente son Visual C++ y Visual Basic. En visual Foxpro 6.0 usted no
puede crear OCX.
2236.
2237.
Hay que tener mucho cuidado a la hora de comprar un OCX y verificar que lenguajes
soporta, porque algunos OCX no son soportados por algunos lenguajes visuales incluso con
Visual Foxpro.
2238.
2239.
CMO HACER USO DE LOS ACTIVEX EN VISUAL FOXPRO:
2240.
2241.
Un OCX es un objeto por lo cual tiene propiedades y eventos implcitos en l.
2242.
En el curso, utilizaremos dos Controles ActiveX :
OutLine control
Microsoft Progress Bar Control
2243.
2244.
OutLine control:
2245.
El Outline Control se utiliza para hacer rboles como por Ejemplo: Regiones con
departamentos (maestro-detalle)

2246.
3.1.2.2.2. CMO AGREGAR UN ACTIVEX A LA FORMA:
2247.
Abra o Cree una nueva forma.
Seleccione Ver clases
Seleccione ActiveX Control
Seleccione el control deseado, en este caso el Outline Control y pngalo en la forma.
2248.

2249.

2250.
2251.
5. Vamos a crear una forma maestro detalle utilizando el Outline Control. El Outline control
presentar la informacin de las Regiones y vamos a agregar un Grid que sern los
departamentos, Algo as:
2252.

2253.
2254.
2255.
2256.
2257.

3.1.2.3. MTODO INIT


Completar Cdigo del Outline control:
2258.
o
2260.
2261.
2262.
2263.
2264.
2265.
2266.

2287.
2288.

Mtod

Init

Clic

2259.

Cdigo

2267.
2268.
2269.
2270.
2271.
2272.
2273.
2274.
2275.
2276.
2277.
2278.
2279.
2280.
2281.
2282.
2283.
2284.
2285.
2286.
2289.
2290.
2291.
2292.

*------------------------------------* Cargar el OCX


*------------------------------------*-------pnIndex = 0
THIS.Additem( "Regiones" )
THIS.Indent( pnIndex ) = pnIndex
Select s_region
SCAN
pnIndex = pnIndex + 1
datos = ALLTRIM(name)
THIS.Additem(datos)
THIS.Indent( pnIndex ) = 1
THIS.PictureType(pnindex) = 2
THIS.ListIndex = pnindex
THIS.ItemData(pnIndex) = RECNO()
ENDSCAN
SELECT s_region
GO RECORD THIS.ItemData(THIS.ListIndex)
THISFORM.REFRESH()

2293.
2294.
El ltimo paso es agregar el Grid con la tabla departamentos y luego establecer la relacin
con la tabla de regiones.
2295.
2296.

2297.
2298.
2299.
2300.

3.1.2.4. PROGRESS BAR CONTROL


Este control permite hacer una barra de progreso:

2301.
2302.
2303.

3.1.2.4.1. PROPIEDAD
2304.
ad
2306.
2308.
2310.

Propied

2305.

Descripcin

Max
Min
Value

2307.
2309.
2311.

Mximo valor de la Barra (numrico)


Mnimo valor de la Barra (numrico)
Valor actual de la barra (numrico)

2312.

2313.
2314. ACTIVIDAD INDICADOR 3.1.2.
2315.
2316.
Instrucciones: Realice un formulario para mostrar de la base de
datos Biblioteca muestre los colegios que tienen ms libros prestados,
2317.
2318.
Las habilidades que se deben demostrar en este nivel son: El
estudiante selecciona, transfiere, y utiliza datos y principios para
completar una tarea o solucionar un problema.
2319.
2320.
Qu hace el estudiante?
2321.
Recuerda y reconoce informacin e ideas adems de principios aproximadamente en
misma forma en que los aprendi.
2322.
2323.

2324.

INDICADOR 3.1.3.

2325.
Aplica el uso de Objetos OLE, Aplicaciones en
Grupos para optimizacin de rendimientos en tiempo de
ejecucin, en actividades cotidianas.
2326.

2327.
2328.

3.1.3. OLE, APLICACIONES, FORMULARIOS Y GROUPING

2329.
3.1.3.1. ALMACENAR OBJETOS OLE EN LA BASE DE DATOS
2330.
2331.
Con Visual Foxpro se pueden almacenar objetos OLE en la Base de Datos, estos objetos
OLE van desde una simple imagen BMP de Paintbruhs hasta un video clip, un documento en
Word, una hoja en Excel un grafico.
2332.
2333.
Esto se llama OLE Automation (automatizacin OLE)
2334.
2335.
2336.
2337.
2338.
2339.
2340.

3.1.3.2. APLICACIN
El campo de la tabla debe ser tipo General
Utilizar el control OLE Bound Control de Visual Foxpro
Utilizar el Comando APPEND GENERAL
Sintaxis de APPEND GENERAL
2341. APPEND GENERAL Nombre Campo tipo General
2342.
[FROM Nombre Archivo]
2343.
[DATA Nombre de Variable]
2344.
[CLASS Nombre de la Clase OLE]
2345. FROM : Por si deseamos insertar un Archivo existente en el disco
2346. DATA : Si no es un archivo puede ser una variable, entonces se especifica aqu.
2347. CLASS : El nombre de la clase de la aplicacin al que esta asociada el archivo o
la variable.
2348. Toda aplicacin Windows ( Word, Excel, Graph, Paint, WordPad, Block de Notas,
Power Point, entre otras) tienen un nombre de clase:

2349.
2350.
2351.

Por mencionar algunos nombres de clases:


2352.
2354.
2356.
2358.

2360.
2361.
2362.
2363.
2364.
2365.

Aplicacin
Paintbrush Picture
Documento de Word 97
Hoja de Calculo de Excel

2353.
2355.
2357.
2359.

Nombre de la clase
PAINT.PICTURE
WORD.DOCUMENT
EXCEL.SHEET

3.1.3.3. COMO CONOCER EL NOMBRE DE CLASE DE UNA APLICACIN WINDOWS


Cree un formulario nuevo
Inserte en el formulario el control OLE Container Control

2366.
2367.
2368.
2369.
2370.
2371.

Insertar la Aplicacin deseada: (Escoger el objeto y luego OK)


Luego en las propiedades del objeto insertado buscar la propiedad OLECLASS:

2372.
2373.
2374.
2375.
2376.
2377.
2378.
2379.
2380.
2381.

3.1.3.4. INCLUIR EN EL FORMULARIO EL OBJETO OLE


SELECT s_product
APPEND GENERAL picture FROM GETFILE('BMP') CLASS PAINT.PICTURE

OLE Bound Control


(ControlSource = s_product.picture)

2382.
2383.
2384.
2385.
2386.

DISEO DE REPORTES
Gua rpida visual:

2387.
2388.
Los informes muestran datos y resumen datos en un formulario impreso o en pantalla. Los
dos componentes principales de los informes son los datos y el formato.
2389.
2390.
La fuente de datos del informe puede ser una tabla de base de dato, una consulta o una
vista.
2391.
2392.
El primer paso para disear un informe es determinar los datos que se van a mostrar, y el
segundo paso es determinar cul va a ser el mejor formato para mostrar ese informe. Puede crear
listados que se basen en una nica tabla o en informes complejos.
2393.
2394.
El Generador de Informes es una herramienta flexible y de fcil uso para la creacin,
diseo y modificacin de informes.

2395.
3.1.3.5. PASOS PARA CREACIN DE INFORMES
2396.
2397.
SELECCIN DE LOS DATOS
2398.
Esta es la parte ms importante del informe, la seleccin de datos, hay que saber qu es
lo que quiere el usuario o que el usuario muestre el diseo del informe que desea, para comenzar
a trabajar.
2399.
2400.
Los datos pueden ser simples (utilizando una sola tabla), como listados de regiones,
listado de departamentos, entre otros; o pueden ser algo ms complejos (utilizando ms de una
tabla) Ejemplo Reportes agrupados, reportes consolidados, etc.
2401.
2402.
Los datos se pueden obtener directamente utilizando las tablas o utilizando SQL para
crear cursores, esta ltima es la ms recomendada para una aplicacin multiusuario.
2403.
2404.
Existen varios tipos de informes entre ellos:
2405.
- Listados (Ej. Listados de regiones)
2406.
2407.
Muestra:
2408. ------------------------------2409.
id
name
2410. ------------------------------2411. 01
Region 1
2412. 02
Region 2
2413. -------------------------------2414. - Grupos con detalles ( o maestro detalles)
2415. ------------------------------2416.
Region
2417.
Departamento
2418. ------------------------------2419.
Region 1
2420.
Departamento a
2421.
Departamento b
2422.
Region 2
2423.
Departamento x
2424.
Departamento y
2425. -------------------------------2426. - Matriciales o consolidados
2427. -------------------------------------------2428.
Rating
2429.
Region
Excellent Good Poor
2430. -------------------------------------------2431.
Regin 1
1
2 0
2432.
Regin 2
3
0 1
2433. -------------------------------------------2434. Totales
4
2 1
2435.
2436.
CREACIN DE INFORMES USANDO EL ENTORNO DE DATOS:
2437.
2438. 1. En el administrador de proyectos, seleccione la ficha Documentos.
2439. 2. Seleccione Informes
2440. 3. Pulse el botn nuevo
2441. 4. Pulse el botn nuevo informe, aparece el generador de informes y al barra de
herramientas Controles de informes.
2442. 5. Seleccione Entorno de datos y seleccione la tabla
2443. 6. Arrastre los campos a utilizar del entorno de datos en el informe en la parte de detalle
2444. 7. Introduzca los encabezados del reporte

2445.
2446.
2447.
2448.
2449.
2450.
2451.
2452.
2453.
2454.
2455.
2456.
2457.
2458.
2459.
2460.
2461.
2462.
2463.
2464.
2465.
2466.
2467.
2468.
2469.
2470.

8. Puede ver cmo queda el informe con el botn de presentacin preliminar:

Arrastre el campo a la parte de detalle

PRESENTACIN PRELIMINAR:

2471.
2472.
2473.

MEN DE REPORTES

2474.
2475.
2476.

2477.

2478.
TITULO/SUMARIO (TITLE/SUMMARY):
2479.
2480.
Muestra el rea del Titulo y el Sumario del Informe
2481.
2482.
Titulo
: Aparece solo en la primera pagina del
Reporte
2483.
Sumario
: Aparece solo en la ltima pgina del
Reporte
2484.
2485.
2486.
3.1.3.6. AGRUPAMIENTO DE DATOS (DATA GROUPING)
2487.
2488.
El agrupamiento de datos se utiliza para informes maestro - detalle.
2489.
2490.
2491.
2492.
2493.
2494.
2495.
2496.
2497.
Especifique el campo por el cual esta agrupando
2498.
2499.
2500.
2501.
2502.
2503.
2504.
2505.
2506.
VARIABLES:
2507.
2508.
Las variables son tiles para hacer clculos con los datos del reporte y luego presentarlas
en elNombre
mismo de
reporte.
la variable
2509.
2510.
2511.
2512.
2513.
2514.
2515. Campo a calcular
2516.
2517.
Tipo de Calculo
2518.
2519.
2520.
2521.
2522.
2523.
2524.
2525.
2526.
2527.
2528.
2529.

2530.
2531.
2532.
2533.
2534.
2535.
2536.
2537.
2538.
2539.
2540.
2541.
2542.
2543.
2544.
2545.
2546.
2547.
2548.
2549.
2550.
2551.
2552.
2553.
2554.
2555.
2556.
2557.
2558.
2559.
2560.
2561.
2562.
2563.

PROPIEDADES DE LOS CAMPOS


Doble clic en el campo para mostrar las propiedades

Cada campo en el Informe posee propiedades:

Si deseamos hacer clculos con el campo

3.1.3.7. INTEGRACIN DE LA APLICACIN


CREACIN DE INFORMES USANDO CURSORES SQL:
1. Crear el cursor con el comando SELECT..... FROM .....WHERE....
2. Crear el Informe manualmente, con los nombres de campos del cursor.
3. Correr el Reporte.
Ejemplo:
* Se define una ventana Personalizada
2564. DEFINE
WINDOW w_Output
2565.
FROM 0,0 TO 25,70
;
2566.
TITLE 'Informes - INATEC'
;
2567.
CLOSE FLOAT GROW ZOOM SYSTEM
2568. USE IN .\data\s_region IN 0
2569. SELECT
id, name
2570. FROM
s_region
2571. INTO
CURSOR c_region
2572. * Si lo queremos por pantalla
2573. REPORT FORM .\report\pp_detalles
;
2574.
PREVIEW WINDOWS w_output
;
2575.
NOEJECT NOCONSOLE
2576. * Por Impresora
2577. REPORT FORM .\report\pp_detalles
;
2578.
TO PRINTER PROMPT
;
2579.
NOEJECT NOCONSOLE
2580. * Hacia un Archivo
2581. REPORT FORM .\report\pp_detalles
;
2582.
TO FILE PUTFILE()
;
2583.
ASCII
2584. * Cerrar el cursor

2585.
2586.

USE IN c_region
Integracin de la Aplicacin

2587. ACTIVIDAD INDICADOR 3.1.3.


2588.
2589.
Instrucciones: Realice un informe que permita saber que libros
estn prestados y que libros estn en la biblioteca de la base de datos
Biblioteca.
2590.
2591.
Investigue como insertar una foto del libro en la tabla Libro de la
base de datos Biblioteca.
2592.
2593.
Las habilidades que se deben demostrar en este nivel son: El estudiante selecciona,
transfiere, y utiliza datos y principios para completar una tarea o solucionar un problema.
2594.
2595.
Qu hace el estudiante?
2596.
Recuerda y reconoce informacin e ideas adems de principios aproximadamente en
misma forma en que los aprendi.
2597.
2598.
2599.
2600.
2601.
2602.

2603.
2604.
2605.

GLOSARIO 3.1.1
2606.
2608.
2610.
2612.

2613.

2614.
2616.
2618.
2620.

2621.

2622.
2624.
2626.
2628.

2629.

2630.
2632.
2634.
2636.

2637.

2638.
2640.
2642.
2644.

2645.

2646.
2648.
2650.
2652.

2653.

2654.
2656.
2658.
2660.
2661.

2662.

2663.
2665.
Asignatura
:

Centro de Estudios Tcnicos y Avanzados de


Chimaltenango.

2664.
2667.
Profesor(a):

2666.

Cuarta Unidad
2668.

2669.

PLANIFICACION UNIDAD DE APRENDIZAJE


2671.
Declarativos:
2673.
2674.
2672.
2675.
2676.
2677.
ACTIVIDAD
DE
2678.
PROCEDIMIE
2679.
APRENDIZAJE
NTO
FECHA
2682.
Planteamientos
de interrogantes.
2685.
2681.
Clase Magistral, Consulta libro
2683.
Redaccin de
de texto, e Internet, sobre los temas
Ensayos.
2686.
propuestos en esta unidad.
2684.
Mesas
de
Dialogo.
2696.
SEMANA 2
2697.
Declarativos:
2699.
2700.
2698.
2701.
2702.
2703.
ACTIVIDAD
DE
2704.
PROCEDIMIE
2705.
APRENDIZAJE
NTO
FECHA
2708.
Mesas
de
2707.
Clases Magistral, consultas
Dialogo.
2711.
sobre terminologa aplicada a la forma
2709.
Redacta
de proponer los temas propuestos para
informes.
2712.
esta unidad.
2710.
Textos
Paralelos.
2722.
SEMANA 3
2723.
Declarativos:
2725.
2726.
2727.
2724.
2728.
2729.
2730.
2731.
ACTIVIDAD
DE
2732.
PROCEDIMIE
2733.
APRENDIZAJE
NTO
FECHA
2736.
Planteamiento
de interrogantes.
2735.
Clase
Magistral,
consulta
2737.
Redaccin de
2739.
Internet, libros, folletos, lo relacionado
Ensayos.
los temas propuestos en esta unidad.
2738.
Textos
paralelos.
2749.
SEMANA 4
2750.
Declarativos:
2752.
2753.
2751.
2754.
2755.
2756.
2757.
ACTIVIDAD
DE
2758.
PROCEDIMIE
2759.
APRENDIZAJE
NTO
FECHA
2762.
Planteamiento
de Interrogantes.
2761.
Consulta
Internet,
libros
2763.
Laboratorios
folletos,
Clases
Magistrales,
lo
orales.
2766.
relacionado a los temas que estn
2764.
Exposiciones
propuestos para esta unidad.
individuales.
2765.
Creacin
de
Portafolios.
2776.
SEMANA 5
2777.
Declarativos:
2778.
2779.
2780.
2781.
2782.
2670.

SEMANA 1

2680.
PUNTEO
2687.

2706.
PUNTEO
2713.

2734.
PUNTEO
2740.

2760.
PUNTEO

2767.

2783.
2784.
ACTIVIDAD
APRENDIZAJE

DE

2788.
Clases Magistrales, consulta
en libros e internet, lo relacionado los
temas que estn propuestos para esta
unidad.

2785.
PROCEDIMIE
NTO
2789.
Redaccin de
ensayos.
2790.
Textos
Paralelos.
2791.
Creacin
de
portafolios.

2786.
FECHA

2787.
PUNTEO

2792.

2793.

2802.

SEMANA 6

2803.

EVALUACION FINAL DE UNIDAD

2804.

Prueba Objetiva Bimestral

2805.

Sobre contenido terico y prctico visto en clase

2806.

2807. Proyecto
de unidad
2808.
2809.
2810.
2811.
2812.
2813.
2814.
2815.
2816.
2817.
2818.
2819.
2820.
2821.
2822.
2823.
2824.
2825.

2826.
2827.
2828.
2829.
2830.
2831.
2832.
2833.
2834.
2835.
2836.
2837.
2838.
2839.
2840.

2841.

2842.

UNIDAD 4

COMPETENCIA 4.1

2843.

2844.
"Conoce y aplica los mens,
instrucciones
de
aplicaciones,
transacciones, utilidades y servicios web
en
Aplicaciones
de
Windows,
solucionado problemas comerciales de
su entorno"
2845.
2846.

INDICADOR 4.1.1

2847.

2848.
Reconoce la aplicacin de los mens y su uso
dentro de las Aplicaciones de Windows.
2849.

2850.
2851.
2852.
2853.
2854.
2855.
2856.
2857.
2858.
2859.

2860.
2861.
2862.
2863.
2864.

2865.

4.1.1. MENUS

2866.
2867.
CREACIN DE MENS:
2868.
Gua rpida Visual:
2869.
Instruccin de men
Opciones del men
2870.
2871.
2872.
2873.
2874.
2875.
2876.
2877.
2878.
2879.
2880.
2881.
2882.
2883.
2884.
2885.
2886.
Lista de Resultados del men
2887.
Presentacin preliminar del men
(Sub
men, comando, procedimiento)
2888.
2889.
2890.
2891.
Modificacin o creacin de Resultados del men
2892.
2893.
2894.
2895.
2896.
2897.
2898.
2899.
2900.
2901.
2902.
2903.
2904.
2905.
2906.
2907.
2908.
2909.

4.1.1.1. TIPOS DE MENS


Existen dos tipos de mens: men y Shortcut.

2910.
2911.

4.1.1.2. CREACIN DE MENS

2912.
La creacin de mens es un proceso que conlleva diferentes pasos. Primero, debemos
definir las opciones del men y de los submens. Luego, asignar funcionalidad a las opciones de
men. Finalmente, generar el programa de mens.
2913.
2914.
Puede l generador de mens de Visual Foxpro para que le ayude a construir mens
rpidamente. El Generador de mens le permite definir la estructura y funcionalidad de su sistema
de mens a travs de cuadros de dilogo de fcil uso y de listas desplegables que puede utilizar
para crear y modificar su sistema de mens.
2915.
2916.
2917.
DEFINICIN DE LAS OPCIONES DE MEN.
2918.
2919.
Los mens presentan su aspecto con una lista de opciones para iniciar una actividad. La
mayora de los elementos de men muestran submens u opciones adicionales cuando el usuario
selecciona uno de estos elementos. Antes de generar un men para una aplicacin, tendr que
determinar que selecciones tendr disponibles el usuario final y qu opciones de mens
pertenecen a otras opciones de mens (sub menus).
2920.
2921.
4.1.1.3. CMO CREAR UN NUEVO MEN
2922.
2923.
1. Pulse la ficha de otros
en
el
Administrador
de
proyectos.
2924.
2925.
Aparece la pgina otros
con las categoras de archivo de
Mens, Texto y Otros.
2926.
2927.
2. Seleccione mens en
la lista de categoras
2928.
2929.
3. Pulse el botn nuevo y
escoja si es Men o un Shortcut
2930.
2931.
4.
Introduzca
las
opciones del men y luego el
resultado del men (submen, comando o procedimiento)
2932.
2933.
5. A la derecha del resultado se encuentra la opcin crear o modificar segn el caso. ( crea
o modificar los resultados de la opcin del men).
2934.
2935.
TIPOS DE RESULTADOS:
2936.
2937.
Submen:
Si el men contiene un submen
2938.
2939.
Comando:
Si la opcin de ese men invoca un comando (Ejemplo: DO FORM
2940. Regiones, para llamar un formulario; CLEAR EVENT, por lo general va en la
opcin Salir)
2941.
2942.
Procedimiento: Si la opcin de ese men invoca varias lneas de comandos (un
procedimiento).
2943.
2944.

2945.

Opciones de Men:

2946.
2947.
2948.
En las opciones del men se especifican:
2949.
Teclas de Acceso directo
Mensajes del men
Condicin de habilita/No habilitar
2950.
2951.
4.1.1.4. GENERACIN DEL MEN
2952.
En el men escoja la opcin Men.
Se le pregunta si desea grabar los cambios (responda que si)
Luego se le pide que proporcione el archivo de salida del men (escoja la ruta y el nombre del
archivo, por lo general son extensin MPR) y luego seleccione generar.
2953.
Si existe ya el archivo se le pide si desea re-escribirlo ( seleccione que si)
2954.
4.1.1.5. COMO INVOCAR AL MEN CREADO
2955.
2956.
Al generar el men se crea un archivo que por lo general tiene extensin MPR que
contiene el cdigo para desplegar el men.
2957.
4.1.1.6. DO RUTA Y NOMBRE DEL ARCHIVO MPR
2958.
2959.
La instruccin sera:
2960.
DO ruta y nombre del archivo MPR
2961.
2962.
Ejemplo: DO menu.MPR
2963.
2964.
Para volver a re establecer el men por default de Visual Foxpro utilice la instruccin: SET
SYSMENU TO DEFAULT
2965.
2966.

2967.

ACTIVIDAD INDICADOR 4.1.1.

2968.
Instrucciones: Realice un men que permita ejecutar cada uno de los
formularios realizados en la base de datos Biblioteca y los informes
creados en las actividades anteriores.
2969.
2970.
Las habilidades que se deben demostrar en este nivel son: El
estudiante selecciona, transfiere, y utiliza datos y principios para
completar una tarea o solucionar un problema.
2971.
2972.
Qu hace el estudiante?
2973.
El estudiante genera, integra y combina ideas en un producto, plan o propuesta nuevos
para l o ella.
2974.

2975.

INDICADOR 4.1.2.

2976.
Aplica adecuadamente el uso de las aplicaciones e
instrucciones de bases de datos y los ejecutables de una
aplicacin.
2977.

2978.

2979.

4.1.2. APLICACIONES E INSTRUCCIONES

2980.
2981.

4.1.2.1. CREACIN DEL EJECUTABLE DE LA APLICACIN.

2982.
2983.
2984.
Primero se tiene que crear un programa de inicio, al cual se le tiene que decir que ese es
el programa que se ejecutara de primero ( esto se hace haciendo clic derecho en el programa que
designemos como principal y escoger la opcin main ( principal) del men de opciones)
2985.
2986.
Contenido Ejemplo del programa principal:
2987.
2988.
CLEAR ALL
2989.

2990.
2991.
2992.
2993.
2994.
2995.
2996.
2997.
2998.
2999.
3000.
3001.

* Variables Pblicas
PUBLIC w_Output, g_ao, gid_area, g_nivel, g_cambio, g_login_entry ;
,g_pass_entry, V_MENU_PRE, V_ERROR, g_acceso
* Definicion de Ventana para los Reportes
DEFINE

* Ambiente
3002.
3003.
3004.
3005.
3006.
3007.
3008.
3009.
3010.
3011.
3012.
3013.
3014.
3015.
3016.
3017.
3018.
3019.
3020.
3021.
3022.
3023.
3024.
3025.
3026.
3027.
3028.

WINDOW w_Output
FROM 0,0 TO 25,70
;
TITLE 'Informes - BCN'
;
CLOSE FLOAT GROW ZOOM SYSTEM

SET SYSMENU TO
SET ECHO OFF
SET TALK OFF
SET CENTURY ON
SET CLOCK STATUS
SET DATE brit
SET DELETE ON
SET PATH TO formenu,bmp,prg,data
SET EXCLUSIVE OFF
SET SAFETY OFF
SET REFRESH TO 5
SET REPROCESS TO AUTOMATIC
SET MULTILOCK ON
SET LOCK OFF
SET PROCEDURE TO .\prg\utility
* Fondo de la Pantalla principal
_SCREEN.Picture=".\bmp\fondo.bmp"
_SCREEN.WINDOWSTATE=2
_SCREEN.CLOSABLE=.F.
_SCREEN.CAPTION="Formulacin Presupuestaria"
* Base de Datos
OPEN DATA .\SCOTT\scott SHARED
* Llamada al Menu
DO .\menu\menu.mpr
READ EVENT
CLEAR ALL
SET SYSMENU TO DEFAULT

3029.
3030.
4.1.2.2. CREACIN DEL EJECUTABLE
3031.
3032.
En el Administrador de proyectos seleccione la opcin Build, luego la opcin build
Executable y luego OK.
3033.
En las opciones es recomendable seleccionar Recompile All y display Error, para
recompilar todos sus programas y formularios; y Por si hay un error mostrarlo al final de la
generacin del Ejecutable.
3034.

3035.
3036.
3037.
3038.

4.1.2.3. COMANDOS RELACIONADOS A BD Y TABLAS

3039.
3040.
3041.

Instrucciones de Manejo de Bases de Datos


Instrucciones de Manejo de Tablas Independientes
Instrucciones Generales de Manejo de Tablas
Instrucciones de Bsqueda en Tablas
Instrucciones de Calculo en Tablas
El Sistema de Almacenamiento en Buffer
Transacciones
GENDBC Programa Utilidad para Base de Datos
4.1.2.4. INSTRUCCIONES BSICAS

Tratamiento de Caracteres
Manipulacin de Fechas

3042.
4.1.2.4.1. INSTRUCCIONES DE MANEJO DE BASES DE DATOS
3043.
3044.
CREATE DATABASE
3045.
Crea una BD nueva y la activa automticamente.
3046.
3047.
OPEN DATABASE
3048.
Permite abrir una BD creada previamente
3049.
El parmetro EXCLUSIVE posibilita que la BD se pueda modificar independientemente del
estado del comando SET EXCLUSIVE.
3050.
3051.
Otro parmetro comprueba la integridad de la informacin de la BD, VALIDATE. Es
conveniente incorporarlo dentro de nuestra aplicacin cuando abramos la BD.
3052.
Abrir una BD no implica que se carguen en memoria las tablas contenidas, sino que
posteriormente debemos abrirlas mediante el comando USE.
3053.
3054.
SET DATABASE
3055.
Establece la BD activa en el caso de que tengamos varias en memoria. Tambin es
posible esto utilizando la barra de herramientas Estndar de Visual Foxpro.
3056.
3057.
MODIFY DATABASE
3058.
Abre el Generador de BD para que se proceda a los cambios precisos.

3059.
3060.
DELETE DATABASE
3061.
Elimina una BD y las referencias que tengan las tablas contenidas con la BD. Es
importante utilizar esta instruccin en vez de borrar los archivos directamente en el sistema
operativo, ya que las cabeceras de las tablas seguirn teniendo informacin sobre la BD que las
contena y al ir abrirlas nos saldr un error.
3062.
Si queremos borrar la BD como las tablas contenidas podemos incluir el argumento
DELETETABLES
3063.
3064.
PACK DATABASE
3065.
Despus de haber quitado una tabla de una BD, permanece el hueco de dicha tabla, ya
que se realiza internamente un borrado lgico. Al igual que con los registros de una tabla,
disponemos de la posibilidad de empaquetar los datos y borrar fsicamente las tablas.
3066.
3067.
VALIDATE DATABASE
3068.
Tiene la misma funcin del parmetro VALIDATE del comando OPEN DATABASE, y lo
que hace es comprobar la integridad de la BD.
3069.
3070.
Tiene un parmetro, RECOVER, que muestra ventanas de dilogo para localizar las
referencias invlidas; ahora bien, slo se puede utilizar en la ventana de comandos, ya que en un
programa dara error.
3071.
3072.
CLOSE DATABASE
3073.
Cierra la BD actual y sus tablas. Se especifica ALL, cierra todas las BD abiertas, junto a
las tablas contenidas. Otra posibilidad para cerrar tablas, tanto contenidas como libres, es CLOSE
ALL
3074.
3075.
DBC()
3076.
Devuelve el nombre de la BD actual y su ruta de acceso.
3077.
3078.
DBUSED()
3079.
Mediante esta funcin podemos saber si una BD est en uso
3080.
3081.
DISPLAY DATABASE
3082.
Muestra informacin sobre la BD (Diccionario de Datos)
3083.
3084.
4.1.2.4.2. INSTRUCCIONES DE MANEJO DE TABLAS INDEPENDIENTES
3085.
3086.
DISPLAY TABLES / LIST TABLES
3087.
Permite saber cules son las tablas que se encuentran dentro de la BD, as como su ruta
de acceso.
3088.
3089.
ADD TABLE
3090.
Aade una tabla libre a una BD. Si queremos modificar el nombre para que sea de mayor
longitud, podemos incluir la clusula NAME seguida del nuevo nombre.
3091.
3092.
REMOVE TABLE
3093.
Elimina una tabla de la BD que la contiene y la convierte en una tabla libre. Por tanto,
perderemos todas las propiedades, ndices principales, etc., as como relaciones que se pudiesen
haber creado con otras tablas.
3094.
3095.
Si adems de quitarla de la BD deseamos eliminarla del disco, podemos poner el
parmetro DELETE
3096.
3097.
FREE TABLE

3098.
Es equivalente al comando anterior, pero se diferencia de ste en que no hace falta tener
abierta la BD para convert en libre la tabla. Lo que hace es quitar la referencia de la cabecera de
la tabla.
3099.
3100.
No es conveniente utilizarlo cuando existe la BD, ya que puede ocurrir que la tabla quede
daada. Slo es aconsejable cuando se ha borrado la BD y las tablas continan con la llamada a
dicha BD
3101.
3102.
3103.
DROP TABLE
3104.
Elimina una tabla de la BD y tambin la borra del disco. Podemos incluir el argumento
NORECYCLE para que no se quede en la papelera de Windows95
3105.
3106.
INDBC()
3107.
Devuelve verdadero si el objeto por el que se pregunta se encuentra dentro de la BD
activa. Se indica como segundo parmetro el tipo de objeto que es, bien TABLE, INDEX, FIELD,
VIEW o CONNECTION.
3108.
3109.
4.1.2.4.3. INSTRUCCIONES GENERALES DE MANEJO DE TABLAS
3110.
3111.
Una vez que tenemos abierta la BD o cuando queramos manejar una tabla libre, debemos
utilizar la siguiente relacin de instrucciones. Muchas de ellas todava son las mismas que estaban
disponibles en los comienzos de Xbase.
3112.
3113.
USE
3114.
Es el comando de tablas por excelencia. Sin ningn tipo de parmetro, slo seguido del
nombre de la tabla, permite abrirla. Se carga automticamente en el rea activa. Adems de ello,
si existe un archivo de ndices, se abrir tambin junto a la tabla; ahora bien, sta no se ordenar
salvo que se lo pidamos expresamente mediante el argumento ORDER TAG.
3115.
3116.
Si deseamos que la tabla se abra en una determinada rea se lo podemos indicar
mediante IN seguido del nmero de rea. Si lo que preferimos es que VFP tome la primer rea no
asignada, pondremos el valor 0 (cero) en el nmero de rea.
3117.
3118.
Las tablas se cargan en el rea con el nombre que tiene el archivo .DBF, si queremos
cambiarlo podemos utilizar el parmetro ALIAS seguido del nuevo nombre. Lo normal es no
complicarse la vida y dejar tal cual.
3119.
Para abrir una tabla de forma exclusiva podemos incluir EXCLUSIVE. Para hacerlo de
manera compartida tenemos el parmetro SHARED.
3120.
3121.
Un ejemplo tpico podra ser:
3122.
USE tabla ORDER TAG codigo IN 0
3123.
3124.
SELECT
3125.
Una vez que una tabla est abierta tenemos dos formas de hacer referencia a sus
campos, bien mediante el alias un punto y el nombre del campo (tabla1.cdigo) o situndonos
previamente en el rea de la tabla correspondiente y llamando al campo directamente con su
nombre.
3126.
Para cambiar de rea tan slo hace falta acompaar el SELECT con el nmero de rea, o
bien, poner el alias de la tabla.
3127.
Como regla general para la programacin, no es muy aconsejable abusar de los SELECT,
ya que ralentizan la ejecucin de los programas. Siempre que podamos sustituirlo por otro tipo de
comandos, sobre todo SQL, no debemos dudarlo.
3128.
3129.
APPEND BLANK

3130.
Permite crear un registro nuevo. Si queremos crearlo en una tabla que no es la de rea
activa, podemos incluir el argumento IN como se hace en el USE.
3131.
Si es posible, es mejor utilizar el comando INSERT INTO, ya que sustituye tanto al
APPEND BLANK como al REPLACE.
3132.
3133.
REPLACE
3134.
Este comando permite modificar la informacin de cada campo de una tabla. Su sintaxis
es:
3135.
REPLACE campo WITH datos
3136.
3137.
Se pueden concatenar varios campos mediante comas. Esto es lo correcto, no debemos
repetir el REPLACE. Cada uno de ellos produce un bloqueo de red, lo que ralentiza el programa.
3138.
Si es posible, es mejor utilizar el UPDATE SQL.
3139.
3140.
DELETE
3141.
Borra de manera lgica el registro donde est situado el puntero en la tabla. Es posible
borrar selectivamente mediante los argumentos FOR o WHILE. Asimismo podemos borrar todos
los registros mediante DELETE ALL. Tambin podemos utilizar el IN al igual que en comandos
anteriores.
3142.
Para trabajar slo con registros no marcados para borrar debemos utilizar el comando
SET DELETE ON.
3143.
3144.
RECALL
3145.
Recupera un registro borrado lgicamente. Como en el DELETE podemos recuperar todos
los registros mediante ALL o algunos con el FOR o el WHILE.
3146.
3147.
PACK
3148.
Elimina fsicamente todos los registros con la marca de borrado y actualiza el archivo de
ndices, as como los archivos .FPT que contienen los campos memo. Es importante es ltimo, ya
que los campos memo de los registros borrados pueden ocupar mucho espacio. NO se debe
utilizar en ningn caso el comando ZAP para eliminar todos los registros, ya que no borra los
campos memo asociados.
3149.
3150.
4.1.2.4.4. INSTRUCCIONES DE BSQUEDA EN TABLAS
3151.
3152.
SKIP
3153.
Avanza o retrocede secuencialmente tantos registros como se le indique. Hay que
controlar en todo momento que el retraso y el avance no desborden el principio del fichero y el
final. Para ello, podemos utilizar las dos funciones siguientes.
3154.
3155.
BOF()
3156.
Devuelve .T. si se ha encontrado el principio de fichero, esto es, que el puntero est ms
all del primer registro.
3157.
3158.
EOF()
3159.
Devuelve verdadero al llegar el puntero al final del fichero, cuando est ms all del ltimo
registro.
3160.
3161.
GO
3162.
Permite ir directamente a un registro, bien sea mediante su nmero de registro, o bien, al
primer registro con GO TOP o al ltimo, GO BOTTOM. Siempre teniendo en cuenta el orden fsico
en el caso de ir a un registro segn su nmero. En el caso de TOP y BOTTOM depender del
orden de la tabla.
3163.
3164.
SEEK

3165.
Realiza una bsqueda directa de un valor dentro del archivo de ndices, situndose el
puntero en ese registro en el caso de encontrarse, o bien accediendo al final de fichero en caso
contrario.
3166.
3167.
FOUND()
3168.
Permite saber si un determinado valor buscado se ha encontrado o no. Se debe poner
justo despus de la instruccin de bsqueda.
3169.
3170.
SEEK()
3171.
Sustituye a las dos instrucciones anteriores y al SET ORDER, lo que le convierte en una
funcin altamente til y que debemos implementar en nuestro cdigo siempre que sea posible.
3172.
3173.
DO WHILE
3174.
Este bucle, clsico donde los haya, permite realizar una bsqueda en toda la tabla de
siguiente forma
3175.
3176. DO WHILE !EOF()
3177. SKIP
3178. ENDIF
3179.
3180.
Avanza por toda la tabla hasta que encuentra el final de fichero.
3181.
3182.
SCAN
3183.
Equivalente al bucle anterior, y mucho ms prctico, es el SCAN, que adems de recorrer
automticamente toda la tabla permite filtrar la bsqueda mediante las clusulas FOR y WHILE.
Es importante saber por qu registro comienza la bsqueda. En el caso del SCAN sin ms,
siempre empieza desde el primer registro. Sin embargo, con el WHILE empezar desde el registro
donde est situado el puntero en ese momento.
3184.
3185.
Tambin es fundamental volver al rea de la tabla sobre la que se est haciendo el SCAN
si nos hemos situado en otra dentro del bucle para realizar alguna operacin. Tampoco debemos
mover nosotros el puntero dentro de l, ya que puede causar prdidas de informacin.
3186.
Para salir del bucle repentinamente podemos incluir el comando EXIT. Si lo que queremos
es saltar a la condicin emitiremos un LOOP.
3187.
4.1.2.4.5. INSTRUCCIONES DE CLCULOS EN TABLAS
3188.
3189.
En relacin con los recorridos de las tablas y directamente relacionados con ellos, estn
los comandos que realizan clculo para un nmero determinado de registros. Realmente
podramos sustituir por el comando SELECT-SQL, con funciones de grupo.
3190.
3191.
AVERAGE
3192.
Realiza la media de un campo o campos correspondientes a una serie de registros,
determinados por la clusula FOR o WHILE que se incluya. Se puede mandar el resultado a una
variable o varias dependiendo de los campos promediados.
3193.
3194.
SUM
3195.
Equivale al anterior pero realiza una suma
3196.
3197.
COUNT()
3198.
En este caso, esta instruccin cuenta registros dependiendo del ndice y del estado de
eliminacin.
3199.
3200.
RECCOUNT()

3201.
Si queremos obviar el estado de los registros, podemos utilizarlo. Por lo dicho, contar
todos los registros. No se pueden incluir clusulas FOR y WHILE. Se puede incluir el rea o el
alias de la tabla a contar entre parntesis.
3202.
4.1.2.4.6. EL SISTEMA DE ALMACENAMIENTO EN BUFFER
3203.
3204.
Bsicamente, consiste en la creacin automtica de un espacio de memoria destinado a
guardar el o los registros que se estn editando sin que tengamos que realizar ningn tipo de
movimiento a ese buffer ni poner una sola lnea de programa. El proceso est generado
internamente por el VFP.
3205.
3206.
Lo nico que debemos hacer es comprobar si se ha producido alguna modificacin por
parte del usuario y, por ltimo, guardar o descartar los cambios.
3207.
3208.
El sistema de almacenamiento en buffer permite, adems de facilitar el mantenimiento de
las tablas, poder controlar el funcionamiento en red.
3209.
3210.
Existe la tcnica de bloqueo en cuanto se produce una modificacin, que es lo que
llamamos bloqueo pesimista; o por otro lado , dejar absoluta libertad a los usuarios de la red
bloqueando slo a la hora de grabar, que es lo que se llama bloqueo optimista.
3211.
3212.
VFP dispone de tres buffer para guardar los datos:
3213.
3214. 1er buffer, contiene los valores que el usuario est viendo en pantalla
3215. 2do buffer, guarda la informacin original que tena la tabla
3216. 3er buffer, almacena el valor ms reciente recibido de la red.
3217.
El almacenamiento en buffer se activa a travs de la funcin CURSORSETPROP(). Por
cada tabla que vayamos abriendo tendremos que poner un CURSORSETPROP. La sintaxis vara
dependiendo del tipo de almacenamiento que deseemos, siguiendo el formato:
3218.
3219.
CURSORSETPROP("Buffering", <tipo de almacenamiento>)
3220.
3221.
En tipo de almacenamiento podremos indicar cinco tipos:
3222.
3223.
3224.
Significado
Valor
3225.
3226.
No se activa el almacenamiento en buffer, por tanto no lo utilizaremos
1
3227.
3228.
El bloqueo ser a nivel de registro y pesimista. El registro
2
permanecer bloqueado hasta que se grabe la modificacin.
3230.
El bloqueo tambin tiene lugar a nivel de registro, aunque optimista.
3229.
Por lo tanto, se produce el bloqueo cuando se actualiza la modificacin o se
3
produce un desplazamiento a otro registro
3231.
3232.
Bloqueo pesimista a nivel de tabla. Funciona igual que a nivel de
4
registro
3233.
3234.
Bloqueo optimista a nivel de tabla. Se produce cuando se actualizan
5
las modificaciones
3235.
3236.
Para todos los casos debemos tener, adems del acceso no exclusivo (SET EXCLUSIVE
OFF), el SET MULTILOCKS ON. Despus de incluir esta introduccin ya podremos
aprovecharnos de las bondades del sistema.
3237.
3238.
CMO COMPROBAR SI HA HABIDO MODIFICACIONES
3239.
3240.
Cuando se utiliza el buffer a nivel de registro utilizaremos la funcin GETFLDSTATE()
3241.

3242.
Sintaxis:
3243.
=GETFLDSTATE(<nombre o No. de campo>, <alias>)
3244.
o tambin:
3245.
=GETFLDSTATE(-1, <alias>) El 1 es para saber todos los estados de los registros.
3246.
3247.
Los valores que nos puede devolver son:
3248.
3249.
3250.
Significado
Valor
3251.
3252.
El campo no ha sido modificado ni eliminado
1
3253.
3254.
Ese ha editado el campo o ha cambiado el estado de eliminacin
2
3256.
No se ha editado el campo de un registro aadido o no ha cambiado
3255.
el estado de eliminacin del registro aadido ( o sea se inserto el registro en
3
blanco y no introdujo informacin )
3257.
3258.
Se ha editado el campo de un registro aadido o ha cambiado el
4
estado de eliminacin para el registro aadido
3259.
3260.
El cdigo tpico para saber si ha habido algn tipo de modificacin sobre el registro actual
sera:
3261.
3262. IF "2"$GETFLDSTATE(-1) OR "3"$GETFLDSTATE(-1) ;
3263. OR "4"$GETFLDSTATE(-1)
3264. =MESSAGEBOX("Ha habido alguna modificacin")
3265. ENDIF
3266.
3267.
Cuando se utiliza el buffer a nivel de tabla utilizaremos la funcin GETNEXTMODIFIED() ,
que devuelve el nmero del primer registro que encuentra modificado. La bsqueda se da a partir
del parmetro <No. de registro>.
3268.
3269.
3270.
Sintaxis:
3271. =GETNEXTMODIFIED(<No. de registro>,<alias>)
3272.
3273.
3274.
CMO ACTUALIZAR LA TABLA
3275.
3276.
El ltimo paso ser guardar o descartar las modificaciones. Para ello se dispone de dos
funciones: TABLEUPDATE() y TABLEREVERT(). Hay que recordar que visualmente estamos
trabajando sobre una tabla intermedia y que esa informacin ha de ser volcada a la tabla fsica.
Este paso vara dependiendo del tipo de almacenamiento que hayamos designado.
3277.
3278.
TABLEUPDATE()
3279.
3280.
Sintaxis:
3281.
=TABLEUPDATE(<nmero de filas>, <forzar actualizacin red>, <alias>, <array para
error>)
3282.
3283.
Al actualizar la tabla fsica le podemos decir que lo haga slo para el registro en el que se
est o para todos los registros de la tabla. El primer parmetro est destinado a este fin. Los
valores que puede tomar son: <nmero de filas>
3284.
3285.
3286.
Significado
Valor
3287.
3288.
Por defecto. Se actualiza el registro en el que est el puntero sea

0
3289.
1

cual sea el tipo de almacenamiento


3290.
Se actualizarn todos los registros si el almacenamiento es a nivel
de tabla y slo el registro actual si el almacenamiento se estableci a nivel
de registro
3292.
Igual funcionamiento que el valor 1 pero en este caso VFP no emite
un error si la actualizacin no termin con xito.

3291.
2
3293.
3294.
<forzar actualizacin red>
3295.
Este parmetro se utiliza para forzar la actualizacin en red en el caso que dos usuarios
estn modificando el mismo registro (en el caso del buffer optimista)
3296.
3297.
TABLEREVERT()
3298.
3299.
Sintaxis:
3300.
=TABLEREVERT(<todas las filas>,<alias>)
3301.
3302.
Tendremos que poner .T. para que se produzca el descarte de los cambios realizados en
todos los registros.

3303.

ACTIVIDAD INDICADOR 4.1.2.

3304.
Instrucciones: Partiendo de cero, proceda a crear en lnea de
cdigo la base de datos Biblioteca con todas las tablas y campos
calculados que crea convenientes.
3305.
3306.
Las habilidades que se deben demostrar en este nivel son: Hacer
uso de la informacin; utilizar mtodos, conceptos, teoras, en situaciones
nuevas; solucionar problemas usando habilidades o conocimientos.
3307.
3308.
Qu hace el estudiante?
3309.
El estudiante genera, integra y combina ideas en un producto, plan o propuesta nuevos
para l o ella.
3310.
3311.

3312.

INDICADOR 4.1.3.

3313.
Aplica las principales funciones en transacciones,
utilidades y estructuras para aplicaciones y otros servicios
web.
3314.

3315.

3316.

4.1.3. TRANSACCIONES, UTILIDADES Y ESTRUCTURAS

3317.
4.1.3.1. TRANSACCIONES
3318.
3319.
Una de las mejoras que se han implementado en esta nueva versin es la posibilidad de
controlar de manera ms precisa, y sobre todo robusta, el paso de informacin entre el servidor y
los clientes, referida naturalmente al grave problema que surge cuando falla la conexin entre los
dos en el preciso momento en que est actualizando una determinada informacin.
3320.
3321.
Este problema se evita con el control transaccional. En VFP consiste en incluir dentro de
un BEGIN TRANSACTION y un END TRANSACTION la serie de comandos que realizan la
actualizacin requerida. Si por cualquier causa se corta la conexin sin haber finalizado la
transaccin, sta no se realiza. Por tanto, tendremos las tablas como antes del corte, esto es
posible gracias a que los cambios se van guardando en memoria hasta que llega el END
TRANSACTION, que es cuando se vuelca de golpe toda la informacin.
3322.
3323.
Otros lenguajes permiten continuar la transaccin donde se par, VFP no; pero es ms
que suficiente. Tambin es posible suspender la transaccin si encontramos una razn para ello,
como puede ser que una tabla est bloqueada. Entonces bastar con enviar un comando
ROLLBACK para restaurar todas las tablas con los valores previos a la transaccin.
3324.
3325.
No es conveniente abusar de las transacciones ya que stas bloquean todas las tablas
que participan en la misma, por lo que ningn usuario de la red podr acceder a ellas. Slo
debemos utilizarla si cuando vayamos a actualizar la informacin de varias tablas, y una de ellas
no tenga los valores correctos, implique un grave perjuicio para los clculos de la aplicacin.
Nunca debemos usarlas para la actualizacin de una tabla.
3326.
4.1.3.2. UTILIDADES
3327.
3328.
GENDBC
3329.
Situada en el directorio VFP\TOOLS\GENDBC, esta herramienta genera un programa que
puede volver a crear una base de datos. Use este programa para:
3330.
Generar cdigo que puede analizar para aprender cmo se crea una base de datos mediante
cdigo de programa.
Generar cdigo que puede ser colocado en el cdigo de su programa eliminando la necesidad de
transportar sus bases de datos con su aplicacin.
Generar cdigo que puede ser colocado en el cdigo de su programa para volver a crear la base
de datos si los datos de un cliente estn corrompidos.
3331.
3332.
Sintaxis
3333.
DO GENDBC WITH archivo
3334.
Parmetros

3335.
archivo Cadena de caracteres que contiene el nombre de un archivo de salida. El archivo
puede contener informacin de ruta y una extensin. Si no se suministra ninguna extensin se usa
la extensin predeterminada .PRG.
3336.
Nota Este programa slo funcionar en la base de datos activa actualmente.
3337.
4.1.3.3. TRATAMIENTO DE CARACTERES
3338.
3339.
STR()
3340.
Es una funcin de conversin de nmeros a letras. Por defecto, toma como ancho siempre
10. En caso de que queramos especificar otro tamao, deberemos indicarlo en el segundo
parmetro.
3341.
3342.
UPPER(), LOWER() Y PROPER()
3343.
Convierte la cadena de caracteres indicada entre los parntesis a maysculas,
minsculas, o bien con la letra inicial en maysculas y las dems en minsculas, respectivamente.
3344.
3345.
LTRIM(), RTRIM() Y ALLTRIM()
3346.
En los tres casos quita los espacios que pudiese tener la cadena de caracteres, bien por la
izquierda, por la derecha o por ambos lados.
3347.
3348.
LEFT(), RIGHT()
3349.
Toma de una cadena de caracteres el nmero que le indiquemos como segundo
parmetro, empezando por la izquierda o bien por la derecha.
3350.
3351.
SUBSTR()
3352.
Posibilita la extraccin de una determinada cadena de caracteres dentro de otra,
empezando desde la posicin indicada como segundo parmetro y cogiendo el nmero de
caracteres que se especifiquen en el tercero.
3353.
3354.
LEN()
3355.
Devuelve el nmero de caracteres que tiene la cadena que pongamos entre los
parntesis.
3356.
3357.
SPACE()
3358.
Crea una cadena de espacios con una longitud determinada por el nmero que escribimos
como parmetro.
3359.
3360.
REPLICATE()
3361.
En esta funcin no slo podemos repetir una cadena de espacios, sino cualquier tipo de
carcter, tantas veces como indiquemos en el segundo de los parmetros.
3362.
3363.
ISALPHA(), ISLOWER() E ISUPPER()
3364.
Devolvern .T. si la cadena es de caracteres, si est en minsculas y si est en
maysculas, segn corresponda.
3365.
3366.
$
3367.
Comprueba si una determinada cadena o carcter, que se debe poner antes del $, est
dentro de una cadena de caracteres, que debe ir detrs del $.
3368.
3369.
PADL(), PADR() Y PADC()
3370.
Sirve para rellenar una cadena de caracteres, con un determinado carcter, tercer
parmetro, un nmero de veces determinado por el valor del Segundo parmetro. Se realizar el
relleno por la izquierda, derecha o ambos lados dependiendo de la funcin que utilicemos.
3371.
3372.
AT(), RAT(), ATC()

3373.
Devuelve la posicin en la que se encuentra el carcter o cadena de caracteres
especificado en el primer parmetro, dentro de la cadena incluida como segundo, la primera vez
que lo encuentre o segunda, tercera, etc. Valor este que depende del tercero de los parmetros.
La bsqueda empezar por la izquierda, AT() o por la derecha RAT(); pero el valor devuelto
siempre ser la posicin que empieza por la izquierda.
3374.
3375.
Si queremos ignorar que las letras estn en maysculas o minsculas podemos utilizar
ATC()
3376.
3377.
OCCURS()
3378.
Muestra el nmero de veces que se encuentra un carcter o cadena de caracteres dentro
de una cadena de caracteres.
3379.
3380.
STUFF()
3381.
Permite sustituir una cadena por otra. Los parmetros son: cadena donde buscar, posicin
donde empezar el reemplazo, numero de caracteres reemplazados apartir de ah y cadena
sustituta.
3382.
3383.
4.1.3.4. MANIPULACIN DE FECHAS
3384.
3385.
SET CENTURY
3386.
Si esta en ON pone el ao con cuatro dgitos y si esta en OFF pone el ao con 2 dgitos.
3387.
3388.
DAY(), MONTH() Y YEAR()
3389.
Nos muestra el da, mes y ao de una determinada fecha. Esta debemos incluirla dentro
del parntesis. El ao estar expresado con dos o cuatro dgitos, depender del estado de SET
CENTURY.
3390.
3391.
WEEK()
3392.
Nos devuelve la semana del ao a la que corresponde el da de la fecha indicada entre
parntesis.
3393.
3394.
DOW()
3395.
Muestra el da de la semana a la que corresponde la fecha. El valor es numrico,
correspondiendo por defecto el valor 1 al domingo, ya que toma la secuencia semanal
anglosajona.
3396.
3397.
CDOW() Y CMONTH()
3398.
En vez de devolver el nmero del da o el mes, aparecer su equivalente en texto, esto es,
lunes, martes o abril, marzo, etc.
3399.
3400.
DMY() Y MDY()
3401.
Muestra la fecha con el mes en letras en el orden da, mes ao o mes da ao segn la
funcin.
3402.
3403.
GOMONTH()
3404.
Muestra la fecha que corresponder a la que se indique entre parntesis sumndole o
restndole el nmero de meses que se especifiquen en el segundo de sus parmetros. Es muy
til, por ejemplo, cuando hay por medio en el clculo un ao bisiesto.
3405.
3406.
BETWEEN()
3407.
Aunque no es una funcin propiamente de fechas, es til para averiguar si una
determinada fecha, primer parmetro, esta entre otras dos, segundo y tercer parmetro.
3408.
3409.
SYS(11)

3410.
Devuelve el nmero de das que han pasado segn el calendario juliano hasta la fecha
que se indica en el segundo parmetro.
3411.
3412.
DATE(), TIME(), DATETIME()
3413.
Devuelven respectivamente, la fecha del sistema, la hora, y la fecha y la hora juntas.
3414.
3415.
SEC(), MINUTE(), HOUR()
3416.
Corresponde a los segundos, minutos y la hora de una variable fechahora.
3417.
4.1.3.5. VISUAL FOXPRO EN LA WEB
3418.
3419.
En este ejercicio pondremos un formulario de Visual Foxpro en la Web, En el proyecto
tenemos el formulario s_region :
3420.

3421.
3422.
3423.
3424.
3425.
3426.
3427.
3428.
3429.
3430.
3431.
3432.
3433.
3434.
3435.
3436.
3437.
3438.
3439.

Este formulario se ver en

En el navegador el formulario se vera de esta forma:

3440.
3441.
3442.
Con Visual FoxPro usted puede desplegar su aplicacin para que sea vista desde un
Browser (de Preferencia Internet Explorer). La modificacin es mnima si usted ya tiene una
aplicacin.
3443.
3444.
SIGA LAS SIGUIENTES INSTRUCCIONES:
3445.
3446.
Desde su proyecto, crearemos una clase nueva, Basada en Documento Activo (ActiveDic):
3447.
3448.
Presionamos Aceptar (OK)
3449.
3450.
3451.
3452.
3453.
3454.
3455.
3456.
3457.
3458.
3459.
3460.
3461.
3462.

3463.
3464.
En el evento Run de la clase pondremos el cdigo para la llamada al formulario que
queremos que se mire en la Web.
3465.

3466.
3467.
3468.
3469.

3470.
3471.
3472.
3473.
3474.

3. En el evento ContainerRelease escriba lo siguiente:

4. Salvamos la clase.
5. Establecemos como principal (Set Main) las clases que creamos.

3475.
3476.
3477.
6. Haremos una pequea modificacin en el formulario, agregaremos la instruccin
CLEAR EVENT en el botn de salir:
3478.
(Esto es muy importante, no se nos debe de olvidar)
3479.
3480.
Construya el APP de su proyecto:

3481.
3482.
3483.
Ejecute el APP desde Internet Explorer:
3484.
3485.
Importante: En la maquina del Cliente, se deben de instalar los RUNTIME de Visual
Foxpro, para que se pueda ver en el Browser.
3486.

3487.
3488.

4.1.3.6. SELECT SQL Y MICROSOFT VISUAL FOX PRO 6

3489.
3490.
3491.
3492.
3493.

4.1.3.7. ESTRUCTURA DE LAS TABLAS USADAS EN LOS EJEMPLOS

3494.

Esta son las tablas que debemos de crear en FoxPro

3495.
3496.

3497.
3498.
4.1.3.8. SELECT SQL EN VISUAL FOX PRO 6.0
3499.
3500.
Visual FoxPro admite comandos de Lenguaje de consultas estructurado SQL. Los
comandos SQL de Visual FoxPro utilizan la tecnologa Rushmore para optimizar el rendimiento y
puede utilizarse un slo comando SQL para sustituir a varios comandos Visual FoxPro.
3501.
Visual FoxPro admite los siguientes comandos SQL:
3502.
3503.
SELECT - SQL: Especifica los criterios en los que se basa una consulta y ejecuta la
consulta. Visual FoxPro interpreta la consulta y recupera los datos especificados de la tabla o
tablas. El comando SELECT se construye dentro de Visual FoxPro como cualquier otro comando
de Visual FoxPro. Puede crear una consulta con:
3504.
El comando SELECT
En la ventana Comandos.
En un programa Visual FoxPro (como cualquier otro comando de Visual FoxPro).
En el Diseador de consultas.
3505.
3506.
ALTER TABLE SQ: Modifica una tabla existente. Puede modificar el nombre, el tipo, la
precisin, la escala, la admisin de un valor nulo y las reglas de integridad referencial para cada
campo de la tabla.
3507.
CREATE CURSOR SQL: Crea una tabla temporal. Cada campo de la tabla temporal se define
con un nombre, tipo, precisin, escala, soporte de valor nulo y reglas de integridad referencial. Las
definiciones pueden obtenerse del propio comando o de una matriz.
3508.
CREATE TABLE SQL: Crea una tabla. Cada campo de la tabla nueva se define con un nombre,

tipo, precisin, escala, aceptacin de valores nulos y reglas de integridad referencial. Estas
definiciones pueden obtenerse del propio comando o de una matriz.
3509.
DELETE SQL: Marca para su eliminacin los registros de una tabla mediante la sintaxis de SQL.
3510.
INSERT SQL: Anexa un registro al final de una tabla existente. El nuevo registro incluye los
datos mostrados en el comando INSERT o incluidos en la matriz especificada.
3511.
UPDATE SQL: Actualiza los registros de una tabla. Los registros se pueden actualizar segn los
resultados de una instruccin SELECT SQL
3512.
El propsito de este material es brindar al estudiante ejemplos que le permitan utilizar SELECT
SQL en el diseo de consultas usando para ello una o ms tablas diseadas en Visual Fox Pro.
3513.
3514.
4. COMPONENTES DEL SQL
3515.
3516.
El lenguaje SQL est compuesto por comandos, clusulas, operadores y funciones de
agregado. Estos elementos se combinan en las instrucciones para crear, actualizar y manipular las
bases de datos.
3517.
Comandos
Existen dos tipos de comandos SQL:
3518.
los DLL que permiten crear y definir nuevas bases de datos, campos e ndices.
3519.
los DML que permiten generar consultas para ordenar, filtrar y extraer datos de la base de
datos.
3520.
3521.
Comandos DLL
3522.
Coma
n
3523.
Descripcin
d
o
3524.
CREA
3525.
Utilizado para crear nuevas tablas, campos e ndices
T
E
3526.
DRO
3527.
Empleado para eliminar tablas e ndices
P
3528.
3529.
Utilizado para modificar las tablas agregando campos o cambiando la
ALTE
definicin de los campos.
R
3530.
3531.
Comandos DML
3532.
Coma
n
3533.
Descripcin
d
o
3534.
SELE
3535.
Utilizado para consultar registros de la base de datos que satisfagan
C
un criterio determinado
T
3536.
3537.
Utilizado para cargar lotes de datos en la base de datos en una nica
INSE
operacin.

R
T
3538.
UPDA
3539.
Utilizado para modificar los valores de los campos y registros
T
especificados
E
3540.
DELE
3541.
Utilizado para eliminar registros de una tabla de una base de datos
T
E
3542.
3543.
Clusulas
Las clusulas son condiciones de modificacin utilizadas para definir los datos que desea
seleccionar
o
manipular.
3544.
Clusu
3545.
Descripcin
la
3546.
3547.
Utilizada para especificar la tabla de la cual se van a seleccionar los
FROM
registros
3548.
3549.
Utilizada para especificar las condiciones que deben reunir los
WHER
registros que se van a seleccionar
E
3550.
GROU
3551.
Utilizada para separar los registros seleccionados en grupos
P
especficos
BY
3552.
HAVIN
3553.
Utilizada para expresar la condicin que debe satisfacer cada grupo
G
3554.
ORDE
3555.
Utilizada para ordenar los registros seleccionados de acuerdo con
R
un orden especfico
BY
3556.
3557.
Operadores
Lgicos
3558.
Opera
3559.
Uso
d
or
3560.
3561.
Es el "y" lgico. Evala dos condiciones y devuelve un valor de
AND
verdad slo si ambas son ciertas.
3562.
3563.
Es el "o" lgico. Evala dos condiciones y devuelve un valor de
OR
verdadero si alguna de las dos es cierta.
3564.
3565.
Negacin lgica. Devuelve el valor contrario de la expresin.
NOT
3566.
3567.
Operadores
de
Comparacin
3568.
O
perador
3570.
<

3569.

Uso

3571.

Menor que

3572.
3574.

>
<
>

3576.

<
=

3578.

>
=

3573.

Mayor que

3575.

Distinto de

3577.

Menor Igual que

3579.

Mayor Igual que

3580.
= 3581.
Igual que
3582.
B
ETWEE
3583.
Utilizado para especificar un intervalo de valores.
N
3584.
L
3585.
Utilizado en la comparacin de un modelo
IKE
3586.
I
3587.
Utilizado para especificar registros de una base de datos
n
3588.
3589.
CONSULTAS BSICAS
La sintaxis bsica de una consulta de seleccin es la siguiente:
3590.
SELECT Campos FROM Tabla
3591.
En donde campos es la lista de campos que se
deseen recuperar y tabla es el origen de los
mismos,
por
ejemplo:
3592.
SELECT
Nombre,
Telfono
FROM
Clientes
3593.
3594.
Esta consulta devuelve una visualizacin
de la tabla Clientes con el campo nombre y telfono.
3595.
3596.
Esta visualizacin en VFP es un browse pero no es necesario agregar esta orden, SQL lo
invoca automticamente. Vea el orden de los campos en el browse.
3597.
3598.
3599.
ORDENAR LOS REGISTROS
3600.
Adicionalmente se puede especificar el orden en que se desean recuperar los registros de las
tablas mediante la clusula ORDER BY Lista de Campos. En donde Lista de campos representa
los campos a ordenar.
3601.
3602.
Ejemplo:
SELECT Cod_Postal, Nombre, Telefono FROM Clientes ORDER BY Nombre
3603.

3604.
3605.
3606.
Esta consulta devuelve los campos CodigoPostal, Nombre, Telefono de la tabla Clientes
ordenados por el campo Nombre.
3607.
Se pueden ordenar los registros por ms de un campo, como por ejemplo:

3608.
SELECT CodigoPostal, Nombre, Telefono FROM Clientes ORDER BY Cod_Postal,
Nombre
3609.

3610.
3611.
3612.
Incluso se puede especificar el orden de los registros: ascendente mediante la clusula
(ASC -se toma este valor por defecto) descendente (DESC)
3613.
SELECT CodigoPostal, Nombre, Telefono FROM Clientes ORDER BY CodigoPostal, nombre ASC
3614.
Consultas Con Predicado
3615.
El predicado se incluye entre la clusula y el primer nombre del campo a recuperar, los posibles
predicados son:
3616.
3617.
3618.
Descripcin
Predicado
3619.
3620.
Devuelve todos los campos de la tabla
*
3621.
3622.
Devuelve un determinado nmero de registros de la tabla
TOP
3623.
3624.
Omite los registros cuyos campos seleccionados coincidan
DISTINCT
totalmente
3625.
3626.
Omite los registros duplicados basndose en la totalidad del
DISTINCT
registro y no slo en los campos seleccionados.
ROW
3627.
3628.
* (ALL)
3629.
Si no se incluye ninguno de los predicados se asume ALL. El Motor de base de datos
selecciona todos los registros que cumplen las condiciones de la instruccin SQL. No se
conveniente abusar de este predicado ya que obligamos al motor de la base de datos a analizar la
estructura de la tabla para averiguar los campos que contiene, es mucho ms rpido indicar el
listado
de
campos
deseados.
SELECT * FROM Clientes
3630.
3631.
TOP
Devuelve un cierto nmero de registros que entran entre al principio o al final de un rango
especificado por una clusula ORDER BY. Supongamos que queremos recuperar los nombres de
los tres primeros clientes tomando como referencia un orden ASC para el campo cedula
3632.
SELECT TOP 3 cedula, Nombre FROM clientes ORDER BY cedula DESC
El resultado de la consulta mostrar en pantalla los tres primeros registros que correspondan al
orden. Observe en la figura los nmeros de cedula.
3633.

3634.
3635.
3636.
Como la sentencia ORDER BY cedula DESC indica que se deben ordenar en orden
descendente los registros, se muestran los tres primeros contando del ltimo en adelante.
3637.
Observe el cambio en el resultado de la consulta si ORDER BY cedula ASC
SELECT TOP 3 cedula, Nombre FROM clientes ORDER BY cedula ASC

3638.

3639.
3640.
3641.
El orden establecido para el campo cedula es ASC, por lo tanto toma los tres primeros
registros en forma ascendente.
3642.
Si no se incluye la clusula ORDER BY, la consulta devolver un conjunto arbitrario de 3registros
de la tabla Clientes .El predicado TOP no elige entre valores iguales. Si se incluye la palabra clave
PERCENT, se redondear al nmero entero ms alto el nmero de columnas devuelto en el
resultado. Los valores permitidos para nExpr cuando se incluye la palabra clave PERCENT son
0.01 a 99.99.
3643.
3644.
Ejemplo: La tabla Clientes tiene un total de 10 registros, si se quiere visualizar en pantalla
un 20% ordenado por cedula en orden ascendente la lnea de cdigo ser:
3645.
SELECT TOP 20 PERCENT cedula, nombre FROM Clientes ORDER BY cedula ASC
Y el resultado de la bsqueda como se puede apreciar son dos registros correspondientes al 20 %
de 10 que hay en total
3646.

3647.
3648.
3649.
El valor que va a continuacin de TOP debe ser un Integer sin signo.
3650.
3651.
DISTINCT
Omite los registros que contienen datos duplicados en los campos seleccionados. Para que los
valores de cada campo listado en la instruccin SELECT se incluyan en la consulta deben ser
nicos.
Por ejemplo, suponga que se desea saber los cdigos de rea de los nmeros de telfono de los
clientes almacenados en la tabla. Es de supones que con que aparezca una sola vez 0274 o 0416
es suficiente as existan otros clientes con el mismo cdigo de rea.
3652.
3653.
SELECT DISTINCT SUBSTR(telefono, 1, 4) from clientes
3654.
En vista que el cdigo de rea y el nmero del telfono estn integrados en un atributo atmico, se
debe extraer el dato que se necesita para la consulta usando la Funcin SUBSTR(), y as en la
consulta se podrn observar los diferentes cdigos de rea que conforman los telfonos de los
clientes.

3655.
3656.
3657.
Vista de la consulta usando DISTINCT
3658.
Con otras palabras el predicado DISTINCT devuelve aquellos registros cuyos campos
indicados en la clusula SELECT posean un contenido diferente. El resultado de una consulta que

utiliza DISTINCT no es actualizable y no refleja los cambios subsiguientes realizados por otros
usuarios.
3659.
3660.
En el ejemplo anterior tambin se puede apreciar como se mezcla de forma eficiente
cdigo de SQL con el de VFP y se consiguen mejores resultados.
3661.
3662.
5. CRITERIOS DE SELECCIN
3663.
Se vio la forma de recuperar los registros de las tablas, las formas empleadas devolvan
todos los registros de la mencionada tabla. A lo largo de este apartado se estudiarn las
posibilidades de filtrar los registros con el fin de recuperar solamente aquellos que cumplan una o
unas condiciones preestablecidas
3664.
3665.
WHERE
Indica a Visual FoxPro que incluya nicamente ciertos registros en el resultado de la consulta.
WHERE es necesario para recuperar datos de varias tablas. Para las condiciones de filtro se
puede utilizar cualquiera de los siguientes operadores:
3666.
3667.
Operad
or

3668.

Comparacin

3669.
=

3670.

Igual

3671.
==

3672.
igual

Exactamente

3673.
LIKE

3674.

SQL LIKE

3675.
<>

3676.

Distinto de

3677.
>

3678.

Mayor que

3679.
>=

3680.

Mayor o igual que

3681.
<

3682.

Menor que

3683.
<=

3684.

Menor o igual que

3685.
3686.
Cuando utiliza el operador = con cadenas, acta de forma distinta dependiendo del ajuste
de SET ANSI. Cuando SET ANSI est OFF, Visual FoxPro trata las comparaciones de cadenas en
la forma habitual en Xbase.
3687.
3688.
Cuando SET ANSI est a ON, Visual FoxPro sigue las normas ANSI para comparaciones
de cadenas. Vea SET ANSI y SET EXACT para obtener informacin adicional sobre la forma en
que Visual FoxPro realiza las comparaciones de cadenas.
3689.
3690.
Ejemplo 1
Suponga que deseamos conocer todos los clientes Movilnet (cdigo 0416) de la tabla y adems
queremos enmascarar el titulo del campo. Para esto la lnea de cdigo SQL ser:
3691.
SELECT nombre AS Clientes_MovilNet FROM clientes WHERE substr (telefono,1,4) = '0416'

3692.
SELECT nombre = selecciona el campo nombre de la tabla
3693.
AS Clientes_Movilnet = crea la mascara para la consulta. Se debe tomar en cuenta que no pueden
existir espacios en blanco en la cadena de caracteres.
3694.
FROM clientes = establece el origen de los datos para la consulta.
WHERE substr (telefono, 1,4) = '0416' => criterio de filtro para la consulta.
3695.

3696.
3697.
3698.
Ejemplo 2
Se necesita conocer el nombre y el telfono de los clientes con crdito hasta Bs. 100.000,00
SELECT nombre AS Credito_Hasta_100000, telefono FROM clientes WHERE credito <= 100000
3699.

3700.
3701.
3702.
Ejemplo 3
Disear una consulta SQL de todos los clientes foraneos (cdigo postal diferente de 5101).
3703.
Para resolver este problema usaremos la clusula IN la cual indica que el campo debe contener
uno de los valores antes de que el registro se incluya en los resultados de la consulta. Pero para
este caso en particular la negaremos con NOT
3704.
3705.
SELECT NOMBRE AS CLIENTES_FORANEOS, TELEFONO, COD_POSTAL FROM
CLIENTES;
WHERE COD_POSTAL NOT IN ('5101')
3706.

3707.
3708.
3709.
Observe el resultado de la consulta, estn todos los clientes a excepcin de los que tienen
como cdigo postal 5101.
3710.
3711.
6. INTERVALOS DE VALORES
3712.

3713.

El operador BETWEEN

3714.
Para indicar que deseamos recuperar los registros segn el intervalo de valores de un
campo emplearemos el operador BETWEEN cuya sintaxis es:
3715.
Campo [NOT] BETWEEN valor1 AND valor2 (la condicin Not es opcional)
3716.
En este caso la consulta devolvera los registros que contengan en "campo" un valor incluido en el
intervalo valor1, valor2 (ambos inclusive). Si anteponemos la condicin Not devolver aquellos
valores no incluidos en el intervalo.
3717.
Ejemplo
1
Se necesita conocer los datos de los clientes que tienen una carta de crdito entre dos y tres
millones de Bolvares.
3718.
La lnea de cdigo SQL ser:
3719.
SELECT NOMBRE AS CREDITO_ENTRE_200000_Y_3000000, TELEFONO, COD_POSTAL,;
CREDITO FROM CLIENTES WHERE CREDITO BETWEEN 2000000 AND 3000000
3720.

3721.
3722.
3723.
7. El operador like
3724.
Se utiliza para comparar una expresin de cadena con un modelo en una expresin SQL.
Su sintaxis es:
3725.
3726.
Expresin LIKE modelo
3727.
En donde expresin es una cadena modelo o campo contra el que se compara expresin. Se
puede utilizar el operador LIKE para encontrar valores en los campos que coincidan con el modelo
especificado. Por modelo puede especificar un valor completo (Ana Mara), o se pueden utilizar
caracteres comodn para encontrar un rango de valores (LIKE An%).
3728.
El operador LIKE se puede utilizar en una expresin para comparar un valor de un campo con una
expresin de cadena. Por ejemplo, si introduce LIKE C% en una consulta SQL, la consulta
devuelve todos los valores de campo que comiencen por la letra C. En una consulta con
parmetros, puede hacer que el usuario escriba el modelo que se va a utilizar.
3729.
Puede utilizar el signo de porcentaje (%) y subrayado (_) como parte de la expresin. El signo de
porcentaje representa a cualquier secuencia de caracteres desconocidos en la cadena. El
subrayado representa un solo carcter desconocido en la cadena.
3730.
3731.
Ejemplo
Listar por pantalla todos los clientes cuyos nombres comiencen con la letra I
La lnea SQL ser:
3732.
SELECT NOMBRE AS CLIENTES_CUYOS_NOMBRES_EMPIEZAN_POR_I FROM CLIENTES;
WHERE UPPER (NOMBRE) LIKE 'I%'

3733.
3734.
3735.
Observe el resultado de la consulta, no importa que siga a la letra I en el campo nombre,
SQL lo muestra en pantalla.
3736.
8. Agrupamiento de registros
3737.
GROUP BY ColumnaGrupo [, ColumnaGrupo...]
3738.
Agrupa las filas de la consulta basndose en los valores de una o ms columnas. ColumnaGrupo
puede ser el nombre de un campo normal de una tabla, o un campo que incluya una funcin de
campo SQL, o una expresin numrica indicando la posicin de la columna en la tabla resultado
(la columna ms a la izquierda tiene el nmero 1).
3739.
3740.
Su sintaxis es:
3741.
SELECT campos FROM tabla WHERE criterio GROUP BY campos del grupo HAVING condicin
3742.
3743.
Los valores Null en los campos GROUP BY se agrupan y no se omiten. No obstante, los
valores Null no se evalan en ninguna de las funciones SQL agregadas.
3744.
Se utiliza la clusula WHERE para excluir aquellas filas que no desea agrupar, y la clusula
HAVING para filtrar los registros una vez agrupados.
3745.
A menos que contenga un dato Memo u Objeto OLE , un campo de la lista de campos GROUP BY
puede referirse a cualquier campo de las tablas que aparecen en la clusula FROM, incluso si el
campo no esta incluido en la instruccin SELECT.
3746.
Todos los campos de la lista de campos de SELECT deben o bien incluirse en la clusula GROUP
BY.
HAVING es similar a WHERE, determina qu registros se seleccionan. Una vez que los registros
se han agrupado utilizando GROUP BY, HAVING determina cules de ellos se van a mostrar.
3747.
Si tenemos una tabla llamada clientes con los siguientes registros:
3748.
3749.

3750.
3751.
Se nos plantea la siguiente interrogante Cules registros cumplen con la condicin de
poseer Cdigo Postal 5101 y adems son clientes Movilnet?
3752.
Agrupamos los clientes con Cod_Postal 5101 y luego con HAVING seleccionamos los clientes
Movilnet (0416)

3753.
SELECT cedula, nombre, cod_postal FROM clientes WHERE cod_postal
GROUP BY cedula, nombre, cod_postal HAVING SUBSTR (TELEFONO,1,4) = '0416'
3754.

'5101';

3755.
3756.
3757.
AVG
Calcula la media aritmtica de un conjunto de valores contenidos en un campo especificado de
una consulta. Su sintaxis es la siguiente:
3758.
3759.
AVG (expr)
3760.
En donde expr representa el campo que contiene los datos numricos para los que se desea
calcular la media o una expresin que realiza un clculo utilizando los datos de dicho campo. La
media calculada por AVG es la media aritmtica (la suma de los valores dividido por el nmero de
valores). La funcin AVG no incluye ningn campo Null en el clculo.
3761.
3762.
Ejemplo
Usando la tabla CLIENTES se desea conocer el promedio de crdito de los clientes de la ciudad
de Mrida (cod_postal = 5101)
3763.
SELECT
AVG
(CREDITO)
AS
CLIENTES_MERIDA
FROM
CLIENTES;
WHERE COD_POSTAL IN ('5101')
3764.
El resultado de la consulta ser:

3765.
3766.
3767.
COUNT
Calcula el nmero de registros devueltos por una consulta. Su sintaxis es la siguiente
3768.
3769.
COUNT (expr)
3770.
En donde expr contiene el nombre del campo que desea contar. Los operandos de expr pueden
incluir el nombre de un campo de una tabla, una constante o una funcin. Aunque expr puede
realizar un clculo sobre un campo, COUNT simplemente cuenta el nmero de registros sin tener
en cuenta qu valores se almacenan en los registros. La funcin COUNT no cuenta los registros
que tienen campos NULL.
3771.
SELECT COUNT (campo) AS nombre_mscara FROM tabla
3772.
Ejemplo
Se desea determinar Cuntos Clientes tienen crdito entre Bs. 100.000,00 y Bs. 300.000,00?
SELECT COUNT (CREDITO) AS CLIENTES_ENTRE_100000_y_300000 FROM CLIENTES;
WHERE CREDITO BETWEEN 100000 AND 300000
3773.

3774.
3775.
3776.
Como puede observar SQL proporciona el nmero de clientes que cumplen con la
condicin especificada en WHERE.
3777.
3778.
Max y Min
3779.
Devuelven el mnimo o el mximo de un conjunto de valores contenidos en un campo especifico
una consulta. Su sintaxis es:
3780.
Min (expr)
3781.
Max (expr)
3782.
En donde expr es el campo sobre el que se desea realizar el clculo. Expr puede incluir el nombre
de un campo de una tabla o una constante.
3783.
3784.
Ejemplo
Se desea conocer el monto en Bs. De la mayor carta de crdito de un cliente forneo cdigo
postal 5102
3785.
SELECT MAX (CREDITO) AS CLIENTE_CON_MAYOR_CRDITO_5102 FROM CLIENTES;
WHERE COD_POSTAL IN ('5102')
3786.

3787.
3788.
3789.
SELECT MIN (CREDITO)
CLIENTES;
WHERE COD_POSTAL IN ('5102')
3790.

AS

CLIENTE_CON_MENOR_CRDITO_5102

FROM

3791.
3792.
3793.
El cdigo SQL anterior muestra el uso de MIN para ubicar el monto de la menor carta de
crdito de la zona 5102.
3794.
SUM
Devuelve la suma del conjunto de valores contenido en un campo especfico de una consulta. Su
sintaxis es:
3795.
3796.
SUM (expr)
3797.
En donde expr representa el nombre del campo que contiene los datos que desean sumarse o una
expresin que realiza un clculo utilizando los datos de dichos campos. Los operandos de expr
pueden incluir el nombre de un campo de una tabla o una constante.
3798.

3799.
Ejemplo
Se desea conocer el monto total de las carteras de crdito de los clientes cdigo de rea 5102
3800.

3801.
3802.
3803.
SELECT SUM (CREDITO) AS TOTAL_CRDITO_5102 FROM CLIENTES WHERE
COD_POSTAL
IN
('5102')
3804.
Este ejemplo suma los resultados de las consultas anteriores con MAX Y MIN.
3805.
3806.
SUBCONSULTAS
Una subconsulta es una instruccin SELECT anidada dentro de una instruccin SELECT,
SELECT...INTO, INSERT...INTO, DELETE, o UPDATE o dentro de otra subconsulta.
3807.
Puede utilizar tres formas de sintaxis para crear una subconsulta:
3808.
Comparacin [ANY | ALL | SOME] (instruccin SQL)
3809.
Expresin [NOT] IN (instruccin SQL)
[NOT] EXISTS (instruccin SQL)
3810.
EN DONDE:
Comparacin: Es una expresin y un operador de comparacin que compara la expresin con el
resultado de la subconsulta.
3811.
Expresin: Es una expresin por la que se busca el conjunto resultante de la subconsulta.
3812.
Instruccin SQL: Es una instruccin SELECT, que sigue el mismo formato y reglas que cualquier
otra instruccin SELECT. Debe ir entre parntesis.
3813.
Se puede utilizar una subconsulta en lugar de una expresin en la lista de campos de una
instruccin SELECT o en una clusula WHERE o HAVING. En una subconsulta, se utiliza una
instruccin SELECT para proporcionar un conjunto de uno o ms valores especificados para
evaluar en la expresin de la clusula WHERE o HAVING.
3814.
Se puede utilizar el predicado ANY, ALL o SOME, los cuales son sinnimos, para recuperar
registros de la consulta principal, que satisfagan la comparacin con cualquier otro registro
recuperado en la subconsulta.
3815.
Cuando la condicin de filtro incluye ANY o SOME, el campo debe cumplir la condicin de
comparacin en al menos uno de los valores generados por la subconsulta.
3816.
Cuando la condicin de filtro incluye ALL, el campo debe cumplir la condicin de comparacin para
todos los valores generados por la subconsulta antes de que se incluya el registro en el resultado
de la consulta.
3817.
3818.
Ejemplo
Usando una subconsulta muestre una lista de clientes cuyo telfono sea Movilnet (cdigo de rea
0416)
3819.
SELECT nombre, credito, TELEFONO FROM clientes WHERE SUBSTR (TELEFONO, 1, 4);
IN (SELECT TELEFONO FROM CLIENTES WHERE SUBSTR (TELEFONO, 1, 4) = '0416')
3820.

3821.
Ejemplo
Suponga que se desea conocer los datos personales de los clientes con cartas de crdito por
arriba de Bs. 2.500.000,00
3822.
SELECT nombre, credito, TELEFONO FROM clientes WHERE credito = ALL ;
(SELECT CREDITO FROM CLIENTES WHERE CREDITO > 2500000)
3823.
3824.
Ejemplo
Encontrar los clientes con carteras de crdito entre Bs. 2.300.000,00 Y Bs. 2.500.000
SELECT nombre, credito, TELEFONO FROM clientes WHERE credito = ANY;
3825.
(SELECT CREDITO FROM CLIENTES WHERE CREDITO BETWEEN 2300000 AND 2500000)
3826.
**** WHERE credito = ANY (subconsulta SQL) indica que se incluya en la consulta a
cualquier registro que cumpla aunque sea una parte de la condicin de la subconsulta.
3827.
Ejemplo
Liste a todos los clientes que tengan residencia en la ciudad de Mrida.
SELECT NOMBRE, CREDITO, TELEFONO, CIUDAD FROM CLIENTES WHERE CIUDAD = ALL;
(SELECT CIUDAD FROM CLIENTES WHERE UPPER (CIUDAD) = 'MERIDA')
3828.

3829.
3830.
3831.
Observe el efecto que se produce en la consulta cuando se cambia el operador = antes de
ALL
3832.
SELECT NOMBRE, CREDITO, TELEFONO, CIUDAD FROM CLIENTES WHERE
CIUDAD > ALL; (SELECT CIUDAD FROM CLIENTES WHERE UPPER (CIUDAD) = 'MERIDA')
3833.

3834.
3835.
3836.
SELECT NOMBRE, CREDITO, TELEFONO, CIUDAD FROM CLIENTES WHERE
CIUDAD < ALL; (SELECT CIUDAD FROM CLIENTES WHERE UPPER (CIUDAD) = 'MERIDA')
3837.
3838.

3839.

3840.
Se puede ver claramente que el resultado de la consulta vara sustancialmente cuando se
cambia el operador = antes de ALL. Al utilizar > se muestran en la consulta todos aquellos
registros que cumplen con la condicin de comenzar con una letra mayor a M. Y al utilizar < se
agregan a la consulta slo aquellos cuya letra inicial en el campo ciudad est por debajo de M.
3841.
3842.
Ejemplo
Mostrar en pantalla los clientes con cartas de crdito menores a Bs. 200.000,00
SELECT NOMBRE, CREDITO, TELEFONO FROM CLIENTES WHERE CREDITO < ALL;
(SELECT CREDITO FROM CLIENTES WHERE CREDITO = 200000)
3843.
Con la condicin del WHERE de la consulta principal se establece que se deben mostrar todos
aquellos registros menores a la condicin establecida en la subconsulta (credito = 200000)
3844.

3845.
3846.
CONSULTAS DE UNIN INTERNAS
3847.
Las vinculaciones entre tablas se realizan mediante la clusula INNER que combina registros de
dos tablas siempre que haya concordancia de valores en un campo comn. Su sintaxis es:
3848.
SELECT campos FROM tb1 INNER JOIN tb2 ON tb1.campo1 OPERADOR tb2.campo2
3849.
3850.
En donde:
tb1, tb2: Son los nombres de las tablas desde las que se combinan los registros.
3851.
campo1, campo2: Son los nombres de los campos que se combinan. Si no son numricos, los
campos deben ser del mismo tipo de datos y contener el mismo tipo de datos, pero no tienen que
tener el mismo nombre.
3852.
OPERADOR:
3853.
3854.
Es cualquier operador de comparacin relacional: =, <, >, <=, >=, o <>.
3855.
Se puede utilizar una operacin INNER JOIN en cualquier clusula FROM. Esto crea una
combinacin por equivalencia, conocida tambin como unin interna. Las combinaciones de
equivalencia son las ms comunes; stas combinan los registros de dos tablas siempre que haya
concordancia de valores en un campo comn a ambas tablas. Se puede utilizar INNER JOIN con
las tablas Clientes y Pedidos (ver ilustracin ms abajo) para seleccionar todos los pedidos de los
clientes o los pedidos de un cliente en particular.
3856.
Ms formalmente INNER JOIN especfica que el resultado de la consulta contenga slo filas para
una tabla con la que coincidan una o varias filas en otra tabla.
3857.
3858.
Ejemplo
3859.
Mostrar una consulta para determinar la fecha y el monto de los pedidos de un cliente X
identificado por su nmero de cedula.

3860.
3861.
3862.
3863.
3864.
3865.
3866.
3867.
3868.
3869.
3870.
3871.
3872.
3873.
3874.
3875.
3876.
SELECT fecha, monto from PEDIDOS INNER
JOIN clientes;
3877.
ON clientes.cedula = 2 AND pedidos.cedula = 2
3878.

3879.
3880.
3881.
Suponga que complementamos esta consulta aadiendo
los campos nombre y telfono de la tabla clientes, el resultado por pantalla
sera:
3882.
3883.
a

lnea de cdigo SQL ser:


3884.
3885.
SELECT clientes.nombre, clientes.telefono, fecha, monto FROM PEDIDOS INNER JOIN
clientes;
3886.
ON clientes.cedula = 2 AND pedidos.cedula = 2
3887.
3888.
Observe la sintaxis con que se escriben los campos de la tabla que no est activa
(clientes). Se antecede el nombre del campo con el identificador de la tabla y un punto.
3889.
3890.
Existen rdenes agregadas que cambiaran el resultado de la consulta dependiendo como
las use. Estas son:
3891.
3892.
LEFT [OUTER] JOIN: especifica que el resultado de la consulta contenga todas las filas de
la tabla a la izquierda de la palabra clave JOIN y slo las filas que concuerden procedentes de la
tabla a la derecha de la palabra clave JOIN. La palabra clave OUTER es opcional; se puede incluir
para resaltar que se ha creado una combinacin externa.
3893.
3894.
RIGHT [OUTER] JOIN especifica que el resultado de la consulta contenga todas las filas
desde la tabla hasta la derecha de la palabra clave JOIN y slo las filas que concuerden desde la
tabla hasta la izquierda de la palabra clave JOIN. La palabra clave OUTER es opcional; puede
incluirse para resaltar la creacin de una combinacin externa.
3895.
FULL [OUTER] JOIN: especifica que el resultado de la consulta contenga todas las filas,
concuerden o no, de ambas tablas. La palabra clave OUTER es opcional; se puede incluir para
resaltar que se ha creado una combinacin externa.
3896.
3897.
Ejemplo:
Observe
como
cambia el resultado
de
la
consulta
anterior agregando
las rdenes LEFT,
RIGHT, FULL.
3898.
LEFT
SELECT
clientes.nombre,
clientes.telefono,
fecha, monto FROM
PEDIDOS
LEFT
JOIN
clientes;
ON clientes.cedula =
2 AND pedidos.cedula = 2
3899.
3900.

3901.
3902.
En este caso la condicin del ON es especfica el campo cedula en ambas tablas debe ser
igual a 2; pero LEFT indica a SQL que ingrese los campos a la izquierda de la palabra JOIN los
cuales se muestran como .NULL., en vista que no cumplen con la condicin cedula = 2.
3903.
RIGHT
SELECT clientes.nombre, clientes.telefono, fecha, monto FROM PEDIDOS RIGHT JOIN; clientes
ON clientes.cedula = 2 AND pedidos.cedula = 2
3904.
El resultado ser (ver siguiente pgina)
3905.
3906.

3907.
3908.
Los campos a la derecha de JOIN se mostrarn como .NULL. en vista que no cumplen con
la condicin cedula = 2.
3909.
3910.
FULL

3911.

3912.
3913.
SELECT clientes.nombre, clientes.telefono, fecha, monto FROM PEDIDOS FULL JOIN
clientes; ON clientes.cedula = 2 AND pedidos.cedula = 2
3914.
En este caso se muestran los campos de ambas tablas coincidan o no con la condicin
establecida.
3915.
Consultas De Unin Externas
3916.
Se utiliza la operacin UNION para crear una consulta de unin, combinando los resultados de
dos o ms consultas o tablas independientes. Su sintaxis es:
3917.
SELECT campos separados por comas FROM nombre tabla WHERE condicin UNION; SELECT
campos separados por comas FROM nombre tabla WHERE condicin
3918.
Los campos de ambos SELECT deben estar en igual nmero en ambas instrucciones y deben ser
del mismo tipo.
3919.
3920.
Ejemplo:
Suponga que tenemos una tabla VENDEDORES junto con la ya conocida tabla CLIENTES con la
que hemos trabajado anteriormente.
3921.
Se le solicita que presente una vista por pantalla de todos los vendedores y clientes que
se encuentran geogrficamente ubicados en la zona 5101.
3922.

3923.
3924.
3925.

La lnea SQL ser:

3926.
SELECT CEDULA, NOMBRE, TELEFONO AS CLIENTES_Y_VENDEDORES FROM
CLIENTES WHERE COD_POSTAL = '5101'; UNION SELECT CEDULA, NOMBRE, TELEFONO
FROM VENDEDORES WHERE ZONA = '5101'
3927.

3928.
3929.
3930.
Observe que el nico vendedor que cumple con la condicin aparece en la consulta en el
ltimo lugar.

3931.
3932.
3933.
Ejemplo:
Suponga ahora que desea ver a todos los vendedores y clientes en una sola vista la lnea de
comando SQL ser ms sencilla como se puede apreciar:
3934.
SELECT CEDULA, NOMBRE, TELEFONO AS CLIENTES_Y_VENDEDORES FROM CLIENTES
UNION; SELECT CEDULA, NOMBRE, TELEFONO FROM VENDEDORES
3935.

3936.

ACTIVIDAD 4.1.3.

3937.
3938.
Instrucciones: Aplicando los Select de SQL realice las
siguientes consultas de la base de datos Biblioteca.
3939.
1. Muestre todos los libros que pertenecen al tema de Sociales.
2. Muestre a todos los libros en mal estado.
3. Realice una lista de los libros prestados ms de tres veces.
4. Realice una lista de los libros ms prestados
5. Muestre a los Clientes que ms libros han prestado
3940.
3941.
Utilizando comandos de SQL permita realizar las siguientes opciones:
3942.
1. Ingrese un nuevo registro a la tabla Editorial
2. Modificar el estado de un libro
3. Cambiar de formato a la fecha de prstamo al libro
4. Saber en qu fecha se prest un determinado libro
5. Mostrar todas las tablas de la base de datos.
3943.
3944.
Las habilidades que se deben demostrar en este nivel son: El estudiante selecciona,
transfiere, y utiliza datos y principios para completar una tarea o solucionar un problema.
3945.
3946.
Qu hace el estudiante?
3947.
Recuerda y reconoce informacin e ideas adems de principios aproximadamente en
misma forma en que los aprendi.
3948.
3949.

3950.

GLOSARIO 4.1.1

3951.
3952.

3953.
3955.
3957.
3959.

3960.

3961.
3963.
3965.
3967.

3968.

3969.
3971.
3973.
3975.

3976.

3977.
3979.
3981.
3983.

3984.

3985.
3987.
3989.
3991.

3992.

3993.
3995.
3997.
3999.

4000.

4001.
4003.
4005.
4007.

4008.
4009.
4010.

BIBLIOGRAFIA

4011.
CAMPBELl, Mary. Base IV Gua de Autoenseanza. Espaa. Editorial McGraw Hill
Interamericana. 1990. pp110/111,121/122,161,169, 179-191/192.
4012.
4013.
HARWRYSZKIEWYCZ, I T. Anlisis y diseo de base de datos. Editorial Megabyte.
Noriega Editores. Mxico. 1994. pp29/31
4014.
4015.
LAUDON, Kenneth C. Administracin de los sistemas de informacin. 3ra. Edicin. Mxico.
1996. pp 271/295
4016.
4017.
FUNDAMENTOS DE BASE DE DATOS. Henry F. Korth y Abraham Silberschatz. Editorial
McGraw Hill Interamericana. 1ra. Edicion.
4018.
4019.
DISEO DE BASES DE DATOS RELACIONALES, Piattini Mario, Adoracin de Miguel,
Marcos Esperanza.. Ed. Alfaomega
4020.
4021.
SISTEMAS OPERATIVOS, Stallings,William. Prentice Hall, 2da edicin
4022.
4023.
INTRODUCCIN A LOS SISTEMAS DE BASES DE DATOS C.J. Date. 7ma edicin,
Pearson Educacin(2001).
4024.
4025.
ANLISIS Y DISEO DE SISTEMAS Kendall & Kendall. 3ra edicin, Pearson
Educacin.
4026.
4027.
INGENIERA DE SOFTWARE Ian Sommerville. 6ta edicin, Addison Wesley.
4028.
4029.
PROGRAMACION Y DISEO EN ENTORNO GRAFICO, Felix Chamorro, Etitorial
McGraw Hill Primera Edicion
4030.
4031.

Potrebbero piacerti anche