Está en la página 1de 135

Introdución a las bases de datos

con Microsoft Access

Gestión informatizada del


subsistema comercial
2º Ciclo / 2º Curso
Tema 9

Dpto. de Economía Financiera y Dirección de Operaciones


(c)Antonio Paredes Moreno
Universidad de Sevilla
Resumen

Estas páginas responden al proposito de servir como material de base para el es-
tudio del tema Modelización de la gestión comercial a través de los sistemas gestores de bases
de datos, para los alumnos que cursan la asignatura ”Gestión informatizada del subsis-
tema comercial” en la Licenciatura en investigación y técnicas de mercado. Para ello
utilizaremos como herramienta de trabajo la aplicación más extendida, MsAccess 2000
y siguientes, ya que la consideramos adecuada al perfil para este nivel de aprendizaje.
Se muestra de una forma sencilla, concisa y clara, el proceso de aprendizaje de una
de las materias más importantes en el mundo de la empresa, cual es el de las bases de
datos. Con la ayuda de ejemplos se va introduciendo al alumno en el manejo de esta
aplicación, desde la pantalla inicial.
Para el aprendizaje de bases de datos con MsAccess 200x, se emplean tanto la for-
ma manual de realizar las operaciones, como con la ayuda de los distintos asistentes
incrustados en la herramienta.
Se inicia mostrando el diseño de la base de datos: Qué son y como se crean e im-
portan las tablas; como se manejan, modifican; qué son y como se crean las relaciones
e indices; Una vez diseñada la estructura, se describe como se insertan, manejan y con-
sultan los datos en las tablas.
Otro capítulo lo integra todo el proceso de aprendizaje acerca de las consultas, sus
creación, ejecución, distintos tipos, operadores a utilizar. Además de la creación en for-
ma visual, se introduce el lenguaje SQL y sus instrucciones fundamentales, así como las
subconsultas.
Se dedica un capítulo al estudio detallado de los formularios y subformularios,
describiéndose los distintos controles visuales, así como la codificación de eventos y
acciones.
Por último, dedicamos un capítulo al aprendizaje de las salidas impresas, es decir,
a los informes y etiquetas.
Para hacer más amigable y eficaz el aprendizaje, se incrustan figuras y ejemplos
adecuados a la temática que se va exponiendo a lo largo de las páginas.
Índice general

1. Introducción a Microsoft Access 13


1.1. Iniciar y salir de Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2. El entorno de Access 15
2.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2. El escritorio, o área de trabajo . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3. Los ayudantes de Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3. Las Bases de datos de Access 19


3.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.1.1. El Diseño de una base de datos . . . . . . . . . . . . . . . . . . . . . 20
3.1.2. Tipos de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.1.3. Relación entre tablas . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2. Crear una base de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2.1. Diseño y Planificación de las tablas . . . . . . . . . . . . . . . . . . . 24
3.2.2. Propiedades de los campos . . . . . . . . . . . . . . . . . . . . . . . 27
3.2.3. Proceso de creación de la tabla . . . . . . . . . . . . . . . . . . . . . 30
3.2.4. Modificación de una tabla . . . . . . . . . . . . . . . . . . . . . . . . 30
3.2.5. Otras formas de creación de tablas . . . . . . . . . . . . . . . . . . . 31
3.2.6. Renombrar tablas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.2.7. Eliminar tablas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.3. Claves e índices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.3.1. Claves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

5
3.3.2. Indices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.4. Relaciones entre tablas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.4.1. Tipos de relaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.4.2. Crear relaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.4.3. Modificar relaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.4.4. Eliminar relaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.5. Introducción de datos en la tabla . . . . . . . . . . . . . . . . . . . . . . . . 43
3.5.1. Introducir registros . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.5.2. Editar registros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.5.3. Copiar, mover, eliminar datos . . . . . . . . . . . . . . . . . . . . . . 45
3.5.4. Insertar registros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.5.5. Insertar columnas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.5.6. Buscar datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.5.7. Filtrar datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.5.8. Reemplazar datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

4. Consultar la base de datos 51


4.1. Creación de una consulta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.2. Campos de la consulta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.3. Condiciones de la consulta: Simples y compuestas . . . . . . . . . . . . . . 52
4.4. Operadores lógicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.4.1. El Operador Y (AND) . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.4.2. El Operador O (OR) . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.4.3. El Operador Negación . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.4.4. La expresión Nulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.5. Operaciones con la consulta . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.6. Otros ejemplos de consulta . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.6.1. Consultas de Selección . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.6.2. Consultas de parámetros . . . . . . . . . . . . . . . . . . . . . . . . 61
4.6.3. Consultas de referencias cruzadas . . . . . . . . . . . . . . . . . . . 64
4.6.4. Cómo crear consultas de referencias cruzadas . . . . . . . . . . . . 64

6
4.6.5. Consultas que crean tablas . . . . . . . . . . . . . . . . . . . . . . . 65
4.6.6. Consultas que borran registros (filas) . . . . . . . . . . . . . . . . . 69
4.6.7. Consultas que añaden registros (filas) . . . . . . . . . . . . . . . . . 71
4.6.8. Consultas que actualizan registros (filas) . . . . . . . . . . . . . . . 73
4.7. Consultas con varias tablas . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.8. Consultas SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.8.1. Clases de consultas SQL . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.8.2. Consultas de unión . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.8.3. Cómo crear una consulta de unión . . . . . . . . . . . . . . . . . . . 80
4.8.4. Consulta de paso a través . . . . . . . . . . . . . . . . . . . . . . . . 86
4.8.5. Como crear una consulta de paso a través . . . . . . . . . . . . . . . 86
4.8.6. Consulta de definición de datos . . . . . . . . . . . . . . . . . . . . . 88
4.9. Subconsultas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
4.9.1. Crear subconsultas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

5. Los Formularios de Access 97


5.1. Creación de formularios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
5.2. Diseño de formularios: Los controles . . . . . . . . . . . . . . . . . . . . . . 100
5.2.1. Tipos de controles . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
5.2.2. Detalle de los controles . . . . . . . . . . . . . . . . . . . . . . . . . 102
5.2.3. Manejo de los controles . . . . . . . . . . . . . . . . . . . . . . . . . 105
5.3. Diseño de formularios: Las propiedades . . . . . . . . . . . . . . . . . . . . 106
5.3.1. Solapa Formato . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
5.3.2. Solapa Datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
5.3.3. Solapa Eventos (y macros) . . . . . . . . . . . . . . . . . . . . . . . . 108
5.3.4. Solapa Otras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
5.3.5. Solapa Todas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
5.4. Ejecución del formulario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
5.5. Otros asistentes para formularios . . . . . . . . . . . . . . . . . . . . . . . . 117
5.5.1. Autoformulario: Columnas . . . . . . . . . . . . . . . . . . . . . . . 117
5.5.2. Autoformulario: Tabular . . . . . . . . . . . . . . . . . . . . . . . . . 118

7
5.5.3. Autoformulario: Hoja de Datos . . . . . . . . . . . . . . . . . . . . . 118
5.5.4. Asistente para gráficos . . . . . . . . . . . . . . . . . . . . . . . . . . 118
5.5.5. Asistente para tablas dinámicas . . . . . . . . . . . . . . . . . . . . . 118
5.6. Subformularios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
5.6.1. Creación de Subformularios . . . . . . . . . . . . . . . . . . . . . . . 123

6. Documentos impresos: Informes y etiquetas 127


6.1. Informes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
6.1.1. Clases de informes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
6.1.2. Grupos totales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
6.1.3. Creación de informes . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
6.1.4. Secciones del informe . . . . . . . . . . . . . . . . . . . . . . . . . . 131
6.2. Etiquetas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
6.2.1. Creación de etiquetas . . . . . . . . . . . . . . . . . . . . . . . . . . 134

8
Índice de figuras

1.1. Pantalla inicial de Access. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.1. Ayudante de Access. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.1. Parte de una tabla Access. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19


3.2. Relaciones entre tablas de una base de datos. . . . . . . . . . . . . . . . . . 22
3.3. Creación de una base de datos. . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.4. Creación de la estructura de una tabla. . . . . . . . . . . . . . . . . . . . . 25
3.5. Estructura de una tabla. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.6. Tipos de datos de los campos. . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.7. Crear tablas con asistente. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.8. Crear tablas con asistente. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.9. Crear índices en las tablas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.10. Relación Uno a Varios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.11. Relación Varios a Varios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.12. Relación uno a uno. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.13. Relacionar tablas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.14. Búsqueda de campos relacionados. . . . . . . . . . . . . . . . . . . . . . . 46
3.15. Búsqueda de registros en la tabla. . . . . . . . . . . . . . . . . . . . . . . . 48
3.16. Filtrado de datos en la tabla. . . . . . . . . . . . . . . . . . . . . . . . . . . 49

4.1. Consultando una tabla. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53


4.2. Consultando una tabla. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.3. Consultando una tabla con criterios. . . . . . . . . . . . . . . . . . . . . . . 56
4.4. El criterio OR en la consulta. . . . . . . . . . . . . . . . . . . . . . . . . . . 58

9
4.5. Tipos de consultas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.6. Consulta de un parámetro. . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.7. Consulta de dos parámetros. . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.8. Consulta de referencias cruzadas. . . . . . . . . . . . . . . . . . . . . . . . 66
4.9. Consulta de referencias cruzadas. . . . . . . . . . . . . . . . . . . . . . . . 68
4.10. Consulta de eliminación de registros. . . . . . . . . . . . . . . . . . . . . . 70
4.11. Botones de prueba y ejecución de consultas. . . . . . . . . . . . . . . . . . 71
4.12. Consulta de datos anexados. . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.13. Consulta de actualización. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.14. Consulta de varias tablas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.15. Consultas SQL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.16. Consulta de unión básica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
4.17. Consulta de paso a traves. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
4.18. Consulta con una subconsulta. . . . . . . . . . . . . . . . . . . . . . . . . . 96

5.1. Creación de un formulario. . . . . . . . . . . . . . . . . . . . . . . . . . . . 98


5.2. Creación de un formulario con el asistente. . . . . . . . . . . . . . . . . . . 99
5.3. Vista del formulario terminado por el asistente. . . . . . . . . . . . . . . . 100
5.4. Vistas del formulario y sus distintas zonas. . . . . . . . . . . . . . . . . . . 101
5.5. Cuadro de herramientas para el diseño. . . . . . . . . . . . . . . . . . . . . 102
5.6. Grupo de opciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
5.7. Cuadro combinado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
5.8. Propiedades el control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
5.9. Propiedad Datos del control. . . . . . . . . . . . . . . . . . . . . . . . . . . 109
5.10. Propiedad Eventos del control. . . . . . . . . . . . . . . . . . . . . . . . . . 110
5.11. Asistente para botones de comando. . . . . . . . . . . . . . . . . . . . . . . 112
5.12. Resultado: Formulario con el botón salir. . . . . . . . . . . . . . . . . . . . 113
5.13. Responder a evento con una macro. . . . . . . . . . . . . . . . . . . . . . . 115
5.14. Macro salir. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
5.15. Asistente para tablas dinámicas. . . . . . . . . . . . . . . . . . . . . . . . . 120
5.16. Asistente para tablas dinámicas: Creación del formulario. . . . . . . . . . 121

10
5.17. Formulario de tablas dinámicas: Resultados. . . . . . . . . . . . . . . . . . 122
5.18. Creación de un subformulario. . . . . . . . . . . . . . . . . . . . . . . . . . 124
5.19. Formulario de clientes y su pedidos. . . . . . . . . . . . . . . . . . . . . . . 125

6.1. Asistentes para diseñar informes. . . . . . . . . . . . . . . . . . . . . . . . 128


6.2. Informe tabular. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
6.3. Informe en columnas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
6.4. Informe de clientes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
6.5. Secciones del informe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
6.6. Previsión de ventas por divisiones. . . . . . . . . . . . . . . . . . . . . . . . 133
6.7. Asistente para el diseño de etiquetas. . . . . . . . . . . . . . . . . . . . . . 135
6.8. Etiquetas de clientes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

11
Capítulo 1

Introducción a Microsoft Access

1.1. Iniciar y salir de Access


Con el fin de no hacer demasiado extensas esta páginas de acercamiento a MsAc-
cess, vamos a suponer ya instalada la aplicación en el ordenador con el sistema operati-
vo Windows.
Para entrar en Access se pulsa Inicio en la barra de tareas, y en el menú que se de-
spliega, se elige Programas, y dentro de este Microsoft Access. Otro modo más cómodo
podría ser pulsando el icono de Acceso directo a Access desde el mismo escritorio de
Windows1 . De inmediato nos aparece el entorno de Access con una ventana en la que
podemos crear o abrir una base de datos.
Para salir de Access lo primero que deberemos hacer es guardar nuestros trabajos
y pulsar la opción Salir que se encuentra al final del menú Archivo. Otra forma de salir
el pulsar el pequeño botón de la parte superior derecha, con el símbolo del aspa o la X,
que es el que utiliza Windows para cerrar sus aplicaciones.

1 Creación de acceso directo: Pulsar el botón derecho del ratón, elegir Nuevo, elegir Acceso directo,
buscar el directorio donde se haya situado Access, o sea MSACCESS.EXE. Por ejemplo: C:\Archivos de
programa\Microsoft Office\Office\MSACCESS.EXE.

13
14 Capítulo 1. Introducción a Microsoft Access

Figura 1.1: Pantalla inicial de Access.


Capítulo 2

El entorno de Access

2.1. Introducción
El entorno de Access se compone de la ventana o marco dentro del cual realiza-
remos nuestro trabajo. Dentro de esta ventana marco, La primera tarea es la de elegir
entre dos opciones:

1. Abrir una base de datos ya existente o bien

2. Crear una base de datos nueva.

Antes de seguir adelante hay que señalar que contamos con el ayudante de Office
: Se trata del componente llamado Clipo (Se trata de un clip) , quien amigablemente
nos ofrece ayuda según la tarea que estemos desarrollando. Para que aparezca basta
con pulsar el botón derecho de la barra de herramientas, que aparece con un signo de
interrogación dentro de una viñeta.
También contamos con es sistema de ayuda clásico, es decir, la tecla F1, que nos
brinda información sobre la acción u objeto donde nos encontramos y su contexto. Es-

Figura 2.1: Ayudante de Access.

15
16 Capítulo 2. El entorno de Access

ta es la Ayuda oficial de Access. Se la activa con el signo ? (A la derecha, en la barra


superior), abriéndose una ventana de tres solapas. El contenido de esta ayuda es prácti-
camente un manual de la aplicación.
En la ventana principal, se encuentran los siguientes elementos:

La barra de título: Situada en la parte superior, de color azul y con el titulo Mi-
crosoft Access. A la derecha los tres botones de Windows (Cerrar, Maximizar, Mi-
nimizar).

La barra de menús: Situada inmediatamente debajo de la barra de titulo. Contiene


los típicos menús desplegables de Windows: Archivo, Edición, Ver, Insertar, For-
mato, Registro, Herramientas, Ventana y Ayuda.

La barra de herramientas: Con las distintas funcionalidades. Se las puede mover y


recolocar, simplemente con el ratón. Se dispone de un menú emergente (al pulsar
el botón derecho del ratón cuando se está situado sobre alguna herramienta), con
las opciones para ver las barras de Base de datos, Web, o Personalizar, con otras
herramientas.

2.2. El escritorio, o área de trabajo


El resto de la ventana bajo las barras señaladas, es lo que constituye el área de
trabajo de Access . En la parte inferior se encuentra la Barra de estado, en cuya parte
izquierda aparecerán los mensajes de la aplicación. En su parte derecha se muestra la
situación de algunas teclas ( mayúsculas, numérico, insertar...)

2.3. Los ayudantes de Access


Aunque los iremos señalando en su momento oportuno, sólo diremos por el mo-
mento, que Access cuenta con varios programas que nos ayudan a realizar algunas de
las tareas siguientes:

Bases de datos.

Tablas

Informes o listados

Formularios o pantallas
2.3. Los ayudantes de Access 17

Etiquetas

Gráficos

Vínculos HTML

Publicación en Web

Existen muchos más asistentes. Para ver una relación más completa buscar el ter-
mino asistentes en el índice de la ayuda.
Capítulo 3

Las Bases de datos de Access

3.1. Introducción
Como decimos, nada más entrar en Access deberemos abrir una base de datos o
bien crear una nueva. En cualquiera de ambos casos creemos de suma importancia el
conocimiento aunque sea breve de algunos conceptos básicos sobre las bases de datos.
Una base de datos es un conjunto de datos que pertenecen al mismo contexto, alma-
cenados sistemáticamente para su posterior uso. En este sentido, una biblioteca puede
considerarse una base de datos compuesta en su mayoría por documentos y textos im-
presos en papel e indexados para su consulta. En informática existen los ”sistemas ge-
stores de bases de datos” (SGBD), que permiten almacenar y posteriormente acceder
a los datos de forma rápida y estructurada. Las aplicaciones más usuales son para la
gestión de empresas e instituciones públicas. El principal componente de una base de
datos son las tablas. Una tabla de una base de datos, es un conjunto de datos organizado
en una matriz compuesta de filas y columnas.
Cada fila de la tabla es un registro. El registro contiene la información de un indi-

Figura 3.1: Parte de una tabla Access.

19
20 Capítulo 3. Las Bases de datos de Access

viduo o unidad (en este caso un cliente). Cada columna es un atributo o característica
del registro o individuo. Es lo que se llama un campo del registro. Los campos de cada
registro deben ser homogéneos, es decir deben contener el mismo tipo de información
(por ejemplo, el CIF o el nombre).

3.1.1. El Diseño de una base de datos

Se compone fundamentalmente de tres etapas:

1. Diseño conceptual: Consiste en la recopilación de los aspectos reales de aquellos


objetos sobre los que tratará la base de datos y la creación de un modelo conceptual
de tales aspectos.

2. Diseño lógico: Partiendo del anterior se construyen las distintas tablas que com-
ponen la base de datos.

3. Diseño físico: Se concretan las tablas en ficheros físicos por medio de una determi-
nada aplicación de software, como por ejemplo la Access .

Organización de los datos: Para que la información realmente nos preste un servicio
eficaz, hay que ordenarla. De poco nos valdrá la guía telefónica si no estubiera ordena-
da. Si queremos organizar nuestra biblioteca, debemos decidir qué concepto, o sea qué
columna o campo vamos a tomar como clave (ya sea el título, el autor o el tema sobre el
que trata el libro).
Igualmente hay que tener en cuenta que en una tabla no deben duplicarse los regis-
tros (que pasaría si dos clientes tuvieran el mismo CIF ?). La clave de una tabla, es por
tanto, la columna o columnas cuyos valores no pueden repetirse en dos o más registros.
A cada valor de la clave le corresponde una sola fila (clave única). Se llama clave pri-
maria a la columna por la cual se identificará a la tabla. En el caso de los libros, la clave
primaria sería el código del libro, en el caso de un proveedor o cliente, sería el CIF (u
otro código único).

3.1.2. Tipos de datos

Otro aspecto que se ha de tener en cuenta es que los datos pueden ser de distinto
tipo: Por ejemplo El título del libro se compone de caracteres alfanuméricos, en tanto
que la edición se compone de datos numéricos. Entre los tipos de datos que contempla
Access, estos son los los fundamentales. Mas adelante se profundizará más:

1. Datos alfanuméricos: Caracteres y aquellos números no susceptibles de cálculo.


3.2. Crear una base de datos 21

2. Datos numéricos: Números y cifras susceptibles de cálculo.

3. Datos de fecha: Magnitudes temporales, años, meses, días, etc.

4. Datos lógicos: Los que tienen sólo dos valores posibles (sí o no; verdadero o falso;
0 o 1, etc.)

3.1.3. Relación entre tablas

Después de diseñar las tablas que conforman la base de datos, hay que determinar
qué relaciones existen entre las tablas, con el fin de dar consistencia a los datos:
Supongamos que tenemos una lista de correos con información sobre los clientes de
un almacén que distribuye accesorios de cocina al por mayor. El almacén puede tener,
además, una base de datos aparte para los pedidos de los clientes, incluyendo campos
para el código del cliente, el código de la mercancía, el precio unitario, la cantidad so-
licitada y el coste total. La base de datos de la lista de correos y la de los pedidos de los
clientes son relacionales, ya que tiene el campo de código de cliente en común (véase
fígura 3.2).
Buscando el código de cliente en la lista de correos y enfrentándolo con el del for-
mulario de pedidos, el gestor de base de datos puede determinar, quién es el comprador
y donde localizarlo, y que es lo que ha pedido y el coste total de la compra, mediante la
otra tabla.

3.2. Crear una base de datos


Una vez analizados los datos, diseñadas en papel las tablas y definidas las rela-
ciones entre ellas, retomamos el proceso iniciado al comienzo de este capítulo. Vamos
a crear una base de datos utilizando como herramienta el gestor de bases de datos Ac-
cess . Antes deberíamos haber creado una carpeta nueva o directorio en el que podamos
trabajar con los datos.
Para crear la base de datos podemos dejarnos ayudar por el asistente o partir de
cero. Si lo elegimos podremos tomar como ejemplo alguna de las varias bases de datos
ya creadas que el asistente nos ofrece, o bien empezar con una base de datos en blanco,
que es lo que vamos a hacer.
Se accede a esta pantalla pulsando Archivo y Nueva base de datos, o desde la ven-
tana que aparece al iniciarse Access, marcando la opción base de datos en blanco. De
inmediato nos aparece la ventana ”Archivo nueva base de datos” en la que nos solicita
22 Capítulo 3. Las Bases de datos de Access

Figura 3.2: Relaciones entre tablas de una base de datos.


3.2. Crear una base de datos 23

Figura 3.3: Creación de una base de datos.


24 Capítulo 3. Las Bases de datos de Access

el nombre de la base de datos y la carpeta donde situarla. En este ejemplo le llamaremos


prueba1 . Aceptamos, se guarda el nuevo nombre y aparece la pantalla de la figura 3.3.
En el panel izquierdo de esta ventana podemos ver siete epigrafes, que correspon-
den a los tipos de objetos que puede contener nuestra base de datos: Tablas, Consultas,
Formularios, Informes, Páginas, Macros y Módulos. Existen tres botones en el panel su-
perior: Nuevo (crear un nuevo objeto, según la solapa activada); Diseño (modificar el
objeto creado) y Abrir el objeto en cuestión.

3.2.1. Diseño y Planificación de las tablas

Una vez creada la base de datos, lo primero es crear la o las tablas que la compo-
nen. El proceso es el siguiente: Seleccionar el epígrafe Tablas y pulsar el botón Nuevo.
Aparece la ventana ”Nueva tabla” que contiene varias posibilidades:

Vista Hoja de datos: Para crear una tabla con apariencia de hoja de cálculo.

Vista Diseño: Permite diseñar paso a paso la tabla; es la forma normal de crear las
tablas.

Asistente para tablas. Llama al programa de ayuda para creación de tablas.

Importar tabla. Permite importar y convertir tablas de otras bases de datos. Al


importar crea una copia de aquellos datos en una tabla nueva de Access.

Vincular tabla. Permite leer y en muchos casos modificar y añadir los datos de
tablas externas sin tener que importarlas y respetando el formato original.

Elegimos ”Vista de diseño”, y nos aparece la pantalla Tabla, sobre la que trabajare-
mos para crear la nueva tabla:
La ventana de divide en dos partes: En la superior aparecen distintas filas. En cada
una de las filas escribiremos el nombre de un campo o atributo de la tabla. Cada fila se
divide en tres columnas:

1. Nombre del campo: Puede tener hasta 64 caracteres. No debe empezar por es-
pacios en blanco, ni punto ni admiración no corchetes ni acentos. En una misma
tabla no se pueden definir dos campos con el mismo nombre. Se debe poner a ca-
da campo un nombre que sea lo mas descriptivo posible de su contenido ( ej. si el
campo es de edad, lo mejor es ponerle edad).
1 Por defecto se guarda con la extensión mdb
3.2. Crear una base de datos 25

Figura 3.4: Creación de la estructura de una tabla.


26 Capítulo 3. Las Bases de datos de Access

Figura 3.5: Estructura de una tabla.

2. Tipo de datos: Cuando pulsamos es esta columna se despliega una lista con los
tipos de datos disponibles. Veámoslos con detenimiento en la figura 3.6.
Los tipos de datos Numérico, Fecha/Hora, Moneda y Sí/No disponen de formatos
de visualización predefinidos. Establezca la propiedad Formato para seleccionar
uno de los formatos disponibles para cada tipo de datos. También puede crear un
formato de visualización personalizado para todos los tipos de datos excepto para
el tipo de datos Objeto OLE.

3. Descripción: En esta columna se puede escribir un comentario aclaratorio del


campo. Se puede escribir texto libremente.

En la parte inferior de la pantalla, llamada ”Propiedades del campo”, tenemos una


serie de posibilidades que nos permiten depurar el diseño de la tabla. El contenido de
las solapas General y Búsqueda, que en la figura 3.5 aparecen vacías, cambiará según el
tipo de campo que seleccionemos en cada fila.
3.2. Crear una base de datos 27

Siguiendo nuestro ejemplo, vamos a crear la tabla clientes perteneciente a la base de


datos Prueba. Vamos a introducir los campos de la tabla: En la primera fila tecleamos
código (nombre del campo), y como tipo de campo elegimos Texto. De inmediato se
llenan de contenido las solapas General y Búsqueda. Dicho contenido cambiará si no-
sotros seleccionamos otro tipo de campo. Es preciso detenernos aquí un momento para
analizar con cierto detenimiento estas solapas con las propiedades de los campos.

3.2.2. Propiedades de los campos


1. Tamaño: Pulsemos la solapa General: la primera propiedad es el tamaño del cam-
po. En nuestro caso, en el campo código del cliente2 introducimos la cantidad de
caracteres que preveamos, en este caso 6. El campo código es importante, ya que
será la clave. En los demás campos, no tiene demasiada importancia que podamos
equivocarnos al elegir un tamaño demasiado largo o corto, ya que posteriormen-
te podremos rectificar modificando adecuadamente los tamaños. Claro, que hay
que tener en cuenta que si hemos introducido datos, estos pueden verse afectados
si acortamos los campos. Igualmente pasa con los datos de tipo numérico, cuyo
tamaño puede oscilar entre 0 a 255 (Byte) hasta +/- 2.147.483.468 (Entero largo),
y hasta valores con 15 decimales (Doble). Definimos un segundo campo, llamado
CIF, y otro llamado Nombre, donde se introducirá el nombre o razón social de
cada cliente.

2. Formato: Otra propiedad es el formato. Con ella podemos definir la forma en que
Access muestra la información almacenada en el campo. El formato no afecta a
cómo se almacenan los datos, solamente al modo de presentarlos. Si el campo es
numérico, podemos hacer que aparezca con los separadores de millar, si se trata de
fechas, que estas aparezcan con texto o con números, etc. para los tipos numéricos
y de moneda, existen cinco formatos: Moneda (presenta los números con el símbo-
lo del euro), Fijo (sin separadores de miles), Estándar (con separadores de miles),
Porcentaje (multiplica por 100 y añade el carácter de procentaje) y Científica (no-
tación científica estándar).
Para personalizar los distintos formatos, es aconsejable hacer pruebas con ellos,
hasta encontrar los mas adecuados par los campos de nuestras tabla.

3. Máscara: La propiedad máscara es la encargada de que los datos introducidos


en el campo se ajusten a un formato predefinido. La máscara se compone de tres
partes separadas por punto y coma: la primera parte de la mascara utiliza unos
códigos o caracteres de acuerdo al tipo de datos que se van a mostrar
2 Aunque esté formado por caracteres numéricos, hay que considerarlo como de de texto, para que la
extensión sea siempre la misma, y no se pierdan los ceros a la izquierda.
28 Capítulo 3. Las Bases de datos de Access

Figura 3.6: Tipos de datos de los campos.


3.2. Crear una base de datos 29

1
Carácter Utilización
-------- -----------
0, 9, # Dígitos
L, ?,A,a Letras
&,C Cualquier carácter
.,:;-/ Marcadores
< Convierte a minúsculas
> Convierte a mayúsculas
! Se rellena de derecha a izquierda

La segunda parte de la máscara define si deben almacenarse los caracteres literales


mostrados, y la tercera parte indica el carácter que se utiliza para los espacios en
blanco.
4. Titulo: Esta propiedad se refiere al texto o rotulo del campo, y aparece en diversos
lugares como indicador del campo a que se refiere.
5. Valor predeterminado: Se refiere a un valor que Access introduce cuando se crea
un nuevo registro en la tabla. Es de gran utilidad para campos con un valor fijo
en todos los registros ( por ejemplo la fecha del día).Incluso pueden almacenarse
expresiones o fórmulas complejas. Pulsando los tres puntos de la derecha aparece
una ventana en la que podemos crear estas expresiones o fórmulas.
6. Regla de validación: Con ella podemos definir los limites de los valores a in-
troducir en el campo y así evitar posibles errores. Pulsando los tres puntos de
la derecha aparece un generador de expresiones.(por ejemplo >=#01/01/80# Y
<#01/01/90#, indica que la entrada de ese campo debe estar comprendida entre el
1 de enero del 1980 y el 1 de enero del 1990).
7. Texto de validación: Es el texto que explica la propiedad anterior.
8. Requerido: Esta propiedad indica si el campo puede quedar vacío o no. Si el cam-
po en cuestión es un campo clave, es útil aplicarle la propiedad de Requerido = Si,
para que no quede nunca vacío.
9. Permitir longitud 0: Su valores pueden ser igualmente Si o No. Sólo se aplica a los
campos de tipo Texto o Memo.
10. Indexado: Indica esta propiedad si el campo ha de estar ordenado, y puede tomar
tres valores:
No. (no hay índice, y si lo hay lo elimina).
Sí (con duplicados). Creará un índice para el campo seleccionado.
Sí (sin duplicados). Crea el índice, pero no permite introducir datos duplica-
dos en el campo seleccionado.
30 Capítulo 3. Las Bases de datos de Access

3.2.3. Proceso de creación de la tabla

Teniendo a la vista la figura 3.5, retomamos el proceso de creación de una tabla:


En la columna Nombre del campo introducimos los nombres de cada campo o atribu-
to. En la columna Tipo de datos introducimos los tipos correspondientes a los datos,
según hemos visto más arriba, y en la columna Descripción, cuyo contenido no es obli-
gatorio, podemos introducir un comentario libre, explicando las particularidades de ese
campo, o cualquier otra ocurrencia. Por supuesto, a cada campo hay que asignarles las
propiedades correctas, explicadas anteriormente.
Llegado el momento de Guardar la tabla, se elige el menú Archivo y dentro de él la
opción Guardar o Guardar como, debiendo dar un nombre a la Tabla que acabamos de
crear. Un ejemplo concreto de la tabla clientes lo tenemos en la figura 3.1
Truco: Con frecuencia uno o varios campos de una tabla son iguales o similares a otra
que debamos crear. Access nos ahorra el esfuerzo de acordarnos y nos ayuda a diseñar
la nueva tabla copiando de otra los campos: El proceso es el siguiente:

1. Estando en la ventana de diseño, situarse el la columna que se desee agregar.


2. Pulsar el botón derecho del ratón; aparecerá un pequeño menú emergente; ele-
gir la opción ”Generar”, y aparecerá el Generador de campos a partir de tablas
anteriores.
3. Seleccionar la tabla y el campo que servirán de ejemplo. Con doble clic sobre el
campo, este será copiado en la tabla que se está creando.

3.2.4. Modificación de una tabla

Es posible que se comentan errores a la hora de definir los campos durante la


creación de una tabla. Access nos permite modificar la estructura de la tabla en estos
cuatro aspectos:

Eliminar un campo: para borrar o eliminar un campo basta con seleccionar la fila
y pulsar la tecla Supr., o utilizar el comando Eliminar filas del menú Edición5. Una
vez eliminada la fila (del campo) todas las demás filas se moverán hacia arriba.
Insertar un campo: Otra modificación consiste en insertar filas a la estructura de
la tabla. Para ello se sitúa el cursor en la fila sobre la que se desea insertar, y se
pulsa la tecla INS. Una fila nueva y en blanco aparecerá justo encima.
Mover un campo: Hacer clic sobre el selector de la fila a mover. Esta invertirá
el color. Hacer clic con el ratón sobre el selector de la fila y arrastrarlo hasta la
posición deseada.
3.2. Crear una base de datos 31

Cambiar el contenido de la fila: o sea el Nombre, Tipo de datos o Descripción del


campo. Basta con seleccionar la columna del campo o fila a cambiar, y modificar
su contenido. hay que tener en cuenta que si se cambia el tipo de datos quedará
modificado el contenido de ese campo. Por ejemplo, si los datos de ese campo eran
de texto y se pasa a un tipo de datos numérico, Access avisa de que se van a perder
los datos de ese campo.

3.2.5. Otras formas de creación de tablas

Anteriormente, en el epígrafe 3.2.3 elegimos la Vista de diseño para crear una tabla,
sin embargo veíamos que Access nos proporciona otros caminos. Vamos a tratar de
analizarlos brevemente.

Asistente para tablas

El asistente para tablas tiene una ventaja: La comodidad. El nos presenta varias
tablas de ejemplo y nos ayuda a través de ventanas para crear la nueva tabla. El incon-
veniente es que nuestro control sobre el proceso es menor, ya que Access decide por
nosotros sobre muchos detalles. El proceso es el siguiente:

1. Elegir ”Tablas” en la ventana de base de datos, pulsar el botón Nuevo y doble clic
en el Asistente para tablas. Aparece la ventana (Figura 10 )
Se trata de elegir una de las tablas de ejemplo que pueda parecerse a la que de-
seamos crear y después seleccionar los campos de ejemplo3 .

2. Pulsar el botón ”Siguiente”, asignar nombre a la tabla, elegir el campo que será la
clave principal. (Si decidimos asignar nosotros la clave principal, entonces nos pre-
guntará qué campo será la clave; si le dejamos esta decisión al asistente, entonces
elige como clave principal el primer campo de la tabla.

3. Se pueden establecer relaciones con otras tablas, como veremos más adelante.

4. La última ventana antes de crear la tabla nos pregunta qué hacer al terminar: Mo-
dificar manualmente el diseño, introducir datos directamente en la tabla, o intro-
ducir datos en la tabla a través de un formulario o pantalla que crea el propio
asistente.
3 Con >> quedan seleccionados todos los campos.
32 Capítulo 3. Las Bases de datos de Access

Figura 3.7: Crear tablas con asistente.


3.2. Crear una base de datos 33

Figura 3.8: Crear tablas con asistente.

Vista Hoja de datos

Si elegimos esta opción a la hora de crear una tabla, Access crea automáticamente
una especie de hoja de cálculo con 20 campos (llamados Campo1, Campo2. etc.) en la
cual se pueden introducir datos de inmediato. Al pulsar el botón de Cerrar nos pedirá
el nombre para la tabla que se acaba de crear. Es posible posteriormente modificar los
nombres de los campos a través de la opción ”diseño de tablas”.

Importar tabla

Tras seleccionar esta opción, se abre la ventana ”Importar” en la que se busca y elige
la base de datos desde la cual se importará la tabla. De inmediato se abre la ventana
”Importar objetos” (véase figura 3.8) en la que se muestran las distintas tablas a elegir.
34 Capítulo 3. Las Bases de datos de Access

Seleccionada un o varias tablas, si pulsamos el botón Opciones ”>>” se abrirá la


ventana con las opciones de la importación de tablas. En esta ventana podemos elegir
los elementos a importar de cada tabla o tablas. Para ejecutar la importación se pulsa el
botón Aceptar.

Vincular tablas

Microsoft Access puede importar o vincular una tabla de datos de otras bases de
datos de Microsoft Access (versiones 1.x, 2.x y 7.0/95, y 8.0/200x), al igual que datos de
otros programas y formatos de archivo, como los de Excel, dBASE, FoxPro o Paradox,
bases de datos externas, y varios formatos más. También puede importar (o vincular)
tablas y listas de HTML, las cuales pueden estar en su equipo local, en un servidor de
red, o en un servidor Internet.
Al importar datos se crea una copia de la información en una tabla nueva de su
base de datos de Microsoft Access. La tabla o archivo de origen no se modifica en este
proceso. La vinculación de datos le permite la lectura y en muchos casos la actualización
de los datos en el origen de datos externo sin tener que importar. El formato del origen
de datos externo no se modifica para que pueda continuar utilizando el archivo con el
programa que lo creo originalmente, pero también puede agregar, eliminar o editar sus
datos utilizando Microsoft Access.
El proceso de vinculación de tablas es similar al de importar, tan solo que no se
duplica la información, sino que se crea un enlace a la tabla determinada, y las modifi-
caciones de datos queda reflejadas en la tabla ”original”. Microsoft Access utiliza iconos
diferentes para representar las tablas vinculadas y las tablas que están guardadas en la
base de datos actual. Se pueden vincular distintos tipos de archivos, cuyo contenido
puede examinarse bajo el formato Access y en algunos casos modificar el contenido del
original. Si elimina el icono que representa a una tabla vinculada, elimina el vínculo con
la tabla, pero no la tabla externa.

3.2.6. Renombrar tablas

Para cambiar el nombre a una tabla, se marca con el ratón, se abre el menú desple-
gable ”Edición” situado en la barra de Menús y se pulsa la opción cambiar nombre. Otro
modo de hacerlo es marcar el nombre de la tabla con un solo click, entonces el cursor se
sitúa en el nombre de la tabla.
3.3. Claves e índices 35

3.2.7. Eliminar tablas

Para eliminar una tabla lo primero es marcarla con el ratón, y entonces, podemos
seguir cualquiera de estos tres caminos:

1. Pulsar la tecla Supr. y responder Sí a la pregunta de si deseamos eliminarla.


2. Pulsar el botón derecho del ratón, y elegir la opción Eliminar en el menú de con-
texto.
3. Abrir el menú desplegable Edición situado en la barra de Menús y elegir Eliminar.

3.3. Claves e índices

3.3.1. Claves

En la introducción a este capitulo se hablaba de la Organización de la base de datos.


También se hacía referencia a las claves. Aunque no es absolutamente necesario, sin
embargo en las tablas de Access se pueden definir claves4 . La clave principal en una
tabla es el campo o columna por medio del cual esta tabla se relaciona con otras. Cada
fila tiene valores únicos en las columnas que forman la clave.
La clave principal se compone de uno o varios campos de la tabla cuyo contenido
identifica a cada registro o fila de manera única, es decir: Los campos que componen la
clave no pueden estar repetidos, ni tampoco vacíos. En nuestro ejemplo de los clientes,
la clave principal debe ser el código, puesto que es el campo cuyo valor identifica in-
equívocamente a un cliente (el campo Nombre puede servir de índice pero no de clave
principal, ya que un nombre puede estar repetido). Un ejemplo claro de clave principal
es el DNI o CIF, ya que identifica a una única persona o empresa.
Para crear la clave principal en una tabla se siguen estos pasos:

1. Situar el selector de fila activa en el campo deseado como clave principal.


2. Hacer Clic sobre el botón ”Clave principal” de la barra de herramientas o con el
comando Edición, Clave principal. Consejo: Es conveniente crear la clave princi-
pal al crear la tabla, ya que si se crea después, es posible que se repitan los datos y
Access dará error ante los datos duplicados o nulos.
Si la clave principal se compone de varios campos, el proceso es marcar las filas o
campos con el ratón (pulsado y arrastrando) y pulsando después el botón Clave
principal de la barra de herramientas.
4 Se denomina clave principal.
36 Capítulo 3. Las Bases de datos de Access

3.3.2. Indices

Los campos de la tabla tienen una propiedad cuya finalidad es aumentar la veloci-
dad de acceso a los datos. Esta propiedad es la de ser indexados, o sea, que se construya
un índice sobre dicho campo. Cuando buscamos una cierta información en un libro con-
sultamos el índice; esta es la mejor manera de encontrar la información rápidamente.
Por ejemplo, sabiendo que tenemos una extensa biblioteca, un amigo nos pregunta por
un titulo que le es muy necesario. Esta situación tiene dos posibles salidas: Podríamos
buscar uno a uno, sin ningún orden, ya sea físicamente por todas las estanterías , o bien
a través de una lista que fuimos haciendo a medida que los comprábamos; Otra posi-
bilidad sería la que tener creado un fichero ordenado por orden alfabético de títulos o
autores o cualquier otro campo significativo. Evidentemente, nos bastaría con buscar la
ficha para saber si los tenemos o no. Esta segunda opción es más rápida. Con un menor
esfuerzo y menor tiempo saldremos de nuestras dudas bibliográficas. La propiedad de
ser indexado admite tres posibilidades9:

1. No ser índice.

2. Crear un índice de este campo y admitir valores duplicados.

3. Crear un índice de ese campo y no admitir valores duplicados. Esto imposibilita


la introducción de datos repetidos.

El orden normal de Access a la hora de indexar los campos es ascendente (de la A a


la Z y del 0 al 9), pero este orden puede invertirse, pulsando el botón índice apropiado
en la barra de herramientas de la entrada de datos, o por medio de la ventana de dialogo
de Indices (véase figura 3.9).
En dicha ventana de dialogo aparecen las tres características posibles que puede
tener un índice:

Principal: Sólo hay un índice que es clave principal. Los índices principales garan-
tizan que en un campo sólo se introducen valores únicos.

Unico: Indica si el índice permite valores duplicado o no.

Ignorar nulos: Permite excluir del índice los registros con valor nulo.

Creación de índices:

Pueden crearse índices basados en un solo campo de la tabla, o en varios. ¿Qué


campos deben indexarse? Aquellos campos que se utilicen con frecuencia y cuyo orden
3.3. Claves e índices 37

Figura 3.9: Crear índices en las tablas.


38 Capítulo 3. Las Bases de datos de Access

sea necesario5 . También aquellos campos que se vayan a relacionar con otras tablas.
Cuando se crea una clave principal, dicho campo queda automáticamente indexado.
El proceso de creación de índices es el siguiente:

Cuando se define un campo en la ventana de diseño, de elige Si en la propiedad


Indexado (puede establecerse Con o Sin duplicados).

Desde la ventana de diseño de la tabla se sitúa el cursor en la barra del título y se


pulsa el botón derecho del ratón. Se abre la ventana de índices en la cual aparecen
todos los campos que se han definido como indexados.

En esta ventana pueden seleccionarse campos o ajustarse manualmente los índices,


el orden de estos, e incluso crear índices con varios campos. El procedimiento para
crear índices con varios campos es este: Una vez introducido en nombre del índice
en la primera columna, se elige el primer campo en la segunda columna; después
se pulsa intro y dejando en blanco la primera columna, se sitúa el cursor en la
segunda columna y se elige otro campo (no debe introducirse nada en la primera
columna ya que entonces se creará otro índice), y así sucesivamente se van aña-
diendo los campos deseados al índice. Para grabar se pulsa el botón de cierre de
la ventana y se salva la ventana de diseño.

A cada índice se le pueden asociar las propiedades que aparecen en la parte infe-
rior de la ventana.

Suprimir índices:

Desde la ventana de índices se elige el índice a borra y se pulsa Supr. Si el índice es


compuesta, han de suprimirse todos los campos que lo componen.

3.4. Relaciones entre tablas


Las bases de datos relacionales tienen la ventaja de poder distribuir la información
en varias tablas en vez de agruparla en una sola. Una vez que las tablas de una base
de datos están definidas y poseen sus respectivas claves e índices es el momento para
determinar las relaciones entre ellas.
5 No pueden ser indexados los campos Memo, Ole y los Hyperenlaces.
3.4. Relaciones entre tablas 39

Figura 3.10: Relación Uno a Varios.

3.4.1. Tipos de relaciones

La forma en que se interconectan la tablas entre sí da lugar varios tipos de relación:

Relación Uno a Varios

Esta es la relación mas frecuente entre tablas. En este tipo de relación, un registro o
fila de la tabla A puede relacionarse (coincidir) con más de un registro de la tabla B. La
tabla A, que se considera tabla principal o tabla padre puede tener mas de un registro
enlazado con la tabla secundaria o tabla hija.
Podemos apreciar la relación entre un Autor de la tabla autores ( Federico García
Lorca) con varios registros u obras literarias de la tabla libros. Un único autor puede
escribir varios libros, pero un mismo libro no puede estar escrito por varios autores a la
vez.

Relación Varios a Varios

En este tipo de relación, cada registro de una tabla A puede tener mas de un registro
enlazado en la tabla B, y cada registro de la tabla B puede tener mas de uno enlazado en
la tabla A. Veamos un ejemplo:

Relación uno a uno

Este tercer tipo de relación es menos frecuente: Cada registro de la tabla A sólo
puede estar relacionado un solo registro de la tabla B, y viceversa. Como ejemplo pro-
dríamos señalar dos tablas: Una de Empleados y otra la de las nóminas del mes. Cada
registro de la primera tabla (Datos de un empleado) sólo tiene relación con un único
registro de la otra.(su nómina mensual).
40 Capítulo 3. Las Bases de datos de Access

Figura 3.11: Relación Varios a Varios.

Figura 3.12: Relación uno a uno.


3.4. Relaciones entre tablas 41

Integridad referencial

Una vez que se ha establecido el tipo de relación existente entre las distintas tablas
de la base de datos, se puede ir más adelante y obligar a que se cumpla la regla llamada
Integridad referencial. Esto supone que:

No puede haber un registros en la tabla B sin que estén relacionados con un regis-
tro de la tabla A, es decir: no se pueden introducir libros en la tabla hasta que se
haya introducido el autor.

No se puede borrar un registro de la tabla A si tiene enlazados registro en la tabla


B, o sea: no se puede borrar un autor de la tabla de autores si existen libros suyos
en la tabla libros.

No se puede cambiar un registro de la tabla A si con ello queda sin relacionar


algún registro en la tabla B.

3.4.2. Crear relaciones

Con el fin de poder detallar el proceso relacional, presentamos además de la tabla


clientes (que hemos renombrado como tblClientes, tres tablas relacionadas con ella, es
decir la tabla de provincias, de paises y de sectores industriales. El proceso de creación
de las relaciones entre tablas, se muestra en la figura 3.13, y es el siguiente:

Abrir la ventana Relaciones, cuyo icono se encuentra situado en la barra de Herra-


mientas; después pulsando el botón derecho del ratón, se abre la ventana Mostrar
tabla, en la que se deben elegir (Agregar), aquellas tablas que quieran incluir en
la relación. Las tablas seleccionadas irán apareciendo en la pantalla de Relaciones
con sus campos en forma de listas desplegables. Cerrar una vez terminada la se-
lección.

Para crear la relación, con el ratón, se pulsa y arrastra el campo de la tabla prin-
cipal (que al ser clave primaria debe aparecer con letra negrita) hasta el campo
relacionado de la tabla secundaria. De inmediato se abre una pequeña ventana de
Relaciones, en la que aparecen las tablas a relacionar con sus campos respectivos.
En ella se puede establecer la integridad referencial, así como los distintos tipos
de combinación entre los campos de las tablas. para ello se pulsa el botón Tipo de
combinación.

Como muestra la figura, se ha establecido relación entre las tablas tblPaises, tbl-
Provincias y tblSectores con tblClientes. Todas las relaciones son de Uno a Varios. Los
42 Capítulo 3. Las Bases de datos de Access

Figura 3.13: Relacionar tablas.


3.5. Introducción de datos en la tabla 43

campos clave de las tablas aparecen en negrita; eso quiere decir que ellos son los ex-
tremos Uno de la relación, o sea los que no se pueden repetir en su tabla; es obvio que
en la tabla tblProvincias no se deben repetir; cada cliente solo pertenece a una provincia,
pero cada provincia puede ser la sede de varios clientes.
Como vemos en la figura, en esta relación se ha activado la casilla en la que se
exige integridad referencial. Ello implica, como se ha señalado anteriormente, una gran
coherencia y consistencia de los datos, lo que lleva consigo una gran seguridad a la base
de datos. Se ha activado la opción de actualizar en cascada los campos relacionados
de ambas tablas, o sea, si se modifica un sector en la tabla tblSectes, automáticamente
quedan modificados los campos sector de la tabla tblClientes. También se ha activado la
opción de borrar en cascada los registros relacionados (si se borra un sector, se borrarán
también los registros de clientes de ese sector).

3.4.3. Modificar relaciones

Para modificar las relaciones ya creadas, el procedimiento es abrir la ventana Rela-


ciones y pulsar con el ratón sobre la línea que une ambas tablas; de inmediato la línea
cambia a una línea mas gruesa. Con doble click se abre la ventana con los campos de
la relación. Otro modo es pulsar el botón derecho del ratón sobre la línea gruesa de la
relación; Aparece entonces el menú de contexto, con la opción Modificar relación.

3.4.4. Eliminar relaciones

Si se desea eliminar una relación, hay que seguir estos pasos: En la ventana Rela-
ciones, hacer click sobre la línea de relación entre tablas. Esta aparece con trazo mas
grueso. Entonces se pulsa la tecla Supr. o bien el botón derecho del ratón, apareciendo
la opción Eliminar. basta con confirmar la opción para que la relación quede eliminada.

3.5. Introducción de datos en la tabla


Hemos aprendido a diseñar y crear las tablas de una base de datos. Ya tenemos el
armazón o estructura. Ahora es el momento de introducir datos en ellas.
Atención: No es conveniente introducir datos en las tablas hasta que no se haya ter-
minado el proceso de relación, de lo contrario, resultará dificil crear las relaciones con
datos en la tabla.
44 Capítulo 3. Las Bases de datos de Access

3.5.1. Introducir registros

La introducción de datos se efectúa a través de la Hoja de Datos. Una vez abierta la


tabla en modo Hoja de Datos (basta con hacer click en la tabla y abrirla), se sitúa el cursor
en el primer campo de la tabla y se van introduciendo los datos de los distintos campos
del registro. Al llegar al final de registro automáticamente se salta al primer campo
de un nuevo registro. Para moverse a través de la tabla pueden utilizarse las teclas de
cursor o los botones situados en la parte inferior de la tabla (Hoja de datos). Para ir
a un registro determinado se introduce el número y se pulsa Intro, o bien se utilizan
los botones indicados. Para introducir un nuevo registro se pulsa el botón situado a la
derecha que muestra una flecha y un asterisco. Igualmente basta con situar el cursor del
ratón en el registro nuevo (tiene un asterisco y está siempre situado en la parte inferior
de la tabla ). También puede insertarse un nuevo registro abriendo el menú Insertar y
eligiendo Nuevo Registro.
Los campos de tipo ”OLE” y ”Memo” tienen un tratamiento distinto. En el campo
Memo puede introducirse libremente el texto que se desee sin restricción de tamaño.
Para introducir datos en el campo de tipo OLE se sitúa el cursor dentro del campo, se
pulsa el botón derecho del ratón y se elige Insertar Objeto.
Cuando se abre la ventana Hoja de datos, se activan automáticamente las barras de
herramientas de

Hoja de datos de la tabla: Para realizar operaciones con los registros de la tabla
(ordenarlos, buscarlos, imprimirlos, etc.).

Formato de Hoja de datos: Permite modificar el aspecto de la Hoja de datos (col-


ores, tipos de letra, fondo de la hoja de datos, etc).

3.5.2. Editar registros

En bastantes ocasiones habremos de modificar algún registro cuyos datos sean er-
róneos o hayan cambiado. Para modificar la información contenida en los registros de
la tabla deberemos seguir los pasos siguientes: Por supuesto abrir la tabla. Buscar el re-
gistro a modificar. Los registros pueden ordenarse por el campo deseado mediante las
herramientas proporcionadas en barra Hoja de datos6 . Una vez situados en el registro a
modificar, se coloca el cursor en el campo en cuestión y se modifica el texto. En caso de
equivocación, se puede deshacer la operación utilizando el botón apropiado.
Hay ciertos campos que no pueden ser editados. Son los siguientes:
6 Situar el cursor del ratón en el titulo de la columna a ordenar. Hacer click para marcar toda la columna

y teniéndola marcada pulsar el botón de Ordenar (Ascendente o Descendente).


3.5. Introducción de datos en la tabla 45

Campos calculados. Su contenido depende de operaciones.

Campos bloqueados o desactivados

Campos autonumericos. Se incrementan automáticamente.

Cuando el registro está siendo utilizado por otro usuario de la red, queda momen-
táneamente bloqueado.

3.5.3. Copiar, mover, eliminar datos

Para ejecutar las operaciones de copia, traslado y eliminación de datos se utiliza la


herramienta del portapapeles. Esto implica un primer proceso de selección de los datos
y de copia al portapapeles.

Copiar:

Desde la Hoja de datos se seleccionan los campos o registros a copiar, se hace click
en el botón Copiar de la barra de herramientas, se sitúa el cursor en el sitio a reemplazar
o pegar los datos y se hace click en el botón Pegar. Otra manera es utilizando las teclas.
Se marca el texto con MAYUS + Cursor, se copia al portapapeles con Control + Insert,
se sitúa el cursor en el lugar a reemplazar o insertar y se pulsa MAYUS + Insert para
pegar. Para copiar varios registros a la vez, se sitúa el ratón en la columna izquierda
de la Hoja de datos situada delante del primer campo del registro (aparece una flecha
negrita); Se arrastra el ratón hacia abajo tantos registros como se desee copiar; se pulsa
el botón derecho del ratón y se elige la opción Copiar. A continuación se lleva el ratón
al lugar donde se van a insertar los registros, se pulsa el botón derecho y se elige Pegar.

Mover:

Si en vez de Copiar, se desea Mover, hay de seguir el mismo proceso, pero en lugar
de Copiar, se ha de Cortar.

Eliminar:

Se puede eliminar uno o varios campos o el registro entero. Para borrar o eliminar
campos, se sitúa el cursor en el campo, se pulsa F2, o bien se marca el campo o campos o
trozo a eliminar, y se pulsa la tecla Supr. o la opción Cortar del botón derecho del ratón.
Si queremos eliminar un registro o varios, se marcan estos y se pulsa Supr. o Cortar.
Access avisa tanto al Pegar como al Eliminar registros.
46 Capítulo 3. Las Bases de datos de Access

Figura 3.14: Búsqueda de campos relacionados.

3.5.4. Insertar registros

Para insertar un registro nuevo en la tabla, se pulsa Nuevo Registro en el menú


Insertar, o bien se pulsa en botón Nuevo Registro de la barra de herramientas de la Hoja
de datos. Una vez introducidos los datos en los registros nuevos, al salir y salvar la tabla,
los registros quedan ordenados según el campo definido como clave.
Si se trata de insertar nuevos datos en tablas que estén relacionadas, hay un pro-
cedimiento que presta gran ayuda; se trata de la utilización de los controles cuadros de
lista o cuadros combinados en la propiedades de los campo relacionados con los de otra
tabla.
Ejemplo: En la tabla tblClientes, hemos establecido una relación entre su campo sector
y el campo código de la tabla tblSectores. Se ha activado la opción de actualizar en cas-
cada, (es decir, que si se modifica el código de un sector en la tabla tblSectores, automáti-
3.5. Introducción de datos en la tabla 47

camente quedan modificados los correspondientes sectores de la tabla tblClientes). Para


aprovechar dicha facilidad debemos hacer lo siguiente: Abrir la tabla en modo de Di-
seño; ir al campo relacionado con el de otra tabla (Sector en este caso); abrir la solapa
Búsqueda; en Mostrar control, elegir Cuadro combinado o Cuadro de lista; En Tipo de
origen de la fila elegir Tabla/Consulta; en origen de la fila elegir la tabla relacionada (en
este caso tblSectores); en columna dependiente elegir la columna que se corresponda
con el campo relacionado.
Cuando abramos la tabla libros para introducir datos, al entrar en el campo autor
veremos una pequeña flecha en la parte derecha del campo. Al pulsarla se desplegará
una lista con los nombre de los sectores (de la tabla tblSectores). De entre ellos podemos
seleccionar uno, que quedará incorporado al registro que estamos introduciendo. Este
procedimiento ahorra trabajo y a la vez impide que nos equivoquemos a la hora de
introducir los datos.

3.5.5. Insertar columnas

Del mismo modo que podemos insertar registros en una tabla, es posible también
insertar columnas o campos, si bien esto significa un cambio en la estructura de la tabla.
Para insertar una columna, el procedimiento normal es el desarrollado a través de la
ventana de Diseño, sin embargo, también pueden insertarse columnas o campos du-
rante el proceso de introducción de datos; para ello se siguen estos pasos:

Estando en modo Hoja de datos, se pulsa con el ratón en la columna situada a la


derecha del lugar donde vamos a insertar la nueva columna.

Se abre el menú Insertar y se pulsa la opción Columna. De inmediato aparece


insertada una nueva columna con el nombre Campo n, donde n es un numero
correlativo (al de columnas insertadas).

Pulsando el botón derecho del ratón aparece el menú de contexto; en él podemos


elegir la opción ”Cambiar nombre de columna”, para ponerle un nombre apropi-
ado al campo de datos de dicha columna. El tipo de datos por defecto para di-
cho campo o columna, es el predeterminado para tablas/consultas, así como el
tamaño.

3.5.6. Buscar datos

Suele ser necesario, sobretodo cuando las tablas contienen muchos registros, buscar
determinados datos de uno o varios registros. En nuestro ejemplo de Clientes, es evi-
dente que en más de una ocasión necesitaremos saber si tenemos un determinado cliente
48 Capítulo 3. Las Bases de datos de Access

Figura 3.15: Búsqueda de registros en la tabla.

está registrado en nuestra tabla. Dependiendo de lo que busquemos en las tablas, pode-
mos hacerlo de varias maneras: Si tenemos ordenada la tabla por el campo de nuestro
interés, por ejemplo por nombre, y la tabla no es demasiado grande, quizá sea fácil de-
splazarse por ella con la ayuda de la barra Vertical e intentar localizar el cliente deseado;
sin embargo, si lo que buscamos en un valor concreto, podemos utilizar la ventana de
dialogo Buscar.
La ventana de Buscar se encuentra situada en el menú desplegable Edición. Tam-
bién puede accederse a ella con el juego de teclas Ctrl B. Como vemos en la figura 3.15
es posible aquilatar la búsqueda con las distintas opciones que vemos en la ventana
Buscar: Buscar en: Todos los registros, sólo hacia Arriba o sólo hacia Abajo. Podemos
hacer que los datos buscados coincidan en todo o en parte con el campo de la tabla, etc.
3.5. Introducción de datos en la tabla 49

Figura 3.16: Filtrado de datos en la tabla.

3.5.7. Filtrar datos

Una forma de búsqueda especial es el filtrado de datos, que puede hacerse bien sea
agrupando aquellos registros que cumplan los requisitos, bien sea por exclusión.
El caso que nos presenta la figura 3.16 consiste en buscar todos los clientes de Se-
villa. Para ello utilizamos un filtro por selección. El modo concreto de hacerlo es el si-
guiente:

Situar el cursor en el campo cuyo contenido queramos filtrar (En este caso el cam-
po Provincia y su contenido Sevilla);

Pulsar el botón derecho del ratón y elegir la acción apropiada.

3.5.8. Reemplazar datos

El modo de reemplazar datos en las tablas de Access está muy ligado al de la


búsqueda, que hemos visto más arriba. Lo primero que hay que hacer es abrir el menú
50 Capítulo 3. Las Bases de datos de Access

Edición y seleccionar la opción Reemplazar. Se trata de buscar un determinado con-


tenido en los campos y reemplazarlo por el otro contenido que le hemos indicado en
”Reemplazar con”. Se puede reemplazar uno o varios de los items encontrados sucesi-
vamente o bien Reemplazarlos todos. Cuando se trata de reemplazar registros enteros
por otros registros, el método consiste en copiar los registros en el portapapeles y pe-
garlos sobre los registros que se deseen reemplazar.
Capítulo 4

Consultar la base de datos

Creada la base de datos, introducidos los datos en sus registros, es ahora cuan-
do puede sernos de mayor utilidad. Quizá el objetivo final de la base de datos sea el
de poder sacarle rendimiento consultando la información que contiene. Por ello este
apartado, dedicado a las Consultas ( query ) tiene gran importancia.
La finalidad de una consulta no es otra que acceder a la información de la base de
datos, pero no a todos los registros, sino sólo a aquellos registros y a aquellos campos
cuyo contenido nos sea de interés en un momento dado. Access ofrece varios tipos de
consulta, según las necesidades de cada momento:
Tipos de consulta:

Consultas de selección

Consultas de parámetros

Consultas de tabla de referencias cruzadas

Consultas de acción

Consultas SQL

Para realizar las consultas Access dispone de varios ayudantes o asistentes; son
estos:

Asistente para consultas sencillas

Asistente para consultas de referencias cruzadas

Asistente para consultas que buscan datos duplicados

Asistente para consultas que buscan datos no coincidentes.

51
52 Capítulo 4. Consultar la base de datos

4.1. Creación de una consulta


Para crear una consulta o un tipo de consulta debemos seguir estos pasos:

Lo primero es saber qué información deseamos obtener.


En qué tablas están contenidos los datos de dicha información.
Qué columnas o campos contienen esos datos.
Crear la consulta usando el asistente adecuado, incluyendo las condiciones que
definen el objetivo de la consulta, y claro, ejecutar la consulta.

Siguiendo con nuestra base de datos de libros, vamos a generar en primer lugar una
consulta sencilla sobre una tabla con la ayuda del asistente:
Se abre la base de datos Prueba, se elige la solapa Consultas, se pulsa click en el
botón Nuevo y aparece la ventana de Nueva consulta. En ella se elige el asistente para
consultas sencillas.

4.2. Campos de la consulta


Como muestra la figura 4.1, se ha seleccionado la tabla tblClientes, y de ella los
campos: Codigo, Cif y Nombre. Estos son los campos cuya información aparecerá en la
hoja de consulta. Se pulsa el botón siguiente y en otra ventana se nos pide el nombre
que tendrá el fichero de consulta (en este caso cnsClientes).
Ahora podemos acceder a modificar manualmente el diseño de la consulta o di-
rectamente a ejecutarla y ver los resultados. Pulsamos el botón Terminar, y nos aparece
una pantalla con una especie de tabla mostrando información únicamente de los tres
campos mencionados. Se trata en realidad de una Vista de la tabla. Durante el proce-
so de diseño d ela consulta, podemos indicar que los datos aparezcan ordenados por
cualquiera de los campos.

4.3. Condiciones de la consulta: Simples y compuestas


Vamos a intentar establecer condiciones para que la consulta nos muestre sólo al-
gunos clientes, según las condiciones que le indiquemos:
Para modificar una consulta, hay que abrir la ventana de Diseño de consulta. En
ella aparecen las tablas y los campos. Como se ve esta ventana se divide en dos zonas:
La zona de datos (Superior) y la de Query By Exampe (inferior).
4.3. Condiciones de la consulta: Simples y compuestas 53

Figura 4.1: Consultando una tabla.


54 Capítulo 4. Consultar la base de datos

Figura 4.2: Consultando una tabla.


4.3. Condiciones de la consulta: Simples y compuestas 55

En la zona superior o de datos, se sitúan las tablas y campos que intervienen en la


consulta, así como las relaciones entre tablas, en caso de existir. Si tenemos el puntero en
esta zona y pulsamos el botón derecho, se abre un menú contextual con varias opciones
de utilidad (código SQL de la consulta, relaciones, propiedades de la consulta, etc).
En la zona inferior, formada por una cuadricula, es donde podemos determinar
cuales de los campos intervienen en la consulta, así como los criterios de selección. Por
ello vamos a ver esta zona con mas detenimiento: En ella existen seis filas con los títulos
siguientes:

Campo: Indica los campos que aparecerán en el resultado de la consulta

Tabla: Indica la tabla a la que pertenece el campo de cada una de las columnas. Es
útil cuando se usan varias tablas en una consulta.

Orden: Indica si el resultado de la consulta se va a presentar ordenado por un


campo y si esta clasificación será ascendente o descendente.

Mostrar: Define si este campo aparece o no en la consulta.

Criterios: Indica a Access las condiciones de la consulta. Es la parte mas complica-


da de usar, pero la mas importante.

O: Esta fila y las que siguen por abajo se utilizan para definir también las condi-
ciones. Junto con la fila Criterios, constituyen las filas de condiciones.

Supongamos que deseamos ver qué clientes tenemos de la población Sevilla. Si-
guiendo las indicaciones expuestas anteriormente, en el campo Criterios escribiremos
”Sevilla”:
Como vemos, sólo aparecen los clientes de Sevilla existentes en la tabla. Podemos
observar que solo aparecen las columnas seleccionadas en la consulta. Esta consulta
contiene una condición simple. Podemos hacer que la consulta sea mas compleja, intro-
duciendo más condiciones. Por ejemplo, podemos pedir a la consulta que nos muestre
los clientes de Sevilla que pertenezcan al sector del transporte (su código es el 02). Para
ello, bastaría con añadir ”02” a la columna del sector en la consulta.
El resultado aparece en la figura 4.3. A continuación, en el cuadro 2 podemos ver,
a modo de introducción, la fórmula que se genera en lenguaje SQL para realizar dicha
consulta1 .
1 Más adelante se verá en detalle.
56 Capítulo 4. Consultar la base de datos

Figura 4.3: Consultando una tabla con criterios.


4.4. Operadores lógicos 57

2
Código SQL de la consulta de clientes
-------------------------------------
SELECT tblClientes.Codigo, tblClientes.Cif, tblClientes.Nombre,
tblClientes.Poblacion, tblClientes.Sector
FROM tblClientes
WHERE (((tblClientes.Poblacion)="Sevilla") AND ((tblClientes.Sector)="02"))
ORDER BY tblClientes.Nombre;

4.4. Operadores lógicos


En las consultas se utilizan fundamentalmente tres operadores lógicos para estable-
cer los criterios : O, Y, NEGADO:

4.4.1. El Operador Y (AND)

Este operador permite unir dos condiciones en una expresión, de tal modo que si
ambas condiciones se cumplen, entonces se ejecuta la consulta. En el ejemplo anterior
vemos que la población es Sevilla ”Y” el sector es el 02. Esto significa que la consulta
mostrará aquellos registros que cumplan las dos condiciones al mismo tiempo.

4.4.2. El Operador O (OR)

Permite crear consultas en las cuales se mostrarán aquellos registros que cumplan
al menos una (o varias) de las condiciones. Veamos un ejemplo en la figura 4.4:
Hemos pedido una consulta de los clientes cuya provincia sea Sevilla o Madrid.

4.4.3. El Operador Negación

Este operador permite negar la condición, con lo que el resultado de la consulta


mostrará todos los registros que incumplan la condición. Por ejemplo si queremos ver
todos los clientes menos los de Sevilla, escribiremos en el criterio la siguiente expresión
<> ”Sevilla”.

4.4.4. La expresión Nulo

Para saber si una columna o campo del registro está vacío, Access nos ofrece el ope-
rador o expresión Nulo. Por ejemplo, si queremos listar todos los registros cuyo sector
58 Capítulo 4. Consultar la base de datos

Figura 4.4: El criterio OR en la consulta.


4.5. Operaciones con la consulta 59

no recordábamos al introducir el libro, y por ello dejamos el campo vacío, podremos


utilizar la expresión Nulo, en la fila Criterios columna Sector. Pero hay que distinguir
entre un campo vacío (aquel que no tiene ningún carácter) y un campo en blanco (aquel
que está lleno de espacios en blanco).

4.5. Operaciones con la consulta


Una vez terminado el diseño de la consulta, se puede almacenar con el nombre
que se la había asignado. En caso de haber comenzado el diseño de la consulta
sin ayuda del asistente, antes de cerrar la consulta nos pedirá un nombre para
ella. también puede guardarse la consulta a través del menú Archivo, Guardar,
Guardar como o Exportar.

Para Ejecutar la consulta, basta con pulsar con doble click su nombre o bien pul-
sar el icono Ejecutar (El icono aparece como un signo de admiración ”!” cuando
estamos en modo Diseño) de la barra de herramientas.

Para Cerrar la consulta, basta con pulsar el botón Cerrar de Windows, situado en
la parte superior derecha, o bien a través del menú Archivo, Cerrar.

Para Eliminar una consulta, una vez que se vuelve innecesaria, se la selecciona en
la solapa Consultas de la base de datos y se pulsa la tecla Supr. o el botón Eliminar
del menú contextual que aparece al pulsar el botón derecho del ratón.

Para Copiar una consulta: teniéndola seleccionada se pulsa el botón derecho del
ratón, y ante el menú emergente de contexto, se pulsa Copiar; Después puede
Pegarse con el mismo procedimiento; Habrá que asignarle un nombre nuevo.

Para imprimir: Los resultados de la consultas pueden ser impresos. Para ello primero
hay que ejecutar la consulta, y posteriormente se imprimen a través del menú
Archivo, Imprimir. Conviene antes de imprimir, seleccionar la Vista preliminar,
con el fin de revisar los posibles errores.

4.6. Otros ejemplos de consulta


Además de las consultas sencillas que acabamos de ver, existen varios tipos de con-
sulta más complejas, en las que pueden intervenir varias tablas, y que pueden realizar
varias acciones.
60 Capítulo 4. Consultar la base de datos

Figura 4.5: Tipos de consultas.

El proceso inicial consiste igualmente en determinar los campos o columnas de la


consulta. En segundo lugar hay que determinar también las tablas de las que proceden
esos campos.
Para acceder a otros tipos de consulta se pulsa el botón situado bajo Herramientas
en la barra de menús de Access .
Vamos a explicar brevemente cada una de las consultas posibles que se despliegan
en la figura 4.5.

4.6.1. Consultas de Selección

Es el tipo de consulta mas habitual; es el que hemos visto hasta ahora. En estas
consultas, se obtienen los datos de una o más tablas mediante la agrupación o filtro de
los registros según las condiciones que se establecen.
4.6. Otros ejemplos de consulta 61

4.6.2. Consultas de parámetros

Una consulta de parámetros es la que, cuando se ejecuta, muestra su propio cuadro


de diálogo que solicita información, como por ejemplo criterios para recuperar regis-
tros o un valor que desea insertar en un campo. Por ejemplo, modificando la consulta
anterior de clientes por población y poniéndole un parámetro en vez de ”Sevilla”, nos
podría servir para cualquier otra población. También se puede diseñar la consulta para
que solicite más de un dato; por ejemplo, puede diseñarla para que solicite dos fechas.
Microsoft Access puede entonces recuperar todos los registros que quedan entre esas
dos fechas. Las consultas de parámetros también son útiles cuando se emplean como
base para los formularios e informes. Por ejemplo, puede crear un informe de ingresos
mensuales basado en una consulta de parámetros. Al imprimir el informe, Microsoft Ac-
cess muestra un cuadro de diálogo que solicita el mes sobre el que se desea el informe.
Cuando se introduce un mes, Microsoft Access imprime el informe apropiado.

Cómo crear consultas de parámetros

Una consulta de parámetros muestra uno o más cuadros de diálogo predefinidos


que le solicitarán el valor del parámetro (criterio). El proceso de creación es el siguiente:

1. Crear una consulta de selección.

2. En la vista Diseño de la consulta, arrastrar los campos desde la lista de campos de


la consulta a la cuadrícula de diseño de la consulta.

3. En la celda Criterios, para cada campo que se desee utilizar como parámetro, es-
cribir el texto a solicitar entre corchetes. Microsoft Access mostrará este texto cuan-
do se ejecute la consulta. El texto de la solicitud debe ser diferente del nombre del
campo, aunque puede incluir el nombre del campo.

En la figura 4.6 hemos establecido que la consulta nos pida el parámetro de la


población. El resultado dependerá de la población que introduzcamos.
Si deseamos establecer un rango en los criterios, como por ejemplo entre dos fechas
de una tabla, debemos introducir entre corchetes algún texto para especificar un inter-
valo de valores. En la celda Criterio del campo, hay que escribir Entre [Introduzca la
fecha inicial:] And [Introduzca la fecha final:], tal como aparece en la figura 4.7, donde
preguntamos por los clientes dados de alta entre dos fechas:
Para visualizar los resultados, hay que pulsar clic en el botón ”Ver” en la barra de
herramientas y escribir el valor del parámetro.
62 Capítulo 4. Consultar la base de datos

Figura 4.6: Consulta de un parámetro.


4.6. Otros ejemplos de consulta 63

Figura 4.7: Consulta de dos parámetros.


64 Capítulo 4. Consultar la base de datos

4.6.3. Consultas de referencias cruzadas

Una consulta de tabla de referencias cruzadas muestra valores resumidos (sumas,


cuentas y promedios) de un campo de una tabla y los agrupa según un conjunto de
hechos enumerados en el lado izquierdo (por filas) de la hoja de datos y otro conjunto
de hechos enumerados en la parte superior (por columnas) de la hoja de datos.

4.6.4. Cómo crear consultas de referencias cruzadas

Para crear una consulta de tabla de referencias cruzadas es aconsejable seguir los
pasos que indica el asistente ya que puede ser de gran utilidad la ayuda que este nos
presta.
Sin embargo, vamos a mostrar los pasos a dar para crear la consulta sin usar el
asistente:

En la ventana Base de datos, pulsar clic en la ficha Consultas y, después, en Nueva.

En el cuadro de diálogo Nueva consulta, pulsar clic en Vista diseño y, después, en


Aceptar.

En el cuadro de diálogo Mostrar tabla, pulsar clic en la ficha que relaciona las
tablas o consultas con cuyos datos deseamos trabajar.

Pulsar doble clic en el nombre de cada objeto que deseemos agregar a la consulta,
y posteriormente en Cerrar.

Agregar campos a la fila Campos en la cuadrícula de diseño y especificar los crite-


rios.

En la barra de herramientas, pulsar clic en Tipo de consulta y después en Consulta


de tabla de referencias cruzadas.

Para el campo o los campos cuyos valores deseamos que aparezcan como filas,
pulsar clic en la fila TAB ref cruz y, después, en Encabezado de fila. Hay que man-
tener el Agrupar por predeterminado en la fila Total de esos campos.

Para el campo cuyos valores deseamos que aparezcan como encabezados de colum-
nas, pulsar clic en la fila TAB ref cruz y, después, en Encabezado de columna. Se
puede elegir Encabezado de columna para un sólo campo y debe mantener Agru-
par por en la fila Total de ese campo.

En el campo cuyos valores deseemos utilizar en la tabla de referencia cruzada,


pulsar clic en la fila TAB ref cruz y, después, clic en Valor.
4.6. Otros ejemplos de consulta 65

Sólo un campo puede establecerse como Valor.

En la fila Total de este campo, hay que pulsar clic en el tipo de función que de-
seamos para la referencia cruzada (como Suma, Promedio o Cuenta).

Para especificar criterios que limiten los encabezados de filas antes de que se real-
ice el cálculo, hay que escribir una expresión en la fila Criterios de un campo con
Encabezado de fila en la celda TAB ref cruz. Esto permite, por ejemplo, presentar
los totales de clientes de ciertos sectores o poblaciones.

Para especificar criterios con los que deseamos limitar los registros antes de que se
agrupen los encabezados de fila y antes de que se realicen las referencias cruzadas,
debemos agregar el campo para el que deseamos establecer dichos criterios. Para
ello pulsamos clic en Dónde en la celda Total, dejando en blanco la celda TAB ref
cruz y escribiendo una expresión en la fila Criterios.

Para ver los resultados de la consulta, hay que pulsar el botón Vista de la barra de
herramientas, o el de Ejecutar la consulta.

Por ejemplo, si queremos confeccionar un cuadro con las distintas poblaciones y


qué clientes tenemos en cada una de ellas, podemos realizar la consulta de referencias
cruzadas que muestra la figura 4.8.

4.6.5. Consultas que crean tablas

Entramos ahora a analizar una serie de consultas que podemos llamar genérica-
mente como Consultas de Acción o que generan acciones. Una consulta de acción es
la que realiza cambios a muchos registros en una sola operación. Existen cuatro tipos
de consultas de acción: La que crean tablas, las que borran registros, las que añaden
registros a tablas y las que actualizan los datos de los registros.
La Consulta de creación de tabla crea una tabla nueva a partir de todos o de parte de
los datos de una o más tablas o consultas. La tabla nueva tendrá tantos registros como
filas se hayan generado en la consulta. Su utilidad se deriva de los factores siguientes:

Es posible crear una tabla para exportar datos a otras bases de datos de Microsoft
Access. Por ejemplo, es posible crear una tabla que contenga varios campos de la
tabla Empleados y, a continuación, exportar esa tabla a una base de datos utilizada
por el departamento de personal.

Para crear informes que muestren datos de un determinado momento en el tiem-


po.
66 Capítulo 4. Consultar la base de datos

Figura 4.8: Consulta de referencias cruzadas.


4.6. Otros ejemplos de consulta 67

Para hacer una copia de seguridad de una tabla.

Par crear una tabla histórica que contenga registros antiguos.

Para mejorar el rendimiento de los formularios e informes basados en consultas


de tablas múltiples o en instrucciones SQL.

Cómo crear consultas de creación de tablas

1. Crear una consulta de selección, para lo cual se deberán seleccionar las tablas o
consultas que contienen los registros a incluir en la nueva tabla.

2. En la vista Diseño de la consulta, pulsar clic en la flecha situada junto al botón Tipo
de consulta en la barra de herramientas y, a continuación, en Consulta de creación
de tabla. Aparecerá el cuadro de diálogo Crear tabla.

3. En el cuadro Nombre de tabla, escribir el nombre de la tabla que se desea crear o


reemplazar.

4. Pulsar clic en Base de datos activa para incluir la tabla nueva en la base de datos
abierta actualmente. También se puede hacer clic en Otra base de datos y escribir el
nombre de otra base de datos en la que desea incluir la tabla nueva. Si es necesario,
se escribe la ruta de acceso.

5. Pulsar Aceptar.

6. Arrastrar desde la lista de campos hasta la cuadrícula de diseño de la consulta los


campos que se vayan a incluir en la tabla nueva.

7. En la celda Criterios de los campos arrastrados a la cuadrícula, se escriben los


criterios de la consulta.

8. Para crear la tabla nueva, pulsar clic en Ejecutar en la barra de herramientas.

En el ejemplo de la figura 4.9 vamos a crear una nueva tabla llamada tblProvee-
dores dentro de la base de datos en que estamos trabajando, con los campos Codigo,
CIF, Nombre, Domicilio, Población, Provincia, Pais y Telefono, a partir de la consulta
de Creacion de tabla. La nueva tabla contendrá tantos registros como la tabla origen
(Proveedores-Antigua). La tabla nueva se genera tras la ejecución de la consulta. Si el
nombre de la tabla ya existe, será sustituido por la nueva tabla.
68 Capítulo 4. Consultar la base de datos

Figura 4.9: Consulta de referencias cruzadas.


4.6. Otros ejemplos de consulta 69

4.6.6. Consultas que borran registros (filas)

Las consultas que borran registros, eliminan un grupo de registros de una o más
tablas que cumplen las condiciones impuestas por la consulta. Por ejemplo, puede uti-
lizar una consulta de eliminación para borrar libros de la tabla. Con las consultas de
eliminación, siempre se eliminan registros enteros, no sólo campos seleccionados den-
tro de los registros.
Puede utilizarse una sola consulta de eliminación para eliminar registros de una
sola tabla, de varias tablas en una relación uno a uno o de varias tablas en una relación
uno a varios, si está activada la eliminación en cascada. La relación uno a varios puede
distinguirse en la vista Diseño de la consulta observando las combinaciones entre las
tablas. Si un extremo de una combinación está marcado con el símbolo de infinito ∞ , se
trata de una relación Uno a Varios. Si ambos extremos están marcados con un 1, se trata
de una relación Uno a Uno.

Cómo crear consultas que borran registros

1. Se crea una consulta nueva que contenga las tablas de las cuales deseamos elimi-
nar registros.

2. En la vista Diseño de la consulta, se pulsa clic en la flecha situada junto a Tipo de


consulta en la barra de herramientas y, a continuación en Consulta de eliminación.

3. Para especificar criterios para eliminar registros, se arrastra a la cuadrícula de di-


seño los campos en los que desea establecer los criterios. Aparecerá Dónde en la
celda Eliminar situada bajo estos campos.

4. En la celda Criterios de los campos arrastrados a la cuadrícula, se escriben los


criterios.

5. Para ver una vista previa de los registros que se van a eliminar, se pulsa clic en
Vista en la barra de herramientas.

6. Una vez que se tiene seguridad sobre los registros que se han de borrar, se pulsa
clic en Ejecutar en la barra de herramientas para eliminar los registros.

Ejemplo: Supongamos que los clientes de Barcelona se han trasladado a otra tabla,
y queremos borrarlos de tblClientes. En la figura 4.10 se nos muestra cómo eliminar los
registros de dicha tabla.
70 Capítulo 4. Consultar la base de datos

Figura 4.10: Consulta de eliminación de registros.


4.6. Otros ejemplos de consulta 71

Figura 4.11: Botones de prueba y ejecución de consultas.

Advertencias sobre las consultas de eliminación

Si las tablas de las que se van a eliminar registros están relacionadas con otras
tablas, no se podrán eliminar los registros de un modo indiscriminado. Si la relación
que une las dos tablas es de Uno a Varios, al ejecutar una consulta de eliminación,
y si está activada la eliminación en cascada para esta relación, Microsoft Access
también elimina los registros relacionados del lado ”Varios”.

Hay que tener en cuenta que una vez borrados los registros de una tabla, son
irrecuperables, por lo tanto se debe probar qué registros borrará la consulta, antes
de realizar la acción de eliminar. Existen dos botones en la barra de herramientas:
Vista, que prueba la consulta sin realizarla y Ejecutar, que la realiza efectivamente,
como muestra la figura 4.11.

4.6.7. Consultas que añaden registros (filas)

Con estas consultas, llamadas también de datos anexados, podemos añadir filas o
registros que resultan de la consulta a una determinada tabla. Agregan un grupo de re-
72 Capítulo 4. Consultar la base de datos

gistros de una o más tablas al final de una o más tablas. Las consultas de datos anexados
también son útiles para:

Añadir campos basados en criterios. Por ejemplo, si deseamos añadir a nuestra


tabla de libros, otros registros de un determinado autor o materia.

Añadir registros cuando algunos de los campos de una tabla no existe en la otra
tabla. Una consulta de datos anexados añadirá los datos de los campos coinci-
dentes e ignorará el resto.

Cómo crear consultas que añaden registros

1. Se Crea una consulta que contenga la tabla cuyos registros desea añadir a otra
tabla.

2. En la vista Diseño de la consulta, se pulsa click en la flecha situada junto a Tipo


de consulta en la barra de herramientas y, a continuación, en Consulta de datos
anexados. Aparecerá el cuadro de diálogo Anexar.

3. En el cuadro Nombre de tabla, se escribe el nombre de la tabla a la que desea


añadir registros.

4. Pulsar click en Base de datos activa si la tabla se encuentra en la base de datos


abierta actualmente. De lo contrario, pulsar click en Otra base de datos y escribir
el nombre de la base de datos en la que esté almacenada la tabla. Escribir la ruta de
acceso si es necesario. También puede introducirse una ruta de acceso a una base
de datos de Microsoft FoxPro, Paradox o dBASE o bien una cadena de conexión a
una base de datos SQL.

5. Pulsar Aceptar.

6. Arrastrar desde la lista de campos hasta la cuadrícula de diseño de la consulta


los campos que se deseen añadir y cualquier campo que se desee utilizar para
establecer criterios. Si todos los campos de ambas tablas tienen los mismos nom-
bres, simplemente basta con arrastrar el asterisco (*) a la cuadrícula de diseño de
la consulta.

7. Si los campos seleccionados tienen el mismo nombre en ambas tablas, Microsoft


Access rellena automáticamente el nombre coincidente en la fila Añadir a. Si los
campos de las dos tablas no tienen el mismo nombre, en la fila Añadir a escribir
los nombres de los campos de la tabla a la que está añadiendo.

8. En la celda Criterios de los campos arrastrados a la cuadrícula, escribir el criterio


según el cual deben realizarse las anexiones.
4.6. Otros ejemplos de consulta 73

Figura 4.12: Consulta de datos anexados.

9. Para ver una vista previa de los registros que añadirá la consulta, pulsar click en
Vista en la barra de herramientas. Para regresar a la vista Diseño de la consulta,
pulsar click de nuevo en Vista en la barra de herramientas.

10. Pulsar click en Ejecutar en la barra de herramientas para agregar los registros.

Veamos un ejemplo de esta consulta en la figura 4.12. En ella deseamos añadir a la


tabla tblClientes todos los registros de la tabla ClientesBarcelona. Se advertirá que no se
incluyen campos sino tan solo ClientesBarcelona.*. Con ello, la consulta anexará todos
los campos de la tabla origen siempre que coincidan con los de la tabla destino.

4.6.8. Consultas que actualizan registros (filas)

Las consultas de actualización modifican la información existente en los registros o


filas de una tabla, pero no añade ni borra registros.
El procedimiento de creación de las consulta que actualizan registros es el siguiente:
74 Capítulo 4. Consultar la base de datos

1. Crear una consulta, seleccionado las tablas o consultas que incluyen los registros
que se desea actualizar y los campos que se desea utilizar para establecer criterios.

2. En la vista Diseño de la consulta, se pulsa clic en la flecha situada junto a Tipo de


consulta en la barra de herramientas y, a continuación, en Consulta de actualiza-
ción.

3. Arrastrar desde la lista de campos hasta la cuadrícula de diseño de la consulta los


campos que se desea actualizar o para los que se desea especificar criterios.

4. En la celda Criterios, especificar los criterios si es necesario.

5. En la celda Actualizar a de los campos que se desea actualizar, escribir la expresión


o el valor que se desea utilizar para cambiar los campos.

6. Para ver una lista de los registros que se actualizarán, pulsar clic en Vista en la
barra de herramientas.

En la figura 4.13 podemos ver un ejemplo de este tipo de consultas. Con ella, en la
tabla tblClientes se actualizarán los sectores cuyo valor es ”03” con el nuevo valor ”02”.

4.7. Consultas con varias tablas


Hasta ahora hemos utilizado para las consultas una sola tabla. Vamos a intentar
ahora crear consultas a partir de dos o más tablas. Los pasos a seguir son los siguientes:

1. Crear una consulta, seleccionado las tablas o consultas que incluyen los registros
que se desea actualizar y los campos que se desea utilizar para establecer criterios.

2. Relacionar los campos de las tablas. Lo normal es que si ya existe la relación entre
algunos campos de ambas tablas, estas relaciones aparezcan al mostrar las tablas.

3. Arrastrar desde la lista de campos de cada tabla hasta la cuadrícula de diseño de


la consulta los campos que se desea mostrar o para los que se desea especificar
criterios.

4. En la celda Criterios, especificar los criterios por los que vamos a elaborar la con-
sulta.

Supongamos que queremos saber los pedidos de cada cliente desde una fecha de-
terminada. Para ello elegimos las tablas tblClientes y tblPedidosClientes. Ambas tablas
4.7. Consultas con varias tablas 75

Figura 4.13: Consulta de actualización.


76 Capítulo 4. Consultar la base de datos

Figura 4.14: Consulta de varias tablas.


4.8. Consultas SQL 77

Figura 4.15: Consultas SQL.

están relacionadas por medio del campo cliente. Se observa el criterio: Fecha del pedi-
do mayor que final de 2006, por lo que nos mostrará los pedidos de 2007 en adelante.
Veamos el ejemplo en las figura 4.14
Como podemos suponer, este tipo de consultas con varias tablas (u otras consultas)
es muy utilizado, en los procesos de la empresa.

4.8. Consultas SQL


Hasta ahora hemos descrito una serie de consultas para diversos fines. En todas nos
hemos ayudado de una pantalla gráfica de Access en la cual poner las tablas, campos,
criterios, etc., pero todas son consultas en lenguaje SQL, como podemos ver en el cuadro
2. La diferencia con las consultas que describiremos a continuación, las apropiamente
llamadas ”consultas SQL” estriba en que estas se ha de crear sin ayuda gráfica, es decir,
solamente con expresiones SQL. Por lo tanto, una consulta SQL es la creada mediante
una instrucción SQL.
78 Capítulo 4. Consultar la base de datos

4.8.1. Clases de consultas SQL


1. Consulta de unión,
2. Consulta de paso a través,
3. Consulta de definición de datos y
4. La Subconsulta

4.8.2. Consultas de unión

Este tipo de consulta combina campos (columnas) de una o más tablas o consultas,
en un campo o columna que es el resultado de la consulta. Por ejemplo, si tiene seis
proeveedores que envían nuevas listas de inventario cada mes, puede combinar estas
listas en un conjunto de resultados mediante una consulta de unión y, a continuación,
crear una consulta de creación de tabla basada en la consulta de unión cuyo resultado
dará la creación de una tabla nueva.

Ejemplos de consultas de unión

Las consultas de unión combinan campos de dos o más tablas o consultas en un


solo campo. A continuación se muestran ejemplos de una consulta de unión básica, de
ordenación de registros, de cambios en el nombre de los campos y obtención de registros
duplicados en consultas de unión.

Consultas de unión básica

La siguiente consulta (figura 4.16) de unión consta de dos instrucciones SELECT de


SQL, que devuelven los nombres de la compañía y ciudades que están en Brasil, y de
ambas tablas, Proveedores y Clientes.
Orden alfabético en una consulta de unión:
La siguiente consulta de unión selecciona todos los nombres de empresas y ciu-
dades de ambas tablas, Proveedores y Clientes, y los ordena alfabéticamente por ciu-
dad:
3
SELECT [NombreCompañía], [Ciudad]
FROM [Proveedores]

UNION SELECT [NombreCompañía], [Ciudad]


FROM [Clientes]
ORDER BY [Ciudad];
4.8. Consultas SQL 79

Figura 4.16: Consulta de unión básica.


80 Capítulo 4. Consultar la base de datos

Cambiar nombre de campos en una consulta de unión

La siguiente consulta de unión cambia el nombre el campo NombreCompañía por


”Nombre del proveedor / cliente” en la salida de la consulta:

4
SELECT [NombreCompañía] AS [Proveedor/Nombre cliente], [Ciudad]
FROM [Proveedores]

UNION SELECT [NombreCompañía] AS [Proveedor/Nombre cliente], [Ciudad]


FROM [Clientes];

Obtener registros duplicados en una consulta de unión

La siguiente consulta de unión utiliza la instrucción UNION ALL para extraer to-
dos los registros, incluyendo los registros duplicados:

5
SELECT [NombreCompañía], [Ciudad]
FROM [Proveedores]

UNION ALL SELECT [NombreCompañía], [Ciudad]


FROM [Clientes];

4.8.3. Cómo crear una consulta de unión

Combinar datos en campos de dos o más tablas utilizando una consulta de unión.
Las consultas de unión combinan los campos correspondientes a dos o más tablas o con-
sultas, en un solo campo. Cuando se ejecuta una consulta de unión, la misma devuelve
los registros de los campos correspondientes en las tablas o consultas incluidas.Los pa-
sos para crear una consulta de unión son los siguientes:

1. En la ventana Base de datos, hacer clic en la ficha Consultas y después en Nuevo.

2. En el cuadro de diálogo Nueva consulta , hacer clic en Vista diseño y después en


Aceptar.

3. Sin agregar tablas ni consultas, hacer clic en Cerrar, en el cuadro de diálogo Mostrar
tabla.

4. En el menú Consultas, señale Específica de SQL y hacer clic en Unión.


4.8. Consultas SQL 81

5. Introducir instrucciones SQL SELECT combinadas con cualquier operación de


UNION si no desea recuperar registros duplicados o UNION ALL si desea re-
cuperar registros duplicados.

6. Si desea especificar un orden alfabético en una consulta de unión, agregue una


sola cláusula ORDER BY al final de la última instrucción SELECT. En la cláusula
ORDER BY, especifique el nombre del campo por el que se va a ordenar, que debe
proceder de la primera instrucción SELECT.

7. Para ver los resultados de la consulta, hacer clic en Vista en la barra de herramien-
tas.

Nota: Cada instrucción SELECT debe devolver el mismo número de campos, y en el


mismo orden. Se necesita que los campos correspondientes tengan tipos de datos com-
patibles, con una excepción: puede utilizar un campo Numérico y de Texto como cam-
pos correspondientes.

Información sobre las instrucciones SELECT


6
Sintaxis
--------
SELECT [predicado] { * | tabla.* | [tabla.]campo1 [AS alias1]
[, [tabla.]campo2 [AS alias2] [, ...]]}
FROM expresióntabla [, ...] [IN basededatosexterna]
[WHERE... ]
[GROUP BY... ]
[HAVING... ]
[ORDER BY... ]
[WITH OWNERACCESS OPTION]

La sintaxis de la instrucción SELECT consta de las siguientes partes:


82 Capítulo 4. Consultar la base de datos

7
Parte Descripción
----- -----------

Predicado Uno de los siguientes predicados: ALL, DISTINCT, DISTINCTROW o TOP.


Puede utilizar el predicado para limitar el número de registros
devueltos. Si no especifica ninguno, el valor predeterminado es ALL.
---------------------------------------------------------------------------------
* Especifica que se seleccionan todos los campos de la tabla o tablas
especificadas.
---------------------------------------------------------------------------------

Tabla El nombre de la tabla que contiene los campos de la que se van a


seleccionar los registros.
---------------------------------------------------------------------------------
Campo1, Los nombres de los campos que contienen los datos que desea recuperar.
Campo2 Si incluye más de un campo, éstos se recuperan en el orden enumerado.
---------------------------------------------------------------------------------
Alias1, Los nombres que se van a utilizar como encabezados de columnas en vez
Alias2 de los nombres de columnas originales en tabla.
---------------------------------------------------------------------------------
Expresión El nombre de la tabla o las tablas que contienen los datos que desea
tabla recuperar
---------------------------------------------------------------------------------
Base de El nombre de la base de datos que contiene las tablas en expresióntabla
datos si no están en la base de datos activa.
externa.
---------------------------------------------------------------------------------
Comentario Para realizar esta operación, el motor de base de datos Microsoft Jet
busca la tabla o las tablas especificadas, extrae las columnas elegidas,
selecciona las filas que cumplen los criterios y ordena o agrupa las
filas resultantes en el orden especificado.

Las instrucciones SELECT no modifican los datos de la base de datos. La instruc-


ción SELECT suele ser la primera palabra en una sentencia SQL. La mayoría de las
instrucciones SQL son instrucciones SELECT o SELECT...INTO.
La sintaxis mínima para una instrucción SELECT es: SELECT campos FROM tabla.
Se puede utilizar un asterisco (*) para seleccionar todos los campos de una tabla. El
ejemplo siguiente selecciona todos los campos de la tabla Empleados: SELECT * FROM
Empleados.
Si se incluye un nombre de campo en más de una tabla en la instrucción FROM,
escriba delante el nombre de la tabla y el operador ”.” (punto). En el siguiente ejem-
plo, el campo Departamento está en la tabla Empleados y en la tabla Supervisores. La
instrucción SQL selecciona los departamentos de la tabla Empleados y los nombres de
supervisores de la tabla Supervisores:
4.8. Consultas SQL 83

SELECT Empleados.Departamento, Supervisores.NombreSupervisor


FROM Empleados INNER JOIN Supervisores
WHERE Empleados.Departamento = Supervisores.Departamento

Cuando se crea un objeto Recordset2 , el motor de base de datos Microsoft Jet utiliza
el nombre de campo de la tabla como el nombre de objeto Field en el objeto Recordset. Si
desea un nombre de campo diferente o un nombre que no participe en la expresión uti-
lizada para generar el campo, utilice la palabra reservada AS. El siguiente ejemplo uti-
liza el título Nacimiento para dar nombre al objeto Field devuelto en el objeto Recordset
resultante:
SELECT FechaNacimiento AS Nacimiento FROM Empleados.
Siempre que utilice funciones de dominio agregado o consultas que devuelvan
nombres de objetos Field ambiguos o duplicados, debe utilizar la cláusula AS para pro-
porcionar un nombre alternativo para el objeto Field. El siguiente ejemplo utiliza el
título CuentaEncabezado para dar nombre al objeto Field devuelto del objeto Recordset
resultante:
SELECT COUNT(IdEmpleado) AS CuentaEncabezado FROM Empleados.
Puede utilizar otras cláusulas en una instrucción SELECT para limitar y organizar
aún más los datos devueltos. Para obtener más información al respecto, vea el tema de
Ayuda relativo a las cláusulas que esté utilizando.

Ejemplos de Select

En el ejemplo siguiente se seleccionan los campos Apellido y Nombre de todos los


registros de la tabla Empleados:
SELECT Apellido, Nombre FROM Empleados
En el siguiente se seleccionan todos los campos de la tabla Empleados:
SELECT * FROM Empleados
En el siguiente se cuenta el número de registros que tienen una entrada en el campo
CódPostal y asigna el nombre Total al campo devuelto:
SELECT Count(CódPostal) AS Total FROM Clientes.
El siguiente muestra cuáles serían los precios unitarios del producto si cada uno se
viera aumentado el 10 por ciento. Los precios unitarios existentes en la base de datos no
se modifican.
2 Recordsetes una estructura de datos usada en programación cuya utilidad es la de almacenar infor-
macion desde una tabla de una base de datos. Se usa con frecuencia para obtener conexiones con bases
de datos y almacenar el resultado de las posibles consultas que se realicen
84 Capítulo 4. Consultar la base de datos

SELECT NombreProducto, PrecioUnitario AS Current, PrecioUnitario * 1.1


AS NuevosPreciosPropuestos
FROM Productos.

En el siguiente se calcula el número de productos de la base de datos y los precios


unitarios medios y máximos:

SELECT Count(*) AS [Total Productos], Avg(PrecioUnitario) AS [Precio


Unitario Promedio], Max(PrecioUnitario) AS [Precio Unitario Máximo]
FROM Productos.

En el siguiente se muestra el NombreProducto y PrecioUnitario de cada registro de


la tabla Productos. La cadena "tiene un precio unitario de"separa los dos campos en el
conjunto resultado.

SELECT NombreProducto, ’tiene un precio unitario de’, PrecioUnitario


FROM Productos.

Información sobre las operaciones UNION y UNION ALL

8
Sintaxis
--------
[TABLE] consulta1 UNION [ALL] [TABLE] consulta2 [UNION [ALL] [TABLE]
consulta..n [ ... ]]

La operación UNION consta de las siguientes partes:

9
Parte Descripción
----- -----------

consulta1-n Una instrucción SELECT, el nombre de una consulta almacenada o el


nombre de una tabla almacenada precedido por la palabra clave
TABLE.
---------------------------------------------------------------------------------
Comentario Puede mezclar el resultado de dos o más consultas, tablas e instruc-
ciones SELECT, en cualquier combinación, en una operación UNION única.
El siguiente ejemplo mezcla una tabla existente llamada Nuevas cuentas
y una instrucción SELECT:

TABLE [Nuevas cuentas] UNION ALL


SELECT *
4.8. Consultas SQL 85

FROM Clientes
WHERE ImportePedido >1000.
De forma predeterminada, no se devuelven los registros duplicados cuando utiliza
una operación UNION; sin embargo, puede incluir el predicado ALL para asegurar
que se devuelven todos los registros. Esto también hace que la consulta se ejecute más
rápidamente.
Todas las consultas de una operación UNION deber requerir el mismo número de
campos. Sin embargo, los campos no tienen que ser del mismo tamaño o tipo de datos.
Utilice alias solamente en la primera cláusula SELECT porque en las demás se ig-
nora. En la cláusula ORDER BY, hacer referencia a los campos por cómo se les llama en
la primera cláusula SELECT.

Ejemplos de UNION y UNION ALL

En el ejemplo siguiente se recupera los nombres y ciudades de todos los provee-


dores y clientes de Brasil:

SELECT NombreCompañía, Ciudad FROM Proveedores


WHERE País = ”Brasil”
UNION SELECT NombreCompañía, Ciudad
FROM Clientes
WHERE País = ”Brasil”.

En el siguiente se recuperan los nombres y ciudades de todos los proveedores y


clientes ubicados en Brasil:

SELECT NombreCompañía, Ciudad, Proveedor AS Source


FROM Proveedores
WHERE País = ”Brasil”
UNION SELECT NombreCompañía, Ciudad, Cliente
FROM Clientes
WHERE País = ”Brasil”
ORDER BY Ciudad, Source.

En el siguiente se recuperan los nombres e identificadores de todos los proveedores


y clientes. Esta unión supone que hay el mismo número de columnas en cada tabla.
TABLE Clientes UNION TABLE Proveedores.
Advertencia: Si convierte una consulta de unión en otro tipo de consulta, como por
ejemplo una consulta de selección, se perderán las instrucciones SQL que se habían
introducido.
86 Capítulo 4. Consultar la base de datos

Figura 4.17: Consulta de paso a traves.

4.8.4. Consulta de paso a través

Este tipo de consulta envía comandos directamente a las bases de datos ODBC3 ,
como las de Microsoft SQL Server, utilizando comandos aceptados por el servidor. Por
ejemplo, puede emplear una consulta de paso a través para recuperar registros o modi-
ficar datos.
Las consultas de paso a través de Microsoft Access envían comandos directamente
a un servidor de base de datos ODBC (como Microsoft SQL Server). Mediante las con-
sultas de paso a través se trabaja directamente con las tablas del servidor, en vez de
establecer vinculación a ellas.

4.8.5. Como crear una consulta de paso a través


1. En la ventana Base de datos, hacer clic en la ficha Consultas y luego en Nuevo.
3 Open Database Connectivity (ODBC) es un estándar de acceso a Bases de Datos desarrollado por
Microsoft Corporation. El objetivo de ODBC es hacer posible el acceder a cualquier dato de cualquier
aplicación, sin importar qué Sistema Gestor de Bases de Datos almacene los datos
4.8. Consultas SQL 87

2. En el cuadro de diálogo Nueva consulta, hacer clic en Vista diseño y luego en


Aceptar.

3. Sin agregar tablas o consultas, hacer clic en Cerrar, en el cuadro de diálogo Mostrar
tabla.

4. En el menú Consultas señalar Específica de SQL y hacer clic en Paso a través.

5. Colocar el cursor en la banda azul del cuadro que se ha abierto y pulsando el botón
derecho del ratón, hacer clic en Propiedades, para ver la hoja de propiedades de
la consulta.

6. En la hoja de propiedades de la consulta, configurar la propiedad CadConexión-


ODBC (ODBCConnectStr) para especificar la información sobre la base de datos a
la que se desea conectar. Puede escribir la información para la conexión o hacer clic
en Generar e introducir la información sobre el servidor al que se está conectan-
do. Para obtener detalles sobre la sintaxis para la consulta, hay que ver la docu-
mentación sobre el servidor de bases de datos SQL al que está enviando la consul-
ta.

7. Si la consulta no es de las que devuelve registros, configurar la propiedad De-


vuelveRegistros (ReturnsRecords) a No.

8. En la ventana Consulta, escribir las instrucciones SQL de la consulta de paso a


través.

9. Para ejecutar la consulta, hacer clic en Ejecutar en la barra de herramientas. De


forma alternativa, para una consulta de paso a través que devuelve registros, se
puede hacer clic en Vista en la barra de herramientas.

Si fuera necesario, Microsoft Access nos solicitará información sobre el servidor


SQL de su base de datos.

Anotaciones a las consultas de paso a través

Si convertimos una consulta de paso a través en otro tipo de consulta, como por
ejemplo una consulta de selección, se perderá la instrucción SQL que se había
introducido.

Las consultas de paso a través son útiles para ejecutar procedimientos guardados
en un servidor ODBC.
88 Capítulo 4. Consultar la base de datos

Si no se especifica una cadena de conexión en la propiedad CadConexiónODBC


(ODBCConnectStr) o si se elimina una existente, Microsoft Access utiliza .ODBC"de
forma predeterminada. Con este valor, Microsoft Access solicita la información de
conexión, cada vez que se ejecuta la consulta.

Algunas consultas de paso a través pueden devolver mensajes junto con los datos.
Si se configura la propiedad AnotarMensajes (LogMessages) de la consulta a Sí,
Microsoft Access crea una tabla que contiene los mensajes devueltos. El nombre
de la tabla es el del usuario, seguido de un guión (-) y un número de secuencia que
comienza en 00. Por ejemplo, el nombre predeterminado de usuario es Admin-
istrador, de modo que el devuelto por las tablas se llamará .ADMIN - 00,ADMIN -
01, así sucesivamente.
2

4.8.6. Consulta de definición de datos

Este tipo de consulta crea o modifica objetos de la base de datos, como tablas de
Microsoft Access o Microsoft SQL Server por medio de instrucciones SQL.
Se pueden usar consultas SQL de definición de datos para crear, eliminar o modifi-
car tablas o crear índices en la base de datos activa.

1. En la ventana Base de datos, hacer clic en la ficha Consultas y luego en Nuevo.

2. En el cuadro de diálogo Nueva consulta , hacer clic en Vista diseño y luego en


Aceptar.

3. Sin agregar tablas o consultas, hacer clic en Cerrar en el cuadro de diálogo Mostrar
tabla.

4. En el menú Consultas señalar Específica de SQL y hacer clic en Definición de


datos.

5. Introducir la instrucción SQL para la consulta de definición de datos. Cada con-


sulta de definición de datos consta exactamente de una instrucción de definición
de datos. Microsoft Access acepta estas instrucciones de definición de datos. Estas
son las instrucciones SQL:

CREATE TABLE
ALTER TABLE
DROP
CREATE INDEX

6. Para ejecutar la consulta, hacer clic en Ejecutar , en la barra de herramientas.


4.8. Consultas SQL 89

CREATE TABLE (crea una tabla)

El motor de base de datos Microsoft Jet no permite el uso de la instrucción CREATE


TABLE, o cualquiera de las instrucciones de lenguaje de definición de datos (DDL), con
motores de base de datos que no sean Microsoft Jet.

10
Sintaxis
--------
CREATE TABLE tabla (campo1 tipo [(tamaño)] [NOT NULL] [índice1] [, campo2 tipo
[(tamaño)] [NOT NULL] [índice2] [, ...]] [, CONSTRAINT índicemultiplescampos
[, ...]])

La instrucción CREATE TABLE consta de las siguientes partes:

11
Parte Descripción
----- -----------

tabla El nombre de la tabla que se va a crear.


---------------------------------------------------------------------------------
Campo1, El nombre del campo o de los campos que se van a crear en la nueva
tabla.
campo2 Debe crear al menos un campo.
---------------------------------------------------------------------------------
Tipo Tipo de datos de los campos de la tabla nueva.
---------------------------------------------------------------------------------
Tamaño El tamaño del campo en caracteres (solamente campos de tipo Text o
Binary).
---------------------------------------------------------------------------------
Indice1, Una cláusula CONSTRAINT que define el índice de campo único
Indice2
---------------------------------------------------------------------------------
Indice de Una cláusula CONSTRAINT que define un índice de múltiples campos. Vea el
múltiples tema de la cláusula CONSTRAINT para obtener más información acerca
campos de cómo crear este índice.
---------------------------------------------------------------------------------

Anotaciones: Utilice la instrucción CREATE TABLE para definir una tabla nueva, sus
campos y limitaciones de campo. Si se especifica NOT NULL para un campo, se exi-
ge que los registros nuevos tengan datos válidos en ese campo. Una cláusula CON-
STRAINT establece varias limitaciones en un campo y se puede utilizar para establecer
la clave principal. También puede utilizar la instrucción CREATE INDEX para crear una
clave principal o índices adicionales en tablas existentes.
90 Capítulo 4. Consultar la base de datos

Ejemplos de CREATE

En el ejemplo siguiente se crea una tabla nueva con dos campos de Texto:
CREATE TABLE PrimeraTabla (Nombre TEXT, Apellido TEXT)
En el ejemplo siguiente se crea una tabla nueva con dos campos de Texto, un campo
Fecha/Hora y un único índice compuesto de los tres campos:

CREATE TABLE SegundaTabla (Nombre TEXT, Apellido TEXT, FechaDeNacimien-


to DATETIME, CONSTRAINT MiRestricciónTabla UNIQUE (Nombre, Apellido,
FechaDeNacimiento))

En el ejemplo siguiente se crea una tabla nueva con dos campos de Texto y un
campo Número entero. El campo SSN es la clave principal.

CREATE TABLE TerceraTabla (Nombre TEXT, Apellido TEXT, SSN INTEGER


CONSTRAINT MiRestricciónCampo PRIMARY KEY)

ALTER TABLE

Agrega un nuevo campo o restricción a una tabla ya existente. Modifica el diseño


de una tabla después de que se haya creado con la instrucción CREATE TABLE.

12
Sintaxis
--------
ALTER TABLE tabla {ADD {COLUMN campo tipo [(tamaño)] [NOT NULL] [CONSTRAINT índice] |
CONSTRAINT índicemúltiplescampos} |
DROP {COLUMN campoI CONSTRAINT nombreíndice} }

La instrucción ALTER TABLE consta de las siguientes partes:


4.8. Consultas SQL 91

13
Parte Descripción
----- -----------

tabla El nombre de la tabla que se va a modificar.


---------------------------------------------------------------------------------
Campo El nombre del campo que se va a agregar o eliminar de tabla.
---------------------------------------------------------------------------------
Tipo Tipo de datos del campo.
---------------------------------------------------------------------------------
Tamaño El tamaño del campo en caracteres (campos Text o Binary).
---------------------------------------------------------------------------------
Indice El índice de campo. Para obtener más información acerca de cómo
construir este índice, vea el tema de la cláusula CONSTRAINT.

---------------------------------------------------------------------------------
Indice de La definición de un índice de múltiples campos que se va a agregar a
multiples tabla. Para obtener más información acerca de cómo construir esta
campos cláusula, vea el tema de la cláusula CONSTRAINT.
---------------------------------------------------------------------------------
Nombre El nombre del índice de múltiples campos que se va a quitar.
índice
---------------------------------------------------------------------------------

Utilizando la instrucción ALTER TABLE, se puede modificar una tabla existente de


diferentes formas:

Utilizar ADD COLUMN para agregar un campo nuevo a la tabla. Especifique el


nombre del campo, el tipo de datos y un tamaño opcional (para campos tipo Text
y Binary). Por ejemplo, la siguiente instrucción agrega una campo tipo Text de 25
caracteres llamado Notas a la tabla Empleados:
ALTER TABLE Empleados ADD COLUMN Notas TEXT(25)

Utilizar la instrucción ADD CONSTRAINT para agregar un índice de múltiples


campos. Para obtener más información acerca de los índices de múltiples campos,
vea el tema de la cláusula CONSTRAINT.

Utilizar la instrucción DROP COLUMN para eliminar un campo. Especifique so-


lamente el nombre del campo.

Utilizar la instrucción DROP CONSTRAINT para eliminar un índice de múltiples


campos. Especifique solamente el nombre del índice a continuación de la palabra
reservada CONSTRAINT.

No puede agregar o eliminar más de un campo o índice a la vez.


92 Capítulo 4. Consultar la base de datos

Puede utilizar la instrucción CREATE INDEX para agregar un índice de uno o


múltiples campos a una tabla, y puede utilizar la instrucción ALTER TABLE o
DROP para eliminar un índice creado con la instrucción ALTER TABLE o CREATE
INDEX.

Puede utilizar NOT NULL en un campo único o dentro de una cláusula CON-
STRAINT con nombre que se aplique a uno o varios campos en una cláusula
CONSTRAINT con nombre. Sin embargo, sólo puede aplicar la limitación NOT
NULL a un campo o cuando se produce un error en tiempo de ejecución.

DROP

Elimina una tabla de una base de datos o un índice de un campo o grupo de campos.

14
Sintaxis
--------
DROP {TABLE tabla | INDEX índice ON tabla}

La instrucción ALTER TABLE consta de las siguientes partes:

15
Parte Descripción
----- -----------

tabla El nombre de la tabla que se va a eliminar o la tabla de la cual


se va a eliminar un índice.
---------------------------------------------------------------------------------
Indice El nombre del índice que se va a eliminar de tabla.
---------------------------------------------------------------------------------

Anotaciones:Debe cerrar la tabla antes de eliminarla o quitar el índice de ella. Tam-


bién puede utilizar la instrucción ALTER TABLE para eliminar un índice de una tabla.
Puede utilizar la instrucción CREATE TABLE para crear una tabla y las instrucciones
CREATE INDEX o ALTER TABLE para crear un índice. Para modificar una tabla, utilice
la instrucción ALTER TABLE.

Ejemplos de DROP

En el ejemplo siguiente se elimina el índice MiÍndice de la tabla Empleados:


DROP INDEX MiÍndice ON Empleados
4.8. Consultas SQL 93

En el siguiente se elimina la tabla Prácticas de la base de datos:


DROP TABLE Prácticas

CREATE INDEX

Crea un índice para un campo o grupo de campos.

16
Sintaxis
--------
CREATE [ UNIQUE ] INDEX índice
ON tabla(campo [ASC|DESC][, campo [ASC|DESC], ...])
[WITH { PRIMARY | DISALLOW NULL | IGNORE NULL }]

La instrucción CREATE INDEX consta de las siguientes partes:

17
Parte Descripción
----- -----------

tabla El nombre de la tabla existente que contendrá el índice.


---------------------------------------------------------------------------------
Indice El nombre del índice que se va a crear.
---------------------------------------------------------------------------------
Campo El nombre del campo o de los campos que se van a indexar. Para
crear un índice de único campo, escriba el nombre del campo entre
paréntesis a continuación del nombre de la tabla. Para crear un
índice de múltiples campos, enumere el nombre de cada campo que se
va a incluir en el índice. Para crear índices descendentes, utilice
la palabra reservada DESC; de lo contrario, se supone que los
índices son ascendentes.
---------------------------------------------------------------------------------

Anotaciones: Para no permitir valores duplicados en el campo o campos de índice de


diferentes registros, utilice la palabra reservada UNIQUE.
En la cláusula opcional WITH puede hacer cumplir reglas de validación. Puede:

No permitir entradas Null en el campo o campos de índice de los registros nuevos


utilizando la opción DISALLOW NULL.

Impedir que se incluyan registros con valores Null en el campo o los campos de
índice utilizando la opción IGNORE NULL.
94 Capítulo 4. Consultar la base de datos

Designar el campo o los campos de índice como la clave principal utilizando la


palabra reservada PRIMARY. Esto significa que la clave es única, por lo que puede
omitir la palabra reservada UNIQUE.
Puede utilizar CREATE INDEX para crear un pseudo índice en una tabla vincu-
lada en un origen de datos ODBC, como SQL Server, que no tenga todavía un
índice. No necesita permiso ni tener acceso al servidor remoto para crear un pseu-
do índice, y la base de datos remota ignora y no le afecta el pseudo índice.
Utilice la misma sintaxis para las tablas vinculadas y nativas. Esto se puede es-
pecialmente útil para crear un índice en una tabla que sea habitualmente de sólo
lectura debido a la carencia de un índice.
También puede utilizar la instrucción ALTER TABLE para agregar un índice de
uno o varios campos a una tabla y puede utilizar la instrucción ALTER TABLE o la
instrucción DROP para quitar un índice creado con la instrucción ALTER TABLE
o CREATE INDEX.
No utilice la palabra reservada PRIMARY cuando cree un nuevo índice en una
tabla que ya tenga una clave principal; si lo hace, se produce un error.

Ejemplos de CREATE INDEX

En el ejemplo siguiente se crea un índice, que consta de los campos TeléfonoParti-


cular y Extensión, en la tabla Empleados:
CREATE INDEX ÍndiceNuevo ON Empleados (TelDomicilio, Extensión)
En el ejemplo siguiente se crea un índice en la tabla Clientes con el campo IdCliente.
Dos registros no pueden tener los mismos datos en el campo IdCliente y no se permiten
los valores Nulo.
CREATE UNIQUE INDEX IdClien ON Clientes (IdCliente) WITH DISALLOW NULL
Para eliminar el índice creado en el ejemplo anterior, se debe utilizar la instrucción
DROP. No se puede eliminar el índice en la vista Diseño de la tabla a menos que también
se elimine la relación en la tabla Clientes. La instrucción siguiente elimina el índice
nuevo mediante el uso de la instrucción DROP:
DROP INDEX IdClien ON Clientes
En el ejemplo siguiente se crea un índice en una tabla vinculada ODBC. La base
de datos remota de la tabla no reconoce el índice nuevo y no se ve afectada por él. El
ejemplo siguiente no funcionará si simplemente lo pega en Microsoft Access; primero
es necesario crear una tabla vinculada ODBC denominada DetallesPedidoODBC.
CREATE UNIQUE INDEX IdPedido ON DetallesPedidoODBC (IdPedido)
4.9. Subconsultas 95

4.9. Subconsultas
Este tipo de consulta consta de una instrucción SQL SELECT dentro de otra con-
sulta de selección o consulta de acción. Puede introducir estas instrucciones en la fila
Campo de la cuadrícula de diseño de la consulta para definir un campo nuevo o bien
en la fila Criterios para definir criterios para un campo.
Usar una subconsulta para definir un campo o definir criterios para un campo
Puede utilizar subconsultas para, por ejemplo, comprobar la existencia de resulta-
dos para la subconsulta, buscar valores en la consulta principal que sean iguales, ma-
yores o menores que valores devueltos por la subconsulta, o para crear subconsultas
dentro de subconsultas.

4.9.1. Crear subconsultas


1. Crear una nueva consulta.

2. En la vista Diseño de la consulta, agregar los campos que se desee a la cuadrícula


de diseño, incluyendo los campos que se quieren utilizar para la subconsulta.

3. Si está utilizando una subconsulta para definir un criterio para un campo, escriba
una instrucción SELECT en la celda Criterios del campo para el que desea estable-
cer un criterio. Coloque la instrucción SELECT entre paréntesis.

4. Si está utilizando una subconsulta para definir una celda de campo, escriba una
instrucción SELECT encerrada entre paréntesis en una celda de campo. Cuando
salga de la celda, Microsoft Access insertará automáticamente ”Expr1:”, ”Expr2:”,
etc., delante de la instrucción SELECT.

5. Para ver los resultados, hacer clic en Vista en la barra de herramientas.

Un ejemplo de consulta con una subconsulta lo tenemos en la figura 4.18.


96 Capítulo 4. Consultar la base de datos

Figura 4.18: Consulta con una subconsulta.


Capítulo 5

Los Formularios de Access

Hasta este momento, nuestra relación con la base de datos y sus tablas se ha desar-
rollado directamente, prácticamente sin intermediarios. Incluso cuando hemos efectua-
do consultas, nos hemos relacionado con los registros y campos (filas y columnas) tal
como ellos se encuentran en las tablas de la base de datos.
Podemos decir que el formulario es una interfaz o intermediario entre las tablas y
el usuario. Su objetivo consiste en presentar al usuario de un modo mas agradable y
cómodo los datos de la tabla con los que va a trabajar.
Los formularios son pantallas o ventanas dentro de las cuales se alojan cuadros de
texto, etiquetas, botones, imágenes, a través de los cuales podemos introducir, extraer o
consultar datos de las tablas. Estos objetos, llamados controles, son fundamentalmente
de dos tipos: los que enseñan o admiten datos de las tablas, y los que muestran la infor-
mación estática, tal como gráficos o textos.

5.1. Creación de formularios


La mejor manera de acercarnos al tema es crear un formulario sencillo sobre la base
de la tabla Clientes. Access tiene un generador de formularios que nos ayudará en el
camino emprendido de generar un formulario. Posteriormente podemos personalizar-
lo añadiéndole o quitándole objetos según nuestras necesidades. Una vez que se haya
adquirido alguna experiencia se podrá diseñar directamente el formulario sin ayuda de
asistentes.
En la figura 5.1 se muestra el primer paso: Estando en la solapa Formularios, de la
base de datos, pulsamos el botón Nuevo. De inmediato aparece la caja de dialogo con
las distintas manera de crear un formulario (nosotros hemos elegido el asistente para
formularios), así como la tabla de la cual se extraerán los campos para mostrarlos en

97
98 Capítulo 5. Los Formularios de Access

Figura 5.1: Creación de un formulario.


5.1. Creación de formularios 99

Figura 5.2: Creación de un formulario con el asistente.

el formulario. Aceptamos y nos aparece la pantalla de la figura 5.2, en la que podemos


apreciar la lista de campos disponibles, (ventana izquierda), de entre los que se eligen
los que se van a introducir en el formulario (ventana derecha).
Se puede advertir que pueden seleccionarse para el formulario, campos pertene-
cientes a mas de una tabla o consulta.
Siguiendo los pasos que indica el asistente, se muestra la posibilidad de distribuir
los campos en la pantalla del formulario, así como las distintas opciones o estilos (cam-
pos y fondos) con los cuales se pueden representar los campos y etiquetas en la pantalla
del formulario, y por último, el asistente nos pide un nombre para el formulario, así
como las opciones finales. Pulsamos el botón Terminar y se nos presenta construido, el
formulario, tal como los vemos en la figura 5.3
Además de los campos seleccionados aparece en el formulario un contador de re-
gistros, y un navegador con el que poder moverse a través de los registros de la tabla.
La vista que nos proporciona la figura 5.4 es la llamada Vista Formulario. Además de
ella también puede accederse al formulario a través de la Vista Diseño. En esta vista de
100 Capítulo 5. Los Formularios de Access

Figura 5.3: Vista del formulario terminado por el asistente.

formulario se dispone de un cuadro de herramientas con los distintos controles que se


pueden utilizar.

5.2. Diseño de formularios: Los controles


El asistente para formularios nos ha ayudado a generar el formulario en bruto, sin
embargo, lo normal es que deseemos añadirle nuevas funcionalidades o modificar en
parte el diseño con el fin de darle una nueva estética o una nueva distribución de los
elementos.
Para ello, deberemos pasar a modo de Diseño. En la ventana de diseño podemos
ver las tres partes básicas del formulario:

1. Encabezado: Aquí se coloca la información que siempre está visible (título, botones,
etc.).

2. Detalle: Contiene los campos de la tabla, etiquetas de texto, gráficos, botones, etc.
Es donde se presentan los datos de los registros.

3. Pie: Similar al encabezado. Aquí se suelen colocar los botones.


5.2. Diseño de formularios: Los controles 101

Figura 5.4: Vistas del formulario y sus distintas zonas.


102 Capítulo 5. Los Formularios de Access

Figura 5.5: Cuadro de herramientas para el diseño.

Los controles son los objetos donde se contiene toda la información del formulario.
En ellos se muestran los datos, sirven para realizar acciones o simplemente para decorar.
En la parte superior de la figura 5.5 podemos ver el cuadro de herramientas con los
controles visuales para el diseño.

5.2.1. Tipos de controles


1. Dependientes: Son los que contienen información de los campos de las tablas. Al
modificar los datos en el control, queda modificada en la tabla.
2. Independientes: No dependen de los campos de las tablas, sino que muestran in-
formación extática, o mejoran la apariencia (líneas, cuadros, etiquetas...)
3. Calculados: Son los que almacenan información proveniente de resultado de ex-
presiones o cálculos.

Veamos en detalle los distintos controles de la figura 5.5. De algunos de ellos,


mostraremos una pequeña imagen explicativa.

5.2.2. Detalle de los controles


Seleccionar objetos: Permite seleccionar objetos con el ratón
5.2. Diseño de formularios: Los controles 103

Figura 5.6: Grupo de opciones.

Etiqueta: Para presentar texto de tipo descriptivo, como títulos, rótulos o breves
instrucciones. Las etiquetas no presentan valores de campos o expresiones; siem-
pre son independientes y no cambian cuando cambia de un registro a otro. Cuando
crea la etiqueta utilizando la herramienta Etiqueta, la etiqueta se mantiene por sí
misma, no está adjunta a ningún otro control. Las etiquetas individuales se uti-
lizan para información, como el título de un formulario o informe, o de otro texto
descriptivo. Las etiquetas individuales no aparecen en la vista Hoja de datos.

Grupo de opciones: Puede utilizar un grupo de opciones en un formulario o in-


forme para presentar un conjunto limitado de alternativas. Un grupo de opciones
hace fácil seleccionar un valor, ya que sólo tiene que hacer clic en el valor que
desee. Sólo se puede elegir una opción cada vez de entre un grupo de opciones.
Un grupo de opciones consiste en un marco de grupo y un conjunto de casillas de
verificación, opciones, o botones de alternar.

Cuadro combinado: Sirve para seleccionar un valor de una lista en vez de tener
que recordarlo y teclearlo. Con un cuadro combinado, puede hacer una de las dos
cosas sin utilizar demasiado espacio en un formulario. Un cuadro combinado es
como un cuadro de texto y un cuadro de lista combinados. La lista en un cuadro
combinado consta de filas de datos. Las filas pueden tener una o más columnas,
que pueden aparecer con o sin encabezados. En la figura 5.7 se muestra cómo ele-
gir el país desde su propia tabla, sin necesidad de teclearlo cada vez. Ello supone
un ahorro de tiempo y menor cantidad de errores.

Cuadro de lista: La lista en un cuadro de lista consiste en filas de datos. Las filas
pueden tener una o más columnas, que pueden aparecer con o sin encabezados. Si
un cuadro de lista de múltiples columnas es dependiente, Microsoft Access guarda
los valores de una de las columnas. Una lista de posibilidades ayuda también a
asegurar que el valor que se ha introducido en el campo es correcto. Es similar al
cuadro combinado. Su unica diferencia es que este se presenta ya desplegado.

Botón de comando: Se utiliza en un formulario para iniciar una acción o un con-


junto de acciones. Por ejemplo, puede crear un botón de comando que abra otro
104 Capítulo 5. Los Formularios de Access

Figura 5.7: Cuadro combinado.

formulario. Para hacer que un botón de comando haga algo, se escribe una macro
o procedimiento de evento y se adjunta a la propiedad AlHacerClic (OnClick) del
botón. Con el Asistente para botones de comando se pueden crear más de 30 tipos
diferentes de botones de comando. Cuando utiliza el Asistente para botones de
comando, Microsoft Access crea por el usuario el botón y el procedimiento de
evento.

Marco de objeto independiente: Inserta un marco para poder introducir un objeto


OLE independiente del contenido del campo

Salto de pagina: Introduce un salto de pagina en el formulario

Subformulario: Permite la introducción de un formulario dentro de otro.

Rectángulo: Introduce un rectángulo en el formulario

Cuadro de texto: Los cuadros de texto se utilizan en un formulario o informe para


presentar los datos de una tabla, consulta o instrucción SQL. Este tipo de cuadro
de texto se llama un cuadro de texto dependiente porque depende de los datos de
un campo. Los cuadros de texto también pueden ser independientes. Por ejemplo,
puede crear un cuadro de texto independiente para presentar los resultados de un
cálculo, o para aceptar la entrada de datos de un usuario. Los datos de un cuadro
de texto independiente no se guardan en ningún sitio.

Botón de opción: Se utiliza en un formulario como un control individual para pre-


sentar un valor Sí/No de una tabla, consulta o instrucción SQL base. Si la opción
está seleccionada, el valor en la tabla Productos es Sí. Si no, el valor es No.

Botón de alternar: Se puede utilizar un botón de alternar en un formulario co-


mo un control individual para presentar un valor Sí/No. Por ejemplo, el botón
de alternar en la siguiente ilustración es un botón dependiente con el campo Sus-
pendido en la tabla Productos. El tipo de dato del campo Suspendido es Sí/No.
5.2. Diseño de formularios: Los controles 105

Cuando se presiona el botón, el valor en la tabla Productos es Sí. Cuando el botón


no está presionado, el valor en la tabla Productos es No.
Los botones de alternar son muy prácticos cuando se utilizan en un grupo de op-
ciones junto con otros botones. En un grupo de opciones, puede ver fácilmente si
un botón está presionado. Pueden utilizarse imágenes en los botones de alternar
en vez de texto. También puede utilizarse el botón de alternar en un cuadro diálo-
go personalizado para aceptar la entrada de datos de los usuarios.

Botón de verificar: Se utiliza para seleccionar valores del tipo Si/No. Puede uti-
lizarse en un grupo de opciones. Puede utilizarse una casilla o botón de verifi-
cación en un formulario o informe como un control individual para presentar un
valor Sí/No de una tabla, consulta o instrucción SQL base. Funciona de modo
similar al botón de alternar.

Imagen: Permite la introducción de una imagen en el formulario para mejorar su


aspecto. Cuando se selecciona, se abre un cuadro de dialogo que permite elegir el
archivo de imagen.

Marco de objeto dependiente: Inserta un marco para poder introducir el valor de


un campo OLE.

Control ficha: Se puede utilizar un control ficha para presentar varias páginas de
información como un solo conjunto de información. Esta posibilidad resulta espe-
cialmente útil cuando se trabaja con muchos controles que pueden ordenarse en
dos o más categorías. Por ejemplo, puede utilizar un control ficha en un formulario
Empleados para separar la información general y la personal.

Línea: Inserta una línea en el formulario.

Otros controles: Abre una lista con más controles para formularios.

5.2.3. Manejo de los controles


Seleccionar: Para modificar los controles del formulario, lo primero que se ha de
hacer es seleccionarlos. Para ello debemos estar en modo de Diseño. El modo para
seleccionar el objeto es ”pincharlo” con el ratón. Al seleccionar un objeto, aparecen
a su alrededor una serie de puntos negros que nos permiten moverlo o cambiarle
de tamaño.

Mover: Cuando se tiene seleccionado un objeto o control, aparece en su vértice su-


perior izquierdo un cuadrado negro que es un poco mayor que los demás. Cuando
acercamos el cursor del ratón a él vemos que este se cambia a una mano. Pulsando
ese punto podemos mover el objeto en el formulario.
106 Capítulo 5. Los Formularios de Access

Redimensionar: También puede cambiarse el tamaño a los objetos seleccionados.


El modo es colocar el cursor en cualquiera de los puntos que rodean al objeto;
en ese momento el cursor se cambia a una flecha doble; se pulsa y se arrastra
manteniendo pulsado el ratón hasta llegar al tamaño deseado.

Añadir: Todo lo que se le agregue a un formulario o un informe es un control.


Los cuadros de texto, etiquetas, cuadros de lista, botones de opción, botones de
comando y líneas son ejemplos de diferentes controles. Si queremos, por ejemplo
añadir una etiqueta al formulario que hemos creado, y situarla en la parte superi-
or como rótulo del formulario, debemos seguir los siguientes pasos: El primero es
abrir sitio en la cabecera del formulario; para ello situamos el cursor en la diviso-
ria de la cabecera y el detalle del formulario; el cursor cambia a una doble flecha
en sentido vertical con una raya cruzada horizontal; pulsamos y arrastramos has-
ta abrir el sitio necesario. El segundo paso es seleccionar la etiqueta del cuadro
de herramientas; el cursor cambia de aspecto al entrar en el formulario (en caso
de etiqueta muestra un letra A); Se sitúa el cursor donde queramos colocar la eti-
queta, se pulsa clic y se arrastra hasta darle el tamaño adecuado; posteriormente
escribiremos dentro de ella el rótulo ( por ejemplo ”Gestión de Clientes” ). Por
supuesto que podemos darle un tipo de letra, tamaño, color, etc. a la etiqueta que
acabamos de incorporar al formulario.

Eliminar: Para eliminar un objeto del formulario basta con seleccionarlo con el
ratón y pulsar la tecla Supr. Pueden eliminarse varios objetos simultáneamente,
sólo hay que tenerlos seleccionados.

Para obtener información sobre un control cuando se le está manejado dentro del
formulario, se le selecciona y se pulsa la tecla F1, apareciendo a continuación una ven-
tana pequeña con información sobre el objeto seleccionado.

5.3. Diseño de formularios: Las propiedades


En Microsoft Access se utilizan las propiedades para determinar las características
de las tablas, consultas, campos, formularios e informes. Cada control de un formula-
rio o informe tiene también propiedades. Las propiedades del control determinan su
estructura, aspecto y comportamiento, así como las características del texto o los datos
que contiene. Las propiedades se establecen mediante la hoja de propiedades. Por ejem-
plo, la figura 5.8 muestra la hoja de propiedades del control que habíamos añadido al
formulario, la etiqueta: De las distintas solapas de la caja de dialogo de las propiedades,
se ha abierto la solapa Todas.
5.3. Diseño de formularios: Las propiedades 107

Figura 5.8: Propiedades el control.

Para acceder a las propiedades de un control, se le selecciona, se pulsa clic con el


botón derecho del ratón que despliega el menú de control, y se elige la opción Propie-
dades
Como vemos, la ventana de propiedades dispone de cinco solapas: Formato, Datos,
Eventos, Otras y Todas. Veamos con brevedad cada una de estas solapas y su correspon-
diente utilidad:

5.3.1. Solapa Formato

Esta solapa contiene todas las propiedades que permiten cambiar el aspecto del
control que tengamos seleccionado. Se muestra en la figura 5.8
La mayoría de las propiedades son listas desplegables que contienen los valores
que admite la propiedad, pero en otras veces al lado del campo de la propiedad aparece
un botón con tres puntos suspensivos. Al pulsarlo aparece una ventana con opciones
disponibles. Por ejemplo en la figura 5.8 se muestran las distintas propiedades desple-
gadas en la solapa Formato de la etiqueta. En la línea segunda se observan los tres
108 Capítulo 5. Los Formularios de Access

puntos.
Como se puede ver, podemos cambiar el aspecto del control variando las distintas
propiedades de la solapa Formato. Si no sabemos para qué sirve alguna propiedad,
podemos pulsar F1 y aparecerá la ayuda correspondiente.
Una cosa es la solapa Formato, y otra la propiedad Formato: La propiedad Forma-
to (Format) afecta sólo a cómo se muestran los datos. No afecta a cómo se almacenan
los datos. Microsoft Access dispone de formatos predefinidos para los tipos de datos
Fecha/Hora, Numérico y Moneda, Texto y Memo, y Sí/No. Los formatos predefinidos
dependen del país especificado al hacer doble clic en Configuración regional en el Panel
de control de Windows. Microsoft Access muestra los formatos apropiados para el país
seleccionado. Por ejemplo, si está seleccionado Inglés (Estados Unidos) en la ficha Con-
figuración regional, 1234.56 en el formato Moneda aparece como $ 1,234.56, pero si está
seleccionado Inglés (Británico) en la ficha Configuración regional, el número aparece
como £ 1,234.56.
Si establece la propiedad Formato (Format) de un campo en la vista Diseño de la
tabla, Microsoft Access utiliza ese formato para mostrar datos en las hojas de datos.
También aplica la propiedad Formato (Format) del campo a los nuevos controles de
formularios e informes.

5.3.2. Solapa Datos

La solapa Datos despliega las propiedades que permiten determinar los datos que
aparecerán en el control que hayamos seleccionado Si el control no es dependiente de
ninguna tabla, como el caso de la etiqueta, esta solapa aparecerá vacía. Si el control es
dependiente, es decir, muestra campos de alguna tabla, entonces sí aparecerán propie-
dades en la solapa Datos.
Como vemos en la figura 5.9 se muestran las propiedades del control correspon-
diente al cuadro conbinado País. Los datos que se introducirán en este campo provienen
de la tabla ”tblPaises”, lo que garantiza una mayor fiabilidad. La propiedad Activado
determina si el control puede recibir el foco, o sea, si en él se van a poder introducir
datos. La propiedad Bloqueado se usa para proteger los datos haciéndolos de sólo lec-
tura. La propiedad Valor predeterminado indica si queremos introducir un valor por
defecto en el campo.

5.3.3. Solapa Eventos (y macros)

Se contienen en la solapa Eventos, aquellas acciones a las que puede responder el


control que tenemos seleccionado. Cada control u objeto responde a unos eventos que
5.3. Diseño de formularios: Las propiedades 109

Figura 5.9: Propiedad Datos del control.


110 Capítulo 5. Los Formularios de Access

Figura 5.10: Propiedad Eventos del control.

no tienen porqué ser iguales a los de otro control.


Qué es un evento ?
Un evento es una acción determinada que se produce en, o con, un objeto particular.
Microsoft Access puede responder a una variedad de eventos: clics del ratón, cambios
en los datos, formularios que se abren o se cierran, y muchos otros. Los eventos son
normalmente el resultado de una acción del usuario.
Usando un procedimiento de evento o una macro, se pueden agregar respuestas
personalizadas a un evento que se produzca en un formulario, informe, o control.
En la figura 5.10 podemos ver la solapa Eventos correspondiente al objeto etiqueta
que tenemos seleccionado. Vemos que al evento Al cerrar se le ha asociado una acción
determinada (procedimiento de evento) definido en otra parte del programa.
Ante un evento determinado (como hacer o pulsar clic con el ratón) se puede res-
ponder con acciones de dos tipos: Procedimientos de eventos o Macros. Mas adelante
profundizaremos en esto.

1. La acción Responder al evento usando un procedimiento de evento.


5.3. Diseño de formularios: Las propiedades 111

2. Responder al evento usando una macro

Cuando se crea un procedimiento de evento para un objeto, Microsoft Access agre-


ga una plantilla de procedimiento de evento nombrada para el evento y el objeto al
módulo de formulario. Todo lo que se necesita hacer es agregar código que responda de
la forma que se desee cuando se produzca el evento en el formulario o informe.
Ejemplo: Crear un botón de Salida del formulario
Supongamos que deseamos añadir un botón a nuestro formulario de Gestión de
clientes para que cuando hagamos clic en él se cierre dicho formulario. Los pasos a
seguir son los siguientes:

1. Seleccionar del cuadro de herramientas un Botón de comando y situarlo dentro


del formulario (en este caso lo situamos en la parte inferior derecha del Pié del
formulario). La figura 5.11 nos muestra la inserción del botón, (de momento, el
botón se llama ”Comando33”) en el lugar indicado.
2. De inmediato se abre una ventana donde se presentas las distintas categorías de
acciones susceptibles de ser utilizadas por este tipo de control. Como se ilustra en
la figura, existen distintas acciones para cada categoría, lo que nos da una muestra
de las distintas posibilidades de asignar acciones a un botón de comando.
3. Una vez elegida la acción Cerrar formulario dentro de la categoría Operaciones
con formularios, se pulsa el botón Siguiente. Se abre una nueva ventana del asis-
tente para botones de comando, en la que se nos piden los datos externos del
botón, es decir si se va a representar la acción por medio de una imagen adecuada
a la acción,(de las que Windows o Access poseen, o que nosotros mismos hayamos
creado), o si en el botón aparecerá una palabra indicativa de la acción.
4. El siguiente paso es asignar un nombre al botón (objeto control). En este caso le
hemos llamado ”Boton Salir”. Este es el nombre del objeto que conoce Access in-
ternamente, y que usa para cualquier acción o referencia a este botón, y que no es
visible para el usuario. Por ello no se debe confundir con la palabra que aparece
en el botón (también podríamos colocar la palabra Salir en la superficie visible del
botón en vez de la imagen).
5. Pulsar el botón Terminar. El asistente desaparece y entramos de nuevo en la ven-
tana de Diseño del formulario, en el cual se encuentra ya perfectamente operativo
el nuevo botón Salir. Para ver los resultados no hay mas que pasar a modo Vista
Formulario. Esta opción se despliega en la parte superior izquierda de la barra de
herramientas, situada bajo el menú Archivo de la barra general de menús.
El resultado lo tenemos en la figura 5.12. Cuando pulsemos el botón Salir, Access
abandonará el formulario.
112 Capítulo 5. Los Formularios de Access

Figura 5.11: Asistente para botones de comando.


5.3. Diseño de formularios: Las propiedades 113

Figura 5.12: Resultado: Formulario con el botón salir.


114 Capítulo 5. Los Formularios de Access

En este ejemplo, la acción de Responder al evento Al hacer clic que hemos uti-
lizado es la de un procedimiento de evento, ya que, si bien no hemos tenido que
escribir ningún código, sin embargo Access lo ha hecho por nosotros mediante el
asistente. Este ha generado el procedimiento de evento e introducido dentro de él
la orden correspondiente a ”Cerrar el formulario”.

18
Private Sub Boton_salir_Click()
On Error GoTo Err_Boton_salir_Click

DoCmd.Close

Exit_Boton_salir_Click:
Exit Sub

Err_Boton_salir_Click:
MsgBox Err.Description
Resume Exit_Boton_salir_Click

End Sub

En el cuadro 18 se muestran las líneas de código correspondientes al Procedimien-


to Boton Salir Click(), cuyo objeto es Boton Salir. El contenido queda comprendido
entre las isntrucciones Private Sub y End Sub. La orden que cierra el formulario es el
comando DoCmd.Close. Como vemos, el código del procedimiento contiene otras
órdenes para el caso de que se produzca algún error.

6. Responder al evento Al hacer clic usando una macro:


Para hacer que se ejecute una macro en respuesta a un evento, la manera sería:
abrir la hoja de propiedades para el formulario o control; buscar la propiedad que
corresponda al evento, y establecerla a la macro que se desee ejecutar. Eso significa
que es necesario tener creada o crear una macro con las acciones correspondientes.
En la figura 5.13 vemos como se establece la acción a la Macro Salir.
Ahora hay que crear la macro que hemos llamado ”Macro Salir”. Para ello guardamos
el formulario. Los pasos para crear una macro son los siguientes:

a) En la ventana Base de datos hacer clic en Macros, bajo Objetos.


b) Haga clic en el botón Nuevo en la barra de herramientas de la ventana Base
de datos.
c) Agregar una acción, (es decir, una instrucción independiente que se puede
combinar con otras acciones para automatizar tareas. A veces se denomina
comando en otros lenguajes de macros) a la macro. Estos son los pasos:
5.3. Diseño de formularios: Las propiedades 115

Figura 5.13: Responder a evento con una macro.


116 Capítulo 5. Los Formularios de Access

Figura 5.14: Macro salir.

1) En la ventana Macros, hacer clic en la primera fila en blanco de la colum-


na Acción. Si desea insertar una acción entre dos filas de acciones, hacer
clic en el selector de la fila de acción que se encuentra justo debajo de la
fila donde desea insertar la nueva acción y, a continuación, hacer clic en
Insertar fila en la barra de herramientas.
2) En la columna Acción, hacer clic en la flecha para presentar la lista de
acciones.
3) Hacer clic en la acción que se desee utilizar.
4) En la parte inferior de la ventana, especifcar los argumentos de la acción,
si es que se requiere alguno. Si se trata de argumentos de acción ( infor-
mación adicional que requieren algunas acciones de macro, por ejemplo,
el objeto al que afecta la acción o condiciones especiales en las que tiene
lugar la acción.) cuyos valores son el nombre de un objeto de base de
datos, para establecer el argumento puede arrastrar el objeto desde la
ventana Base de datos hasta el cuadro del argumento Nombre de objeto
de la acción.
5) Introducir un comentario para la acción. Los comentarios son opcionales.
5.4. Ejecución del formulario 117

5.3.4. Solapa Otras

Esta solapa muestra diversas acciones de tipo general, tales como Nombre ( lo que
permite modificar el nombre del control), y otras que pueden servir de ayuda. Según el
tipo de control, aparecerán unas u otras propiedades.

5.3.5. Solapa Todas

Como es lógico, bajo la solapa Todas, se muestra la suma de las anteriores solapas.

5.4. Ejecución del formulario


Una vez terminado el diseño del formulario, lo primero que debe hacerse es guar-
darlo. De todas formas, antes de cerrarlo, se nos pregunta si deseamos salvar los cam-
bios. Una vez guardado, el formulario debe aparecer con el nombre asignado dentro de
la solapa Formularios de la ventana Base de Datos.
Para ejecutar el formulario puede procederse de varias maneras: Durante la fase
de diseño basta con pulsar el botón Vista, que está situado en la barra de herramientas
debajo de Archivo, en la barra de menús. Otra forma de ejecutar el formulario durante
la fase de diseño es situar el puntero del ratón en la barra de título del formulario, pulsar
el botón derecho del ratón, y elegir la opción Vista formulario de entre las que aparecen
en el menú de contexto.
Si tenemos el formulario cerrado. la manera de ejecutarlo es seleccionarlo en la
solapa Formularios y pulsar el botón Abrir.

5.5. Otros asistentes para formularios


Además del asistente para formularios que hemos venido utilizando, existen otros
asistentes en Access que permiten automatizar la creación de formularios, tal como
aparecen en la figura 5.1. Veámoslos brevemente:

5.5.1. Autoformulario: Columnas

El Autoformulario de columnas genera automáticamente un formulario donde los


campos de la tabla elegida se muestran cada uno en una línea con su correspondiente
118 Capítulo 5. Los Formularios de Access

etiqueta. El proceso para crearlo consiste en pulsar Nuevo estando en la solapa Formu-
larios; elegir el Autoformulario: Columnas, y en el cuadro de texto inferior indicar la
tabla. Una vez aceptado, el proceso se realiza automáticamente y se crea el formulario.

5.5.2. Autoformulario: Tabular

El Proceso se realiza de igual manera. El formulario que se genera muestra los cam-
pos en forma tabular, es decir, cada campo es una columna y cada fila es un registro de
la tabla.

5.5.3. Autoformulario: Hoja de Datos

Al igual que los dos anteriores se genera un formulario cuya vista es igual a la de
Hoja de datos de la tabla.

5.5.4. Asistente para gráficos

Agrega un gráfico al formulario basándose en los datos de una tabla. El Asistente


para gráficos determina, a partir de los datos especificados, si debe mostrar los datos
de todos los campos en un gráfico global o si es más apropiado mostrar un gráfico
vinculado a registros, de modo que al desplazarse de registro en registro pueda ver un
gráfico que represente sólo los datos del registro actual. No obstante, si el Asistente para
gráficos crea un gráfico global y en realidad necesita un gráfico vinculado a registros,
puede vincular el gráfico a un registro específico.
Para utilizar el Asistente para gráficos, hay tener Microsoft Graph instalado. Mi-
crosoft Access no instala Microsoft Graph de forma predeterminada en una configu-
ración típica.

5.5.5. Asistente para tablas dinámicas

Mediante el Asistente para tablas dinámicas, se puede crear un control en un for-


mulario que permite resumir grandes cantidades de datos. Una tabla dinámica es como
una consulta de tabla de referencias cruzadas, pero en la que puede cambiar dinámica-
mente los encabezados de las filas y de las columnas para obtener una vista distinta de
los datos. Un formulario de tabla dinámica es una tabla interactiva que realiza los cálcu-
los elegidos. Por ejemplo, un formulario de tabla dinámica puede presentar los valores
de un campo horizontal o verticalmente y, a continuación, calcular el total de la fila o
columna. También puede usar los valores de un campo como encabezados de filas o
5.6. Subformularios 119

columnas, calculando las cantidades individuales en la intersección de cada encabeza-


do de fila y columna y, a continuación, calcular subtotales y totales. Por ejemplo, para
analizar las ventas por categorías de productos, podría presentar los nombres de los
empleados como encabezados de columna en la parte superior del formulario de tabla
dinámica, las categorías de productos como encabezados de las filas del formulario de
tabla dinámica y el importe de las ventas calculado por categoría de producto para cada
empleado en la intersección de cada fila y columna.
Los formularios de tabla dinámica reciben ese nombre porque es posible cambiar
dinámicamente sus diseños para analizar los datos de diferentes formas. Es posible re-
organizar los encabezados de filas, encabezados de columnas y campos de página hasta
que se consiga el diseño deseado. Cada vez que se modifica el diseño, el formulario
de tabla dinámica inmediatamente vuelve a calcular los datos en función de la nue-
va organización. Además, el formulario de tabla dinámica se actualiza cada vez que
cambian los datos de origen. Los formularios de tabla dinámica se crean en Microsoft
Access utilizando el Asistente para tablas dinámicas. El asistente utiliza Microsoft Excel
para crear la tabla dinámica y Microsoft Access para crear un formulario en el que la
incrusta. Cada vez que se abre un formulario de tabla dinámica, éste muestra los datos
correspondientes a la última vez que se la ha activado.
Para crear el formulario de tablas dinámicas basta con pulsar Nuevo en la solapa
Formularios, elegir el asistente para tablas dinámicas, elegir la tabla y seguir los pasos
que se indican en el asistente. Hay que colocar (arrastrando) los campos en su sitio (fila
o columna) de tal manera que nos proporcionen la información deseada.
El resultado final del proceso es el que muestra la figura 5.17. Vemos que en el
formulario dinámico se ha incrustado la Hoja de Cálculo Microsoft Excel mediante la
cual se presentan en forma de tabla los datos de los pedidos de clientes.

5.6. Subformularios
Los formularios vistos hasta ahora tan sólo utilizan una tabla. Sin embargo, hay
circunstancias en las que se necesita trabajar con datos que están repartidos en dos o
mas tablas relacionadas.
Un subformulario es un formulario dentro de otro formulario. El formulario pri-
mario se llama formulario principal y el otro se llama subformulario. Una combinación
formulario/subformulario se llama a menudo formulario jerárquico, formulario princi-
pal/detalle o formulario principal/secundario.
Los subformularios son muy eficaces cuando se desea mostrar datos de tablas o
consultas con una relación uno a varios29. Por ejemplo, puede crear un formulario con
un subformulario para mostrar los datos de una tabla Categorías y de una tabla Produc-
120 Capítulo 5. Los Formularios de Access

Figura 5.15: Asistente para tablas dinámicas.


5.6. Subformularios 121

Figura 5.16: Asistente para tablas dinámicas: Creación del formulario.


122 Capítulo 5. Los Formularios de Access

Figura 5.17: Formulario de tablas dinámicas: Resultados.


5.6. Subformularios 123

tos. Los datos de la tabla Categorías es el lado üno"de la relación. Los datos de la tabla
Productos constituyen el lado "varios"de la relación, ya que cada categoría tiene más de
un producto.
El formulario principal y subformulario de este tipo de formularios están vincu-
lados para que el subformulario presente sólo los registros que están relacionados con
el registro actual del formulario principal. Por ejemplo, cuando el formulario principal
presenta la categoría Bebidas, el subformulario muestra sólo los productos de la catego-
ría Bebidas.
Un formulario principal puede tener cualquier número de subformularios si coloca
cada subformulario en el formulario principal. Puede anidar hasta dos niveles de sub-
formularios. Esto significa que puede tener un subformulario dentro de un formulario
principal y que puede tener otro subformulario dentro de ese subformulario. Por ejem-
plo, podría tener un formulario principal que mostrara los clientes, un subformulario
que presentara los pedidos y otro subformulario más que mostrara los detalles de los
pedidos.

5.6.1. Creación de Subformularios

Supongamos que deseamos añadir al formulario de clientes un subformulario donde


se muestren los pedidos de cada cliente. para ello utilizaremos el formulario ya existente
frmClientes, dentro del cual se incrustará el subformulario.
Las tablas que van a intervenir son tblClientes y tblPedidosClientes. Lo primero
que debemos tener en cuenta es que ambas deben estar relacionadas con la relación
Uno a Varios.
Los pasos que deberemos seguir son los siguientes:

1. Pulsar el botón Nuevo de la solapa Formularios, elegir la opción Asistente para


formularios, elegir la tabla tblPedidosClientes y pulsar Aceptar. Si tenemos abierto
el de clientes, se trae del cuadro de herramientas el subformulario y se coloca en
el hueco del formulario frmClientes.

2. Después se seleccionan los campos de la tabla tblPedidosClientes que se desa


aparezcan en el subformulario.

3. En la ventana del asistente que nos presenta el modo en que se verán los datos en
el formulario.

4. Lo siguiente es pulsar el botón Terminar. El resultado es la creación de un subfor-


mulario incrustado en el formulario frmClientes, tal como aparece en la figura 5.3.
En ella se muestran dos áreas distintas: El área con los datos del cliente en la parte
124 Capítulo 5. Los Formularios de Access

Figura 5.18: Creación de un subformulario.


5.6. Subformularios 125

Figura 5.19: Formulario de clientes y su pedidos.

superior, que contiene su propia botonera para moverse por los registros de la
tabla tblClientes y el área central en la que aparecen los pedidos correspondientes
al cliente actualmente seleccionado.
Acerca de los subformularios podríamos añadir que también es posible agregar
a un formulario creado con anterioridad un subformulario. La forma de crear el
subformulario es a través de la barra de herramientas (activar el botón Asistentes
para controles y el botón Subformularios de la misma barra de herramientas). Con
ellos activados se lleva el cursor dentro del formulario anterior (el cursor cambia a
una pequeña cruz) y allí se pulsa y arrastra hasta crear el sitio del subformulario.
De inmediato aparece el asistente para subformularios; sólo hay que seguir sus
directrices.
Capítulo 6

Documentos impresos: Informes y


etiquetas

Hasta ahora hemos visto las distintas formas de manipulación de los datos: Tablas,
Consultas, Formularios, etc„ pero esos datos que hemos almacenado, en algún momen-
to deberemos presentarlos en forma impresa. Access proporciona todas las herramien-
tas necesarias para generar los tipos de impresos: Los Informes y las Etiquetas.

6.1. Informes
Los informes son la forma efectiva de presentar los datos en formato impreso. Los
informes de Access poseen propiedades que controlan los distintos aspectos y elemen-
tos, y que en definitiva mejoran la presentación de los datos.
La mayor parte de la información en un informe proviene de una o varias tablas,
consultas o instrucción SQL. Ese es el origen de los datos del informe. Hay otra infor-
mación del informe que se almacena en el diseño del informe, la que atañe a los objetos
y modos de presentar los datos.
Veamos en primer lugar los distintos tipos de informe que ofrece Access para entrar
a continuación en el proceso de creación o generación de los informes.

6.1.1. Clases de informes

Informe tabular

Presenta los datos de los registros de la tabla en forma de filas, donde cada campo
es una columna. Una muestra de este tipo de informe la tenemos en la figura 6.2

127
128 Capítulo 6. Documentos impresos: Informes y etiquetas

Figura 6.1: Asistentes para diseñar informes.

Figura 6.2: Informe tabular.


6.1. Informes 129

Figura 6.3: Informe en columnas.

Informe de columnas

Muestra todos los campos en una sola columna, normalmente alineada a la izquier-
da de la pagina: Ver figura 6.3.

Etiquetas

Muestra los campos impresos como etiquetas de correo. Lo veremos mas adelante.

6.1.2. Grupos totales

Este tipo de informe permite obtener los registros de la tabla sobre la que se realiza
el informe agrupados por los valores de uno o varios campos.

Resumen

Funciona como el tipo anterior de Grupos pero solo muestra la información de los
campos numéricos.
130 Capítulo 6. Documentos impresos: Informes y etiquetas

6.1.3. Creación de informes

Podemos crear un informe directamente, sin ayudas o hacer que Microsoft Access
cree un informe automáticamente mediante uno de los asistentes para informes. Un
asistente para informes acelera el proceso de creación ya que hace todo el trabajo básico.
Cuando usamos un asistente para informes, éste nos pide información y crea un informe
basado en nuestras respuestas. Aunque hayamos creado muchos informes, puede que
deseemos utilizar un asistente para organizar rápidamente el informe, y después cam-
biar a la vista Diseño para personalizarlo.

Creación de informes con asistente

Como en capítulos anteriores, vamos a elaborar un informe sobre la tabla tblClientes


en forma de listado. Seguimos los pasos señalados en los casos anteriores. Nos irán
apareciendo las ventanas del asistente, de modo parecido a la del formulario.

1. En la ventana Base de datos, pulsar clic en la ficha Informes.

2. Elegir Nuevo.

3. En el cuadro de diálogo Nuevo Informe, elegir el asistente a utilizar.

4. Seleccionar la tabla o consulta que contiene los datos en los que se desea basar el
informe.

5. Pulsar clic en Aceptar.

6. Si hemos elegido el Asistente para informes, Asistente para gráficos o Asistente


para etiquetas en el paso 3, hay que seguir las instrucciones de los cuadros de
diálogo del asistente. Si hemos seleccionado Autoinforme: tabular o Autoinforme:
en columnas, Microsoft Access creará automáticamente el informe.

Una vez terminada la operación vemos el resultado en la figura


Además de este aspecto, en que hemos distribuido los datos por pasos. el informe
podría tener otro aspecto, conteniendo los mismos datos, es decir agrupando los objetos
de otra manera
Si el informe obtenido no tiene el aspecto deseado, podemos cambiarlo en la vista
Diseño. Podríamos ajustar los espacios para que los campos estén mas proporcionados,
podríamos también adornar la cabecera con el fin de hacer mas agradable el informe.
Al tiempo que hacemos las modificaciones oportunas, vamos a analizar las distintas
partes o secciones en las que se divide un informe:
6.1. Informes 131

Figura 6.4: Informe de clientes.

6.1.4. Secciones del informe

La información de un informe puede dividirse en secciones. Cada sección tiene un


propósito específico y se imprime en un orden previsible en la página y en el informe.
En la vista Diseño, las secciones se representan como bandas y cada sección contenida
en el informe se representa una vez. En el informe impreso, algunas secciones pueden
repetirse varias veces. Usted determina dónde aparece la información en cada sección
colocando controles, como etiquetas y cuadros de texto.

Encabezado del informe: Una etiqueta llamada vendedordivision que vamos a


rotular con la frase ”Previsión de ventas por vendedor y división”

Encabezado de la página: Se escribe aquí lo que deseemos que aparezca en la parte


superior de cada una de las páginas. En este caso vamos a colocar como cabecera,
lo nombre de las distintas columnas o campos de la tabla: División, código, nom-
bre, etc. En este caso, además de la cabecera de página, queremos destacar que el
listado es por divisiones, para ello vamos a introducir un encabezado de División.
Esto hará que podamos agrupar todos los resultados de cada división comercial.

Detalle: En esta parte del informe es donde se incluyen los campos de la tablas que
deseamos imprimir.

Pié de página: Se coloca aquí la información que debe aparecer en la parte inferior
de cada página. En este caso a la izquierda aparecerá la fecha de hoy en formato
132 Capítulo 6. Documentos impresos: Informes y etiquetas

Figura 6.5: Secciones del informe.


6.1. Informes 133

Figura 6.6: Previsión de ventas por divisiones.

largo; a la derecha aparecerá impreso el número de página y el total de ellas. Por


supuesto, que pueden hacerse las modificaciones que se deseen.

Pié del informe: Es donde se imprime la información del final del informe.
El informe modificado quedaría tal como lo muestra la figura 6.6:

La manera de realizar modificaciones en el diseño de los informes sigue el mismo


proceso que las que se realizan en los formularios.
Además de las secciones que se crean con la ayuda del asistente, cada usuario
puede crear o eliminar secciones de acuerdo con el diseño del informe.

Crear y eliminar Secciones del informe

Para crear o añadir secciones en un informe se siguen los pasos:


Desde la ventana de Diseño se pulsa la opción Ordenar y Agrupar. Aparece la Venta
Ordenar y Agrupar. En ella se pueden elegir aquellos campos de la tablas que se desee
134 Capítulo 6. Documentos impresos: Informes y etiquetas

agrupar en una sección. Basta con pulsar en una línea en blanco y elegir un campo. Cada
sección o grupo tiene una serie de propiedades.
El modo de eliminar la secciones sigue el mismo procedimiento: Se abre la ventana
Ordenar y Agrupar, se marca el campo cuya sección se desee eliminar, y se pulsa el
botón Suprimir.
Igualmente se pueden introducir en el informe saltos de página con el fin de hacer
la información más presentable. Para introducir saltos de pagina, basta con Pulsar clic
en el control salto de página que está situado en la barra de herramientas y situarlo en
el sitio del informe donde queramos que se inicie una nueva pagina.

6.2. Etiquetas
Como decíamos arriba, las etiquetas está muy relacionadas con los informes. Como
ejercicio, vamos a crear unas etiquetas con los datos de cada cliente de nuestra tabla.

6.2.1. Creación de etiquetas

Para crear etiquetas, lo primero que debemos hacer es pulsar Nuevo en la solapa de
Informes, elegir la opción Asistente para etiquetas y seleccionar la tabla. De inmediato
aparece el asistente para etiquetas como muestra la figura 6.7.
El paso siguiente es elegir el tipo y tamaño de letra para las etiquetas, así como los
campos de la tabla que aparecerán en cada etiqueta. En la siguiente pantalla del asistente
elegimos el campo por el cual se van a ordenar las etiquetas. Después habremos de
poner un nombre al informe de etiquetas que se está generando.
Este diseño genera una pagina con varias etiquetas. En este caso elegimos dos eti-
quetas a lo ancho. El resultado aparece en la figura 6.8.
En cuanto al formato de las etiquetas, existen gran variedad de ellos con las distin-
tas medidas del mercado. Pero si deseamos hacer un formato propio podemos hacerlo
con el botón Personalizar. Mediante esta opción es posible diseñar cualquier tipo de
etiqueta que necesitemos.
6.2. Etiquetas 135

Figura 6.7: Asistente para el diseño de etiquetas.

Figura 6.8: Etiquetas de clientes.

También podría gustarte