You are on page 1of 135

Introducin a las bases de datos

con Microsoft Access

Gestin informatizada del


subsistema comercial
2 Ciclo / 2 Curso
Tema 9

Dpto. de Economa Financiera y Direccin de Operaciones


(c)Antonio Paredes Moreno
Universidad de Sevilla

Resumen
Estas pginas responden al proposito de servir como material de base para el estudio del tema Modelizacin de la gestin comercial a travs de los sistemas gestores de bases
de datos, para los alumnos que cursan la asignatura Gestin informatizada del subsistema comercial en la Licenciatura en investigacin y tcnicas de mercado. Para ello
utilizaremos como herramienta de trabajo la aplicacin ms 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 ms 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
aplicacin, desde la pantalla inicial.
Para el aprendizaje de bases de datos con MsAccess 200x, se emplean tanto la forma manual de realizar las operaciones, como con la ayuda de los distintos asistentes
incrustados en la herramienta.
Se inicia mostrando el diseo de la base de datos: Qu son y como se crean e importan las tablas; como se manejan, modifican; qu son y como se crean las relaciones
e indices; Una vez diseada la estructura, se describe como se insertan, manejan y consultan los datos en las tablas.
Otro captulo lo integra todo el proceso de aprendizaje acerca de las consultas, sus
creacin, ejecucin, distintos tipos, operadores a utilizar. Adems de la creacin en forma visual, se introduce el lenguaje SQL y sus instrucciones fundamentales, as como las
subconsultas.
Se dedica un captulo al estudio detallado de los formularios y subformularios,
describindose los distintos controles visuales, as como la codificacin de eventos y
acciones.
Por ltimo, dedicamos un captulo al aprendizaje de las salidas impresas, es decir,
a los informes y etiquetas.
Para hacer ms amigable y eficaz el aprendizaje, se incrustan figuras y ejemplos
adecuados a la temtica que se va exponiendo a lo largo de las pginas.

ndice general
1. Introduccin a Microsoft Access

13

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


2. El entorno de Access

15

2.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.1.1. El Diseo de una base de datos . . . . . . . . . . . . . . . . . . . . . 20
3.1.2. Tipos de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.1.3. Relacin entre tablas . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2. Crear una base de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2.1. Diseo y Planificacin de las tablas . . . . . . . . . . . . . . . . . . . 24
3.2.2. Propiedades de los campos . . . . . . . . . . . . . . . . . . . . . . . 27
3.2.3. Proceso de creacin de la tabla . . . . . . . . . . . . . . . . . . . . . 30
3.2.4. Modificacin de una tabla . . . . . . . . . . . . . . . . . . . . . . . . 30
3.2.5. Otras formas de creacin 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

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. Introduccin 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. Creacin de una consulta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52


4.2. Campos de la consulta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.3. Condiciones de la consulta: Simples y compuestas . . . . . . . . . . . . . . 52
4.4. Operadores lgicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.4.1. El Operador Y (AND) . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.4.2. El Operador O (OR) . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.4.3. El Operador Negacin . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.4.4. La expresin Nulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.5. Operaciones con la consulta . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.6. Otros ejemplos de consulta . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.6.1. Consultas de Seleccin . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.6.2. Consultas de parmetros . . . . . . . . . . . . . . . . . . . . . . . . 61
4.6.3. Consultas de referencias cruzadas . . . . . . . . . . . . . . . . . . . 64
4.6.4. Cmo 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 aaden 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 unin . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.8.3. Cmo crear una consulta de unin . . . . . . . . . . . . . . . . . . . 80
4.8.4. Consulta de paso a travs . . . . . . . . . . . . . . . . . . . . . . . . 86
4.8.5. Como crear una consulta de paso a travs . . . . . . . . . . . . . . . 86
4.8.6. Consulta de definicin de datos . . . . . . . . . . . . . . . . . . . . . 88
4.9. Subconsultas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
4.9.1. Crear subconsultas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
5. Los Formularios de Access

97

5.1. Creacin de formularios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97


5.2. Diseo 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. Diseo 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. Ejecucin 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 grficos . . . . . . . . . . . . . . . . . . . . . . . . . . 118
5.5.5. Asistente para tablas dinmicas . . . . . . . . . . . . . . . . . . . . . 118
5.6. Subformularios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
5.6.1. Creacin 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. Creacin de informes . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
6.1.4. Secciones del informe . . . . . . . . . . . . . . . . . . . . . . . . . . 131
6.2. Etiquetas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
6.2.1. Creacin de etiquetas . . . . . . . . . . . . . . . . . . . . . . . . . . 134

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. Creacin de una base de datos. . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.4. Creacin 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. Relacin Uno a Varios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.11. Relacin Varios a Varios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.12. Relacin uno a uno.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

3.13. Relacionar tablas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42


3.14. Bsqueda de campos relacionados.
3.15. Bsqueda de registros en la tabla.
3.16. Filtrado de datos en la tabla.

. . . . . . . . . . . . . . . . . . . . . . 46
. . . . . . . . . . . . . . . . . . . . . . . 48

. . . . . . . . . . . . . . . . . . . . . . . . . . 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 parmetro.
4.7. Consulta de dos parmetros.

. . . . . . . . . . . . . . . . . . . . . . . . . . . 62
. . . . . . . . . . . . . . . . . . . . . . . . . . 63

4.8. Consulta de referencias cruzadas.

. . . . . . . . . . . . . . . . . . . . . . . 66

4.9. Consulta de referencias cruzadas.

. . . . . . . . . . . . . . . . . . . . . . . 68

4.10. Consulta de eliminacin de registros.

. . . . . . . . . . . . . . . . . . . . . 70

4.11. Botones de prueba y ejecucin de consultas.


4.12. Consulta de datos anexados.

. . . . . . . . . . . . . . . . . 71

. . . . . . . . . . . . . . . . . . . . . . . . . . 73

4.13. Consulta de actualizacin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75


4.14. Consulta de varias tablas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.15. Consultas SQL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.16. Consulta de unin bsica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
4.17. Consulta de paso a traves. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
4.18. Consulta con una subconsulta. . . . . . . . . . . . . . . . . . . . . . . . . . 96
5.1. Creacin de un formulario. . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
5.2. Creacin 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 diseo. . . . . . . . . . . . . . . . . . . . . 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 botn salir.

. . . . . . . . . . . . . . . . . . . 113

5.13. Responder a evento con una macro. . . . . . . . . . . . . . . . . . . . . . . 115


5.14. Macro salir.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

5.15. Asistente para tablas dinmicas. . . . . . . . . . . . . . . . . . . . . . . . . 120


5.16. Asistente para tablas dinmicas: Creacin del formulario.
10

. . . . . . . . . 121

5.17. Formulario de tablas dinmicas: Resultados. . . . . . . . . . . . . . . . . . 122


5.18. Creacin de un subformulario. . . . . . . . . . . . . . . . . . . . . . . . . . 124
5.19. Formulario de clientes y su pedidos. . . . . . . . . . . . . . . . . . . . . . . 125
6.1. Asistentes para disear informes.

. . . . . . . . . . . . . . . . . . . . . . . 128

6.2. Informe tabular. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128


6.3. Informe en columnas.
6.4. Informe de clientes.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

6.5. Secciones del informe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132


6.6. Previsin de ventas por divisiones. . . . . . . . . . . . . . . . . . . . . . . . 133
6.7. Asistente para el diseo de etiquetas.

. . . . . . . . . . . . . . . . . . . . . 135

6.8. Etiquetas de clientes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

11

Captulo 1
Introduccin a Microsoft Access
1.1.

Iniciar y salir de Access

Con el fin de no hacer demasiado extensas esta pginas de acercamiento a MsAccess, vamos a suponer ya instalada la aplicacin en el ordenador con el sistema operativo Windows.
Para entrar en Access se pulsa Inicio en la barra de tareas, y en el men que se despliega, se elige Programas, y dentro de este Microsoft Access. Otro modo ms cmodo
podra 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 opcin Salir que se encuentra al final del men Archivo. Otra forma de salir
el pulsar el pequeo botn de la parte superior derecha, con el smbolo del aspa o la X,
que es el que utiliza Windows para cerrar sus aplicaciones.

1 Creacin

de acceso directo: Pulsar el botn derecho del ratn, 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

Captulo 1. Introduccin a Microsoft Access

Figura 1.1: Pantalla inicial de Access.

Captulo 2
El entorno de Access
2.1.

Introduccin

El entorno de Access se compone de la ventana o marco dentro del cual realizaremos 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 sealar que contamos con el ayudante de Office
: Se trata del componente llamado Clipo (Se trata de un clip) , quien amigablemente
nos ofrece ayuda segn la tarea que estemos desarrollando. Para que aparezca basta
con pulsar el botn derecho de la barra de herramientas, que aparece con un signo de
interrogacin dentro de una vieta.
Tambin contamos con es sistema de ayuda clsico, es decir, la tecla F1, que nos
brinda informacin sobre la accin u objeto donde nos encontramos y su contexto. Es-

Figura 2.1: Ayudante de Access.

15

16

Captulo 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), abrindose una ventana de tres solapas. El contenido de esta ayuda es prcticamente un manual de la aplicacin.
En la ventana principal, se encuentran los siguientes elementos:
La barra de ttulo: Situada en la parte superior, de color azul y con el titulo Microsoft Access. A la derecha los tres botones de Windows (Cerrar, Maximizar, Minimizar).
La barra de mens: Situada inmediatamente debajo de la barra de titulo. Contiene
los tpicos mens desplegables de Windows: Archivo, Edicin, Ver, Insertar, Formato, Registro, Herramientas, Ventana y Ayuda.
La barra de herramientas: Con las distintas funcionalidades. Se las puede mover y
recolocar, simplemente con el ratn. Se dispone de un men emergente (al pulsar
el botn derecho del ratn 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 sealadas, es lo que constituye el rea de


trabajo de Access . En la parte inferior se encuentra la Barra de estado, en cuya parte
izquierda aparecern los mensajes de la aplicacin. En su parte derecha se muestra la
situacin de algunas teclas ( maysculas, numrico, insertar...)

2.3.

Los ayudantes de Access

Aunque los iremos sealando en su momento oportuno, slo diremos por el momento, 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
Grficos
Vnculos HTML
Publicacin en Web
Existen muchos ms asistentes. Para ver una relacin ms completa buscar el termino asistentes en el ndice de la ayuda.

Captulo 3
Las Bases de datos de Access
3.1.

Introduccin

Como decimos, nada ms 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 bsicos sobre las bases de datos.
Una base de datos es un conjunto de datos que pertenecen al mismo contexto, almacenados sistemticamente para su posterior uso. En este sentido, una biblioteca puede
considerarse una base de datos compuesta en su mayora por documentos y textos impresos en papel e indexados para su consulta. En informtica existen los sistemas gestores de bases de datos (SGBD), que permiten almacenar y posteriormente acceder
a los datos de forma rpida y estructurada. Las aplicaciones ms usuales son para la
gestin de empresas e instituciones pblicas. 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 informacin de un indi-

Figura 3.1: Parte de una tabla Access.

19

20

Captulo 3. Las Bases de datos de Access

viduo o unidad (en este caso un cliente). Cada columna es un atributo o caracterstica
del registro o individuo. Es lo que se llama un campo del registro. Los campos de cada
registro deben ser homogneos, es decir deben contener el mismo tipo de informacin
(por ejemplo, el CIF o el nombre).

3.1.1.

El Diseo de una base de datos

Se compone fundamentalmente de tres etapas:


1. Diseo conceptual: Consiste en la recopilacin de los aspectos reales de aquellos
objetos sobre los que tratar la base de datos y la creacin de un modelo conceptual
de tales aspectos.
2. Diseo lgico: Partiendo del anterior se construyen las distintas tablas que componen la base de datos.
3. Diseo fsico: Se concretan las tablas en ficheros fsicos por medio de una determinada aplicacin de software, como por ejemplo la Access .
Organizacin de los datos: Para que la informacin realmente nos preste un servicio
eficaz, hay que ordenarla. De poco nos valdr la gua telefnica si no estubiera ordenada. Si queremos organizar nuestra biblioteca, debemos decidir qu concepto, o sea qu
columna o campo vamos a tomar como clave (ya sea el ttulo, 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 registros (que pasara 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 ms registros.
A cada valor de la clave le corresponde una sola fila (clave nica). Se llama clave primaria a la columna por la cual se identificar a la tabla. En el caso de los libros, la clave
primaria sera el cdigo del libro, en el caso de un proveedor o cliente, sera el CIF (u
otro cdigo 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 ttulo del libro se compone de caracteres alfanumricos, en tanto
que la edicin se compone de datos numricos. Entre los tipos de datos que contempla
Access, estos son los los fundamentales. Mas adelante se profundizar ms:
1. Datos alfanumricos: Caracteres y aquellos nmeros no susceptibles de clculo.

3.2. Crear una base de datos

21

2. Datos numricos: Nmeros y cifras susceptibles de clculo.


3. Datos de fecha: Magnitudes temporales, aos, meses, das, etc.
4. Datos lgicos: Los que tienen slo dos valores posibles (s o no; verdadero o falso;
0 o 1, etc.)

3.1.3.

Relacin entre tablas

Despus de disear 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 informacin sobre los clientes de
un almacn que distribuye accesorios de cocina al por mayor. El almacn puede tener,
adems, una base de datos aparte para los pedidos de los clientes, incluyendo campos
para el cdigo del cliente, el cdigo de la mercanca, el precio unitario, la cantidad solicitada 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 cdigo de cliente en comn (vase
fgura 3.2).
Buscando el cdigo de cliente en la lista de correos y enfrentndolo con el del formulario de pedidos, el gestor de base de datos puede determinar, quin 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, diseadas en papel las tablas y definidas las relaciones entre ellas, retomamos el proceso iniciado al comienzo de este captulo. Vamos
a crear una base de datos utilizando como herramienta el gestor de bases de datos Access . Antes deberamos 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 ventana que aparece al iniciarse Access, marcando la opcin base de datos en blanco. De
inmediato nos aparece la ventana Archivo nueva base de datos en la que nos solicita

22

Captulo 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

Figura 3.3: Creacin de una base de datos.

23

24

Captulo 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 corresponden a los tipos de objetos que puede contener nuestra base de datos: Tablas, Consultas,
Formularios, Informes, Pginas, Macros y Mdulos. Existen tres botones en el panel superior: Nuevo (crear un nuevo objeto, segn la solapa activada); Diseo (modificar el
objeto creado) y Abrir el objeto en cuestin.

3.2.1.

Diseo y Planificacin de las tablas

Una vez creada la base de datos, lo primero es crear la o las tablas que la componen. El proceso es el siguiente: Seleccionar el epgrafe Tablas y pulsar el botn Nuevo.
Aparece la ventana Nueva tabla que contiene varias posibilidades:
Vista Hoja de datos: Para crear una tabla con apariencia de hoja de clculo.
Vista Diseo: Permite disear paso a paso la tabla; es la forma normal de crear las
tablas.
Asistente para tablas. Llama al programa de ayuda para creacin 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 aadir los datos de
tablas externas sin tener que importarlas y respetando el formato original.
Elegimos Vista de diseo, y nos aparece la pantalla Tabla, sobre la que trabajaremos 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 espacios en blanco, ni punto ni admiracin no corchetes ni acentos. En una misma
tabla no se pueden definir dos campos con el mismo nombre. Se debe poner a cada 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 extensin mdb

3.2. Crear una base de datos

Figura 3.4: Creacin de la estructura de una tabla.

25

26

Captulo 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. Vemoslos con detenimiento en la figura 3.6.
Los tipos de datos Numrico, Fecha/Hora, Moneda y S/No disponen de formatos
de visualizacin predefinidos. Establezca la propiedad Formato para seleccionar
uno de los formatos disponibles para cada tipo de datos. Tambin puede crear un
formato de visualizacin personalizado para todos los tipos de datos excepto para
el tipo de datos Objeto OLE.
3. Descripcin: 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 diseo de la tabla. El contenido de
las solapas General y Bsqueda, que en la figura 3.5 aparecen vacas, cambiar segn 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
cdigo (nombre del campo), y como tipo de campo elegimos Texto. De inmediato se
llenan de contenido las solapas General y Bsqueda. Dicho contenido cambiar si nosotros 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. Tamao: Pulsemos la solapa General: la primera propiedad es el tamao del campo. En nuestro caso, en el campo cdigo del cliente2 introducimos la cantidad de
caracteres que preveamos, en este caso 6. El campo cdigo es importante, ya que
ser la clave. En los dems campos, no tiene demasiada importancia que podamos
equivocarnos al elegir un tamao demasiado largo o corto, ya que posteriormente podremos rectificar modificando adecuadamente los tamaos. 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 numrico, cuyo
tamao 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 razn social de
cada cliente.
2. Formato: Otra propiedad es el formato. Con ella podemos definir la forma en que
Access muestra la informacin almacenada en el campo. El formato no afecta a
cmo se almacenan los datos, solamente al modo de presentarlos. Si el campo es
numrico, podemos hacer que aparezca con los separadores de millar, si se trata de
fechas, que estas aparezcan con texto o con nmeros, etc. para los tipos numricos
y de moneda, existen cinco formatos: Moneda (presenta los nmeros con el smbolo del euro), Fijo (sin separadores de miles), Estndar (con separadores de miles),
Porcentaje (multiplica por 100 y aade el carcter de procentaje) y Cientfica (notacin cientfica estndar).
Para personalizar los distintos formatos, es aconsejable hacer pruebas con ellos,
hasta encontrar los mas adecuados par los campos de nuestras tabla.
3. Mscara: La propiedad mscara es la encargada de que los datos introducidos
en el campo se ajusten a un formato predefinido. La mscara se compone de tres
partes separadas por punto y coma: la primera parte de la mascara utiliza unos
cdigos o caracteres de acuerdo al tipo de datos que se van a mostrar
2 Aunque

est formado por caracteres numricos, hay que considerarlo como de de texto, para que la
extensin sea siempre la misma, y no se pierdan los ceros a la izquierda.

28

Captulo 3. Las Bases de datos de Access

Figura 3.6: Tipos de datos de los campos.

3.2. Crear una base de datos

Carcter
-------0, 9, #
L, ?,A,a
&,C
.,:;-/
<
>
!

29

Utilizacin
----------Dgitos
Letras
Cualquier carcter
Marcadores
Convierte a minsculas
Convierte a maysculas
Se rellena de derecha a izquierda

La segunda parte de la mscara define si deben almacenarse los caracteres literales


mostrados, y la tercera parte indica el carcter 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 da).Incluso pueden almacenarse
expresiones o frmulas complejas. Pulsando los tres puntos de la derecha aparece
una ventana en la que podemos crear estas expresiones o frmulas.
6. Regla de validacin: Con ella podemos definir los limites de los valores a introducir 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 validacin: Es el texto que explica la propiedad anterior.
8. Requerido: Esta propiedad indica si el campo puede quedar vaco o no. Si el campo en cuestin es un campo clave, es til aplicarle la propiedad de Requerido = Si,
para que no quede nunca vaco.
9. Permitir longitud 0: Su valores pueden ser igualmente Si o No. Slo 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 duplicados en el campo seleccionado.

30

3.2.3.

Captulo 3. Las Bases de datos de Access

Proceso de creacin de la tabla

Teniendo a la vista la figura 3.5, retomamos el proceso de creacin de una tabla:


En la columna Nombre del campo introducimos los nombres de cada campo o atributo. En la columna Tipo de datos introducimos los tipos correspondientes a los datos,
segn hemos visto ms arriba, y en la columna Descripcin, cuyo contenido no es obligatorio, 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
opcin 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 disear
la nueva tabla copiando de otra los campos: El proceso es el siguiente:
1. Estando en la ventana de diseo, situarse el la columna que se desee agregar.
2. Pulsar el botn derecho del ratn; aparecer un pequeo men emergente; elegir la opcin Generar, y aparecer el Generador de campos a partir de tablas
anteriores.
3. Seleccionar la tabla y el campo que servirn de ejemplo. Con doble clic sobre el
campo, este ser copiado en la tabla que se est creando.

3.2.4.

Modificacin de una tabla

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


creacin 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 Edicin5. Una
vez eliminada la fila (del campo) todas las dems filas se movern hacia arriba.
Insertar un campo: Otra modificacin consiste en insertar filas a la estructura de
la tabla. Para ello se sita 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 ratn sobre el selector de la fila y arrastrarlo hasta la
posicin deseada.

3.2. Crear una base de datos

31

Cambiar el contenido de la fila: o sea el Nombre, Tipo de datos o Descripcin 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 numrico, Access avisa de que se van a perder
los datos de ese campo.

3.2.5.

Otras formas de creacin de tablas

Anteriormente, en el epgrafe 3.2.3 elegimos la Vista de diseo para crear una tabla,
sin embargo veamos 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 travs de ventanas para crear la nueva tabla. El inconveniente 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 botn 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 deseamos crear y despus seleccionar los campos de ejemplo3 .
2. Pulsar el botn Siguiente, asignar nombre a la tabla, elegir el campo que ser la
clave principal. (Si decidimos asignar nosotros la clave principal, entonces nos preguntar qu campo ser la clave; si le dejamos esta decisin al asistente, entonces
elige como clave principal el primer campo de la tabla.
3. Se pueden establecer relaciones con otras tablas, como veremos ms adelante.
4. La ltima ventana antes de crear la tabla nos pregunta qu hacer al terminar: Modificar manualmente el diseo, introducir datos directamente en la tabla, o introducir datos en la tabla a travs de un formulario o pantalla que crea el propio
asistente.
3 Con

>> quedan seleccionados todos los campos.

32

Captulo 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 opcin a la hora de crear una tabla, Access crea automticamente
una especie de hoja de clculo con 20 campos (llamados Campo1, Campo2. etc.) en la
cual se pueden introducir datos de inmediato. Al pulsar el botn de Cerrar nos pedir
el nombre para la tabla que se acaba de crear. Es posible posteriormente modificar los
nombres de los campos a travs de la opcin diseo de tablas.
Importar tabla
Tras seleccionar esta opcin, 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 (vase figura 3.8) en la que se muestran las distintas tablas a elegir.

34

Captulo 3. Las Bases de datos de Access

Seleccionada un o varias tablas, si pulsamos el botn Opciones >> se abrir la


ventana con las opciones de la importacin de tablas. En esta ventana podemos elegir
los elementos a importar de cada tabla o tablas. Para ejecutar la importacin se pulsa el
botn 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 ms. Tambin 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 informacin 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 vinculacin de datos le permite la lectura y en muchos casos la actualizacin
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 tambin puede agregar, eliminar o editar sus
datos utilizando Microsoft Access.
El proceso de vinculacin de tablas es similar al de importar, tan solo que no se
duplica la informacin, sino que se crea un enlace a la tabla determinada, y las modificaciones de datos queda reflejadas en la tabla original. Microsoft Access utiliza iconos
diferentes para representar las tablas vinculadas y las tablas que estn 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 vnculo con
la tabla, pero no la tabla externa.

3.2.6.

Renombrar tablas

Para cambiar el nombre a una tabla, se marca con el ratn, se abre el men desplegable Edicin situado en la barra de Mens y se pulsa la opcin cambiar nombre. Otro
modo de hacerlo es marcar el nombre de la tabla con un solo click, entonces el cursor se
sita en el nombre de la tabla.

3.3. Claves e ndices

3.2.7.

35

Eliminar tablas

Para eliminar una tabla lo primero es marcarla con el ratn, 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 botn derecho del ratn, y elegir la opcin Eliminar en el men de contexto.
3. Abrir el men desplegable Edicin situado en la barra de Mens y elegir Eliminar.

3.3.

Claves e ndices

3.3.1.

Claves

En la introduccin a este capitulo se hablaba de la Organizacin de la base de datos.


Tambin se haca 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 vacos. En nuestro ejemplo de los clientes,
la clave principal debe ser el cdigo, puesto que es el campo cuyo valor identifica inequvocamente 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 botn Clave principal de la barra de herramientas o con el
comando Edicin, Clave principal. Consejo: Es conveniente crear la clave principal al crear la tabla, ya que si se crea despus, 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 ratn (pulsado y arrastrando) y pulsando despus el botn Clave
principal de la barra de herramientas.
4 Se

denomina clave principal.

36

3.3.2.

Captulo 3. Las Bases de datos de Access

Indices

Los campos de la tabla tienen una propiedad cuya finalidad es aumentar la velocidad 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 informacin en un libro consultamos el ndice; esta es la mejor manera de encontrar la informacin rpidamente.
Por ejemplo, sabiendo que tenemos una extensa biblioteca, un amigo nos pregunta por
un titulo que le es muy necesario. Esta situacin tiene dos posibles salidas: Podramos
buscar uno a uno, sin ningn orden, ya sea fsicamente por todas las estanteras , o bien
a travs de una lista que fuimos haciendo a medida que los comprbamos; Otra posibilidad sera la que tener creado un fichero ordenado por orden alfabtico de ttulos o
autores o cualquier otro campo significativo. Evidentemente, nos bastara con buscar la
ficha para saber si los tenemos o no. Esta segunda opcin es ms rpida. Con un menor
esfuerzo y menor tiempo saldremos de nuestras dudas bibliogrficas. 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 introduccin 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 botn ndice apropiado
en la barra de herramientas de la entrada de datos, o por medio de la ventana de dialogo
de Indices (vase figura 3.9).
En dicha ventana de dialogo aparecen las tres caractersticas posibles que puede
tener un ndice:
Principal: Slo hay un ndice que es clave principal. Los ndices principales garantizan que en un campo slo 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.
Creacin 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

Captulo 3. Las Bases de datos de Access

sea necesario5 . Tambin aquellos campos que se vayan a relacionar con otras tablas.
Cuando se crea una clave principal, dicho campo queda automticamente indexado.
El proceso de creacin de ndices es el siguiente:
Cuando se define un campo en la ventana de diseo, de elige Si en la propiedad
Indexado (puede establecerse Con o Sin duplicados).
Desde la ventana de diseo de la tabla se sita el cursor en la barra del ttulo y se
pulsa el botn derecho del ratn. 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; despus
se pulsa intro y dejando en blanco la primera columna, se sita 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 aadiendo los campos deseados al ndice. Para grabar se pulsa el botn de cierre de
la ventana y se salva la ventana de diseo.
A cada ndice se le pueden asociar las propiedades que aparecen en la parte inferior 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 informacin


en varias tablas en vez de agruparla en una sola. Una vez que las tablas de una base
de datos estn 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: Relacin Uno a Varios.

3.4.1.

Tipos de relaciones

La forma en que se interconectan la tablas entre s da lugar varios tipos de relacin:


Relacin Uno a Varios
Esta es la relacin mas frecuente entre tablas. En este tipo de relacin, un registro o
fila de la tabla A puede relacionarse (coincidir) con ms 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 relacin entre un Autor de la tabla autores ( Federico Garca
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.
Relacin Varios a Varios
En este tipo de relacin, 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:
Relacin uno a uno
Este tercer tipo de relacin es menos frecuente: Cada registro de la tabla A slo
puede estar relacionado un solo registro de la tabla B, y viceversa. Como ejemplo prodramos sealar dos tablas: Una de Empleados y otra la de las nminas del mes. Cada
registro de la primera tabla (Datos de un empleado) slo tiene relacin con un nico
registro de la otra.(su nmina mensual).

40

Captulo 3. Las Bases de datos de Access

Figura 3.11: Relacin Varios a Varios.

Figura 3.12: Relacin uno a uno.

3.4. Relaciones entre tablas

41

Integridad referencial
Una vez que se ha establecido el tipo de relacin existente entre las distintas tablas
de la base de datos, se puede ir ms 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 estn relacionados con un registro 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
algn registro en la tabla B.

3.4.2.

Crear relaciones

Con el fin de poder detallar el proceso relacional, presentamos adems 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 creacin
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 Herramientas; despus pulsando el botn derecho del ratn, se abre la ventana Mostrar
tabla, en la que se deben elegir (Agregar), aquellas tablas que quieran incluir en
la relacin. Las tablas seleccionadas irn apareciendo en la pantalla de Relaciones
con sus campos en forma de listas desplegables. Cerrar una vez terminada la seleccin.
Para crear la relacin, con el ratn, se pulsa y arrastra el campo de la tabla principal (que al ser clave primaria debe aparecer con letra negrita) hasta el campo
relacionado de la tabla secundaria. De inmediato se abre una pequea 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 combinacin entre los campos de las tablas. para ello se pulsa el botn Tipo de
combinacin.
Como muestra la figura, se ha establecido relacin entre las tablas tblPaises, tblProvincias y tblSectores con tblClientes. Todas las relaciones son de Uno a Varios. Los

42

Captulo 3. Las Bases de datos de Access

Figura 3.13: Relacionar tablas.

3.5. Introduccin de datos en la tabla

43

campos clave de las tablas aparecen en negrita; eso quiere decir que ellos son los extremos Uno de la relacin, 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 relacin se ha activado la casilla en la que se
exige integridad referencial. Ello implica, como se ha sealado 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 opcin de actualizar en cascada los campos relacionados
de ambas tablas, o sea, si se modifica un sector en la tabla tblSectes, automticamente
quedan modificados los campos sector de la tabla tblClientes. Tambin se ha activado la
opcin de borrar en cascada los registros relacionados (si se borra un sector, se borrarn
tambin los registros de clientes de ese sector).

3.4.3.

Modificar relaciones

Para modificar las relaciones ya creadas, el procedimiento es abrir la ventana Relaciones y pulsar con el ratn sobre la lnea que une ambas tablas; de inmediato la lnea
cambia a una lnea mas gruesa. Con doble click se abre la ventana con los campos de
la relacin. Otro modo es pulsar el botn derecho del ratn sobre la lnea gruesa de la
relacin; Aparece entonces el men de contexto, con la opcin Modificar relacin.

3.4.4.

Eliminar relaciones

Si se desea eliminar una relacin, hay que seguir estos pasos: En la ventana Relaciones, hacer click sobre la lnea de relacin entre tablas. Esta aparece con trazo mas
grueso. Entonces se pulsa la tecla Supr. o bien el botn derecho del ratn, apareciendo
la opcin Eliminar. basta con confirmar la opcin para que la relacin quede eliminada.

3.5.

Introduccin de datos en la tabla

Hemos aprendido a disear y crear las tablas de una base de datos. Ya tenemos el
armazn o estructura. Ahora es el momento de introducir datos en ellas.
Atencin: No es conveniente introducir datos en las tablas hasta que no se haya terminado el proceso de relacin, de lo contrario, resultar dificil crear las relaciones con
datos en la tabla.

44

3.5.1.

Captulo 3. Las Bases de datos de Access

Introducir registros

La introduccin de datos se efecta a travs 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 sita 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 automticamente se salta al primer campo
de un nuevo registro. Para moverse a travs 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 nmero y se pulsa Intro, o bien se utilizan
los botones indicados. Para introducir un nuevo registro se pulsa el botn situado a la
derecha que muestra una flecha y un asterisco. Igualmente basta con situar el cursor del
ratn en el registro nuevo (tiene un asterisco y est siempre situado en la parte inferior
de la tabla ). Tambin 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 restriccin de tamao.
Para introducir datos en el campo de tipo OLE se sita el cursor dentro del campo, se
pulsa el botn derecho del ratn y se elige Insertar Objeto.
Cuando se abre la ventana Hoja de datos, se activan automticamente 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 (colores, tipos de letra, fondo de la hoja de datos, etc).

3.5.2.

Editar registros

En bastantes ocasiones habremos de modificar algn registro cuyos datos sean errneos o hayan cambiado. Para modificar la informacin contenida en los registros de
la tabla deberemos seguir los pasos siguientes: Por supuesto abrir la tabla. Buscar el registro 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 cuestin y se modifica el texto. En caso de
equivocacin, se puede deshacer la operacin utilizando el botn apropiado.
Hay ciertos campos que no pueden ser editados. Son los siguientes:
6 Situar el cursor del ratn en el titulo de la columna a ordenar. Hacer click para marcar toda la columna

y tenindola marcada pulsar el botn de Ordenar (Ascendente o Descendente).

3.5. Introduccin de datos en la tabla

45

Campos calculados. Su contenido depende de operaciones.


Campos bloqueados o desactivados
Campos autonumericos. Se incrementan automticamente.
Cuando el registro est siendo utilizado por otro usuario de la red, queda momentneamente bloqueado.

3.5.3.

Copiar, mover, eliminar datos

Para ejecutar las operaciones de copia, traslado y eliminacin de datos se utiliza la


herramienta del portapapeles. Esto implica un primer proceso de seleccin 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 botn Copiar de la barra de herramientas, se sita el cursor en el sitio a reemplazar
o pegar los datos y se hace click en el botn Pegar. Otra manera es utilizando las teclas.
Se marca el texto con MAYUS + Cursor, se copia al portapapeles con Control + Insert,
se sita el cursor en el lugar a reemplazar o insertar y se pulsa MAYUS + Insert para
pegar. Para copiar varios registros a la vez, se sita el ratn en la columna izquierda
de la Hoja de datos situada delante del primer campo del registro (aparece una flecha
negrita); Se arrastra el ratn hacia abajo tantos registros como se desee copiar; se pulsa
el botn derecho del ratn y se elige la opcin Copiar. A continuacin se lleva el ratn
al lugar donde se van a insertar los registros, se pulsa el botn 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 sita 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 opcin Cortar del botn derecho del ratn.
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

Captulo 3. Las Bases de datos de Access

Figura 3.14: Bsqueda 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 botn 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 segn el campo definido como clave.
Si se trata de insertar nuevos datos en tablas que estn relacionadas, hay un procedimiento que presta gran ayuda; se trata de la utilizacin 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 relacin entre su campo sector
y el campo cdigo de la tabla tblSectores. Se ha activado la opcin de actualizar en cascada, (es decir, que si se modifica el cdigo de un sector en la tabla tblSectores, automti-

3.5. Introduccin 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 Diseo; ir al campo relacionado con el de otra tabla (Sector en este caso); abrir la solapa
Bsqueda; 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 pequea 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 tambin
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 travs de la
ventana de Diseo, sin embargo, tambin pueden insertarse columnas o campos durante el proceso de introduccin de datos; para ello se siguen estos pasos:
Estando en modo Hoja de datos, se pulsa con el ratn 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 opcin 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 botn derecho del ratn aparece el men de contexto; en l podemos
elegir la opcin Cambiar nombre de columna, para ponerle un nombre apropiado al campo de datos de dicha columna. El tipo de datos por defecto para dicho campo o columna, es el predeterminado para tablas/consultas, as como el
tamao.

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 evidente que en ms de una ocasin necesitaremos saber si tenemos un determinado cliente

48

Captulo 3. Las Bases de datos de Access

Figura 3.15: Bsqueda de registros en la tabla.

est registrado en nuestra tabla. Dependiendo de lo que busquemos en las tablas, podemos hacerlo de varias maneras: Si tenemos ordenada la tabla por el campo de nuestro
inters, por ejemplo por nombre, y la tabla no es demasiado grande, quiz sea fcil desplazarse 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 Edicin. Tambin puede accederse a ella con el juego de teclas Ctrl B. Como vemos en la figura 3.15
es posible aquilatar la bsqueda con las distintas opciones que vemos en la ventana
Buscar: Buscar en: Todos los registros, slo hacia Arriba o slo hacia Abajo. Podemos
hacer que los datos buscados coincidan en todo o en parte con el campo de la tabla, etc.

3.5. Introduccin de datos en la tabla

49

Figura 3.16: Filtrado de datos en la tabla.

3.5.7.

Filtrar datos

Una forma de bsqueda especial es el filtrado de datos, que puede hacerse bien sea
agrupando aquellos registros que cumplan los requisitos, bien sea por exclusin.
El caso que nos presenta la figura 3.16 consiste en buscar todos los clientes de Sevilla. Para ello utilizamos un filtro por seleccin. El modo concreto de hacerlo es el siguiente:
Situar el cursor en el campo cuyo contenido queramos filtrar (En este caso el campo Provincia y su contenido Sevilla);
Pulsar el botn derecho del ratn y elegir la accin apropiada.

3.5.8.

Reemplazar datos

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


bsqueda, que hemos visto ms arriba. Lo primero que hay que hacer es abrir el men

50

Captulo 3. Las Bases de datos de Access

Edicin y seleccionar la opcin Reemplazar. Se trata de buscar un determinado contenido 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 sucesivamente o bien Reemplazarlos todos. Cuando se trata de reemplazar registros enteros
por otros registros, el mtodo consiste en copiar los registros en el portapapeles y pegarlos sobre los registros que se deseen reemplazar.

Captulo 4
Consultar la base de datos
Creada la base de datos, introducidos los datos en sus registros, es ahora cuando puede sernos de mayor utilidad. Quiz el objetivo final de la base de datos sea el
de poder sacarle rendimiento consultando la informacin 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 informacin de la base de
datos, pero no a todos los registros, sino slo a aquellos registros y a aquellos campos
cuyo contenido nos sea de inters en un momento dado. Access ofrece varios tipos de
consulta, segn las necesidades de cada momento:
Tipos de consulta:
Consultas de seleccin
Consultas de parmetros
Consultas de tabla de referencias cruzadas
Consultas de accin
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

4.1.

Captulo 4. Consultar la base de datos

Creacin de una consulta

Para crear una consulta o un tipo de consulta debemos seguir estos pasos:
Lo primero es saber qu informacin deseamos obtener.
En qu tablas estn contenidos los datos de dicha informacin.
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
botn 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 informacin aparecer en la
hoja de consulta. Se pulsa el botn 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 diseo de la consulta o directamente a ejecutarla y ver los resultados. Pulsamos el botn Terminar, y nos aparece
una pantalla con una especie de tabla mostrando informacin nicamente de los tres
campos mencionados. Se trata en realidad de una Vista de la tabla. Durante el proceso de diseo 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 slo algunos clientes, segn las condiciones que le indiquemos:
Para modificar una consulta, hay que abrir la ventana de Diseo 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

Figura 4.1: Consultando una tabla.

53

54

Captulo 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 sitan 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 botn derecho, se abre un men contextual con varias opciones
de utilidad (cdigo 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 seleccin. Por
ello vamos a ver esta zona con mas detenimiento: En ella existen seis filas con los ttulos
siguientes:
Campo: Indica los campos que aparecern 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 clasificacin 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 complicada de usar, pero la mas importante.
O: Esta fila y las que siguen por abajo se utilizan para definir tambin las condiciones. Junto con la fila Criterios, constituyen las filas de condiciones.
Supongamos que deseamos ver qu clientes tenemos de la poblacin Sevilla. Siguiendo las indicaciones expuestas anteriormente, en el campo Criterios escribiremos
Sevilla:
Como vemos, slo aparecen los clientes de Sevilla existentes en la tabla. Podemos
observar que solo aparecen las columnas seleccionadas en la consulta. Esta consulta
contiene una condicin simple. Podemos hacer que la consulta sea mas compleja, introduciendo ms condiciones. Por ejemplo, podemos pedir a la consulta que nos muestre
los clientes de Sevilla que pertenezcan al sector del transporte (su cdigo es el 02). Para
ello, bastara con aadir 02 a la columna del sector en la consulta.
El resultado aparece en la figura 4.3. A continuacin, en el cuadro 2 podemos ver,
a modo de introduccin, la frmula que se genera en lenguaje SQL para realizar dicha
consulta1 .
1 Ms

adelante se ver en detalle.

56

Captulo 4. Consultar la base de datos

Figura 4.3: Consultando una tabla con criterios.

4.4. Operadores lgicos

Cdigo 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.

57
2

Operadores lgicos

En las consultas se utilizan fundamentalmente tres operadores lgicos para establecer los criterios : O, Y, NEGADO:

4.4.1.

El Operador Y (AND)

Este operador permite unir dos condiciones en una expresin, de tal modo que si
ambas condiciones se cumplen, entonces se ejecuta la consulta. En el ejemplo anterior
vemos que la poblacin 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 mostrarn 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 Negacin

Este operador permite negar la condicin, con lo que el resultado de la consulta


mostrar todos los registros que incumplan la condicin. Por ejemplo si queremos ver
todos los clientes menos los de Sevilla, escribiremos en el criterio la siguiente expresin
<> Sevilla.

4.4.4.

La expresin Nulo

Para saber si una columna o campo del registro est vaco, Access nos ofrece el operador o expresin Nulo. Por ejemplo, si queremos listar todos los registros cuyo sector

58

Captulo 4. Consultar la base de datos

Figura 4.4: El criterio OR en la consulta.

4.5. Operaciones con la consulta

59

no recordbamos al introducir el libro, y por ello dejamos el campo vaco, podremos


utilizar la expresin Nulo, en la fila Criterios columna Sector. Pero hay que distinguir
entre un campo vaco (aquel que no tiene ningn carcter) y un campo en blanco (aquel
que est lleno de espacios en blanco).

4.5.

Operaciones con la consulta


Una vez terminado el diseo de la consulta, se puede almacenar con el nombre
que se la haba asignado. En caso de haber comenzado el diseo de la consulta
sin ayuda del asistente, antes de cerrar la consulta nos pedir un nombre para
ella. tambin puede guardarse la consulta a travs del men Archivo, Guardar,
Guardar como o Exportar.
Para Ejecutar la consulta, basta con pulsar con doble click su nombre o bien pulsar el icono Ejecutar (El icono aparece como un signo de admiracin ! cuando
estamos en modo Diseo) de la barra de herramientas.
Para Cerrar la consulta, basta con pulsar el botn Cerrar de Windows, situado en
la parte superior derecha, o bien a travs 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 botn Eliminar
del men contextual que aparece al pulsar el botn derecho del ratn.
Para Copiar una consulta: tenindola seleccionada se pulsa el botn derecho del
ratn, y ante el men emergente de contexto, se pulsa Copiar; Despus 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 travs 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

Adems de las consultas sencillas que acabamos de ver, existen varios tipos de consulta ms complejas, en las que pueden intervenir varias tablas, y que pueden realizar
varias acciones.

60

Captulo 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 tambin las tablas de las que proceden
esos campos.
Para acceder a otros tipos de consulta se pulsa el botn situado bajo Herramientas
en la barra de mens 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 Seleccin

Es el tipo de consulta mas habitual; es el que hemos visto hasta ahora. En estas
consultas, se obtienen los datos de una o ms tablas mediante la agrupacin o filtro de
los registros segn las condiciones que se establecen.

4.6. Otros ejemplos de consulta

4.6.2.

61

Consultas de parmetros

Una consulta de parmetros es la que, cuando se ejecuta, muestra su propio cuadro


de dilogo que solicita informacin, como por ejemplo criterios para recuperar registros o un valor que desea insertar en un campo. Por ejemplo, modificando la consulta
anterior de clientes por poblacin y ponindole un parmetro en vez de Sevilla, nos
podra servir para cualquier otra poblacin. Tambin se puede disear la consulta para
que solicite ms de un dato; por ejemplo, puede disearla para que solicite dos fechas.
Microsoft Access puede entonces recuperar todos los registros que quedan entre esas
dos fechas. Las consultas de parmetros tambin 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 parmetros. Al imprimir el informe, Microsoft Access muestra un cuadro de dilogo que solicita el mes sobre el que se desea el informe.
Cuando se introduce un mes, Microsoft Access imprime el informe apropiado.
Cmo crear consultas de parmetros
Una consulta de parmetros muestra uno o ms cuadros de dilogo predefinidos
que le solicitarn el valor del parmetro (criterio). El proceso de creacin es el siguiente:
1. Crear una consulta de seleccin.
2. En la vista Diseo de la consulta, arrastrar los campos desde la lista de campos de
la consulta a la cuadrcula de diseo de la consulta.
3. En la celda Criterios, para cada campo que se desee utilizar como parmetro, escribir el texto a solicitar entre corchetes. Microsoft Access mostrar este texto cuando 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 parmetro de la
poblacin. El resultado depender de la poblacin que introduzcamos.
Si deseamos establecer un rango en los criterios, como por ejemplo entre dos fechas
de una tabla, debemos introducir entre corchetes algn texto para especificar un intervalo 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 botn Ver en la barra de
herramientas y escribir el valor del parmetro.

62

Captulo 4. Consultar la base de datos

Figura 4.6: Consulta de un parmetro.

4.6. Otros ejemplos de consulta

Figura 4.7: Consulta de dos parmetros.

63

64

4.6.3.

Captulo 4. Consultar la base de datos

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 segn 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.

Cmo 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, despus, en Nueva.
En el cuadro de dilogo Nueva consulta, pulsar clic en Vista diseo y, despus, en
Aceptar.
En el cuadro de dilogo 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 cuadrcula de diseo y especificar los criterios.
En la barra de herramientas, pulsar clic en Tipo de consulta y despus 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, despus, en Encabezado de fila. Hay que mantener el Agrupar por predeterminado en la fila Total de esos campos.
Para el campo cuyos valores deseamos que aparezcan como encabezados de columnas, pulsar clic en la fila TAB ref cruz y, despus, en Encabezado de columna. Se
puede elegir Encabezado de columna para un slo campo y debe mantener Agrupar 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, despus, clic en Valor.

4.6. Otros ejemplos de consulta

65

Slo un campo puede establecerse como Valor.


En la fila Total de este campo, hay que pulsar clic en el tipo de funcin que deseamos para la referencia cruzada (como Suma, Promedio o Cuenta).
Para especificar criterios que limiten los encabezados de filas antes de que se realice el clculo, hay que escribir una expresin 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 Dnde en la celda Total, dejando en blanco la celda TAB ref
cruz y escribiendo una expresin en la fila Criterios.
Para ver los resultados de la consulta, hay que pulsar el botn 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 genricamente como Consultas de Accin o que generan acciones. Una consulta de accin es
la que realiza cambios a muchos registros en una sola operacin. Existen cuatro tipos
de consultas de accin: La que crean tablas, las que borran registros, las que aaden
registros a tablas y las que actualizan los datos de los registros.
La Consulta de creacin de tabla crea una tabla nueva a partir de todos o de parte de
los datos de una o ms 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 continuacin, 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 tiempo.

66

Captulo 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 histrica que contenga registros antiguos.
Para mejorar el rendimiento de los formularios e informes basados en consultas
de tablas mltiples o en instrucciones SQL.
Cmo crear consultas de creacin de tablas
1. Crear una consulta de seleccin, para lo cual se debern seleccionar las tablas o
consultas que contienen los registros a incluir en la nueva tabla.
2. En la vista Diseo de la consulta, pulsar clic en la flecha situada junto al botn Tipo
de consulta en la barra de herramientas y, a continuacin, en Consulta de creacin
de tabla. Aparecer el cuadro de dilogo 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. Tambin 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 cuadrcula de diseo 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 cuadrcula, 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 tblProveedores dentro de la base de datos en que estamos trabajando, con los campos Codigo,
CIF, Nombre, Domicilio, Poblacin, 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 ejecucin de la consulta. Si el
nombre de la tabla ya existe, ser sustituido por la nueva tabla.

68

Captulo 4. Consultar la base de datos

Figura 4.9: Consulta de referencias cruzadas.

4.6. Otros ejemplos de consulta

4.6.6.

69

Consultas que borran registros (filas)

Las consultas que borran registros, eliminan un grupo de registros de una o ms


tablas que cumplen las condiciones impuestas por la consulta. Por ejemplo, puede utilizar una consulta de eliminacin para borrar libros de la tabla. Con las consultas de
eliminacin, siempre se eliminan registros enteros, no slo campos seleccionados dentro de los registros.
Puede utilizarse una sola consulta de eliminacin para eliminar registros de una
sola tabla, de varias tablas en una relacin uno a uno o de varias tablas en una relacin
uno a varios, si est activada la eliminacin en cascada. La relacin uno a varios puede
distinguirse en la vista Diseo de la consulta observando las combinaciones entre las
tablas. Si un extremo de una combinacin est marcado con el smbolo de infinito , se
trata de una relacin Uno a Varios. Si ambos extremos estn marcados con un 1, se trata
de una relacin Uno a Uno.
Cmo crear consultas que borran registros
1. Se crea una consulta nueva que contenga las tablas de las cuales deseamos eliminar registros.
2. En la vista Diseo de la consulta, se pulsa clic en la flecha situada junto a Tipo de
consulta en la barra de herramientas y, a continuacin en Consulta de eliminacin.
3. Para especificar criterios para eliminar registros, se arrastra a la cuadrcula de diseo los campos en los que desea establecer los criterios. Aparecer Dnde en la
celda Eliminar situada bajo estos campos.
4. En la celda Criterios de los campos arrastrados a la cuadrcula, 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 cmo eliminar los
registros de dicha tabla.

70

Captulo 4. Consultar la base de datos

Figura 4.10: Consulta de eliminacin de registros.

4.6. Otros ejemplos de consulta

71

Figura 4.11: Botones de prueba y ejecucin de consultas.

Advertencias sobre las consultas de eliminacin


Si las tablas de las que se van a eliminar registros estn relacionadas con otras
tablas, no se podrn eliminar los registros de un modo indiscriminado. Si la relacin
que une las dos tablas es de Uno a Varios, al ejecutar una consulta de eliminacin,
y si est activada la eliminacin en cascada para esta relacin, Microsoft Access
tambin 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 accin 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 aaden registros (filas)

Con estas consultas, llamadas tambin de datos anexados, podemos aadir filas o
registros que resultan de la consulta a una determinada tabla. Agregan un grupo de re-

72

Captulo 4. Consultar la base de datos

gistros de una o ms tablas al final de una o ms tablas. Las consultas de datos anexados
tambin son tiles para:
Aadir campos basados en criterios. Por ejemplo, si deseamos aadir a nuestra
tabla de libros, otros registros de un determinado autor o materia.
Aadir registros cuando algunos de los campos de una tabla no existe en la otra
tabla. Una consulta de datos anexados aadir los datos de los campos coincidentes e ignorar el resto.
Cmo crear consultas que aaden registros
1. Se Crea una consulta que contenga la tabla cuyos registros desea aadir a otra
tabla.
2. En la vista Diseo de la consulta, se pulsa click en la flecha situada junto a Tipo
de consulta en la barra de herramientas y, a continuacin, en Consulta de datos
anexados. Aparecer el cuadro de dilogo Anexar.
3. En el cuadro Nombre de tabla, se escribe el nombre de la tabla a la que desea
aadir 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. Tambin puede introducirse una ruta de acceso a una base
de datos de Microsoft FoxPro, Paradox o dBASE o bien una cadena de conexin a
una base de datos SQL.
5. Pulsar Aceptar.
6. Arrastrar desde la lista de campos hasta la cuadrcula de diseo de la consulta
los campos que se deseen aadir y cualquier campo que se desee utilizar para
establecer criterios. Si todos los campos de ambas tablas tienen los mismos nombres, simplemente basta con arrastrar el asterisco (*) a la cuadrcula de diseo de
la consulta.
7. Si los campos seleccionados tienen el mismo nombre en ambas tablas, Microsoft
Access rellena automticamente el nombre coincidente en la fila Aadir a. Si los
campos de las dos tablas no tienen el mismo nombre, en la fila Aadir a escribir
los nombres de los campos de la tabla a la que est aadiendo.
8. En la celda Criterios de los campos arrastrados a la cuadrcula, escribir el criterio
segn 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 aadir la consulta, pulsar click en
Vista en la barra de herramientas. Para regresar a la vista Diseo 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 aadir 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 actualizacin modifican la informacin existente en los registros o


filas de una tabla, pero no aade ni borra registros.
El procedimiento de creacin de las consulta que actualizan registros es el siguiente:

74

Captulo 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 Diseo de la consulta, se pulsa clic en la flecha situada junto a Tipo de
consulta en la barra de herramientas y, a continuacin, en Consulta de actualizacin.
3. Arrastrar desde la lista de campos hasta la cuadrcula de diseo 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 expresin
o el valor que se desea utilizar para cambiar los campos.
6. Para ver una lista de los registros que se actualizarn, 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 actualizarn 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 ms 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 relacin 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 cuadrcula de diseo 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 consulta.
Supongamos que queremos saber los pedidos de cada cliente desde una fecha determinada. Para ello elegimos las tablas tblClientes y tblPedidosClientes. Ambas tablas

4.7. Consultas con varias tablas

Figura 4.13: Consulta de actualizacin.

75

76

Captulo 4. Consultar la base de datos

Figura 4.14: Consulta de varias tablas.

4.8. Consultas SQL

77

Figura 4.15: Consultas SQL.

estn relacionadas por medio del campo cliente. Se observa el criterio: Fecha del pedido 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 grfica 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 continuacin, las apropiamente
llamadas consultas SQL estriba en que estas se ha de crear sin ayuda grfica, es decir,
solamente con expresiones SQL. Por lo tanto, una consulta SQL es la creada mediante
una instruccin SQL.

78

4.8.1.

Captulo 4. Consultar la base de datos

Clases de consultas SQL

1. Consulta de unin,
2. Consulta de paso a travs,
3. Consulta de definicin de datos y
4. La Subconsulta

4.8.2.

Consultas de unin

Este tipo de consulta combina campos (columnas) de una o ms tablas o consultas,


en un campo o columna que es el resultado de la consulta. Por ejemplo, si tiene seis
proeveedores que envan nuevas listas de inventario cada mes, puede combinar estas
listas en un conjunto de resultados mediante una consulta de unin y, a continuacin,
crear una consulta de creacin de tabla basada en la consulta de unin cuyo resultado
dar la creacin de una tabla nueva.
Ejemplos de consultas de unin
Las consultas de unin combinan campos de dos o ms tablas o consultas en un
solo campo. A continuacin se muestran ejemplos de una consulta de unin bsica, de
ordenacin de registros, de cambios en el nombre de los campos y obtencin de registros
duplicados en consultas de unin.
Consultas de unin bsica
La siguiente consulta (figura 4.16) de unin consta de dos instrucciones SELECT de
SQL, que devuelven los nombres de la compaa y ciudades que estn en Brasil, y de
ambas tablas, Proveedores y Clientes.
Orden alfabtico en una consulta de unin:
La siguiente consulta de unin selecciona todos los nombres de empresas y ciudades de ambas tablas, Proveedores y Clientes, y los ordena alfabticamente por ciudad:
SELECT [NombreCompaa], [Ciudad]
FROM [Proveedores]
UNION SELECT [NombreCompaa], [Ciudad]
FROM [Clientes]
ORDER BY [Ciudad];

4.8. Consultas SQL

79

Figura 4.16: Consulta de unin bsica.

80

Captulo 4. Consultar la base de datos

Cambiar nombre de campos en una consulta de unin


La siguiente consulta de unin cambia el nombre el campo NombreCompaa por
Nombre del proveedor / cliente en la salida de la consulta:
SELECT [NombreCompaa] AS [Proveedor/Nombre cliente], [Ciudad]
FROM [Proveedores]

UNION SELECT [NombreCompaa] AS [Proveedor/Nombre cliente], [Ciudad]


FROM [Clientes];

Obtener registros duplicados en una consulta de unin


La siguiente consulta de unin utiliza la instruccin UNION ALL para extraer todos los registros, incluyendo los registros duplicados:
SELECT [NombreCompaa], [Ciudad]
FROM [Proveedores]

UNION ALL SELECT [NombreCompaa], [Ciudad]


FROM [Clientes];

4.8.3.

Cmo crear una consulta de unin

Combinar datos en campos de dos o ms tablas utilizando una consulta de unin.


Las consultas de unin combinan los campos correspondientes a dos o ms tablas o consultas, en un solo campo. Cuando se ejecuta una consulta de unin, la misma devuelve
los registros de los campos correspondientes en las tablas o consultas incluidas.Los pasos para crear una consulta de unin son los siguientes:
1. En la ventana Base de datos, hacer clic en la ficha Consultas y despus en Nuevo.
2. En el cuadro de dilogo Nueva consulta , hacer clic en Vista diseo y despus en
Aceptar.
3. Sin agregar tablas ni consultas, hacer clic en Cerrar, en el cuadro de dilogo Mostrar
tabla.
4. En el men Consultas, seale Especfica de SQL y hacer clic en Unin.

4.8. Consultas SQL

81

5. Introducir instrucciones SQL SELECT combinadas con cualquier operacin de


UNION si no desea recuperar registros duplicados o UNION ALL si desea recuperar registros duplicados.
6. Si desea especificar un orden alfabtico en una consulta de unin, agregue una
sola clusula ORDER BY al final de la ltima instruccin SELECT. En la clusula
ORDER BY, especifique el nombre del campo por el que se va a ordenar, que debe
proceder de la primera instruccin SELECT.
7. Para ver los resultados de la consulta, hacer clic en Vista en la barra de herramientas.
Nota: Cada instruccin SELECT debe devolver el mismo nmero de campos, y en el
mismo orden. Se necesita que los campos correspondientes tengan tipos de datos compatibles, con una excepcin: puede utilizar un campo Numrico y de Texto como campos correspondientes.
Informacin sobre las instrucciones SELECT
Sintaxis
-------SELECT [predicado] { * | tabla.* | [tabla.]campo1 [AS alias1]
[, [tabla.]campo2 [AS alias2] [, ...]]}
FROM expresintabla [, ...] [IN basededatosexterna]
[WHERE... ]
[GROUP BY... ]
[HAVING... ]
[ORDER BY... ]
[WITH OWNERACCESS OPTION]

La sintaxis de la instruccin SELECT consta de las siguientes partes:

82

Parte
-----

Captulo 4. Consultar la base de datos

Descripcin
-----------

Predicado

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


Puede utilizar el predicado para limitar el nmero 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 ms 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.
--------------------------------------------------------------------------------Expresin
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 expresintabla
datos
si no estn en la base de datos activa.
externa.
--------------------------------------------------------------------------------Comentario
Para realizar esta operacin, 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 instruccin SELECT suele ser la primera palabra en una sentencia SQL. La mayora de las
instrucciones SQL son instrucciones SELECT o SELECT...INTO.
La sintaxis mnima para una instruccin 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 ms de una tabla en la instruccin FROM,
escriba delante el nombre de la tabla y el operador . (punto). En el siguiente ejemplo, el campo Departamento est en la tabla Empleados y en la tabla Supervisores. La
instruccin 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 expresin utilizada para generar el campo, utilice la palabra reservada AS. El siguiente ejemplo utiliza el ttulo 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 clusula AS para proporcionar un nombre alternativo para el objeto Field. El siguiente ejemplo utiliza el
ttulo CuentaEncabezado para dar nombre al objeto Field devuelto del objeto Recordset
resultante:
SELECT COUNT(IdEmpleado) AS CuentaEncabezado FROM Empleados.
Puede utilizar otras clusulas en una instruccin SELECT para limitar y organizar
an ms los datos devueltos. Para obtener ms informacin al respecto, vea el tema de
Ayuda relativo a las clusulas 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 nmero de registros que tienen una entrada en el campo
CdPostal y asigna el nombre Total al campo devuelto:
SELECT Count(CdPostal) AS Total FROM Clientes.
El siguiente muestra cules seran 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 Recordset

es una estructura de datos usada en programacin cuya utilidad es la de almacenar informacion 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

Captulo 4. Consultar la base de datos

SELECT NombreProducto, PrecioUnitario AS Current, PrecioUnitario * 1.1


AS NuevosPreciosPropuestos
FROM Productos.
En el siguiente se calcula el nmero de productos de la base de datos y los precios
unitarios medios y mximos:
SELECT Count(*) AS [Total Productos], Avg(PrecioUnitario) AS [Precio
Unitario Promedio], Max(PrecioUnitario) AS [Precio Unitario Mximo]
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.
Informacin sobre las operaciones UNION y UNION ALL
Sintaxis
-------[TABLE] consulta1 UNION [ALL] [TABLE] consulta2 [UNION [ALL] [TABLE]
consulta..n [ ... ]]

La operacin UNION consta de las siguientes partes:


Parte
-----

Descripcin
-----------

consulta1-n

Una instruccin 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 ms consultas, tablas e instrucciones SELECT, en cualquier combinacin, en una operacin UNION nica.
El siguiente ejemplo mezcla una tabla existente llamada Nuevas cuentas
y una instruccin 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 operacin UNION; sin embargo, puede incluir el predicado ALL para asegurar
que se devuelven todos los registros. Esto tambin hace que la consulta se ejecute ms
rpidamente.
Todas las consultas de una operacin UNION deber requerir el mismo nmero de
campos. Sin embargo, los campos no tienen que ser del mismo tamao o tipo de datos.
Utilice alias solamente en la primera clusula SELECT porque en las dems se ignora. En la clusula ORDER BY, hacer referencia a los campos por cmo se les llama en
la primera clusula SELECT.
Ejemplos de UNION y UNION ALL
En el ejemplo siguiente se recupera los nombres y ciudades de todos los proveedores y clientes de Brasil:
SELECT NombreCompaa, Ciudad FROM Proveedores
WHERE Pas = Brasil
UNION SELECT NombreCompaa, Ciudad
FROM Clientes
WHERE Pas = Brasil.
En el siguiente se recuperan los nombres y ciudades de todos los proveedores y
clientes ubicados en Brasil:
SELECT NombreCompaa, Ciudad, Proveedor AS Source
FROM Proveedores
WHERE Pas = Brasil
UNION SELECT NombreCompaa, Ciudad, Cliente
FROM Clientes
WHERE Pas = Brasil
ORDER BY Ciudad, Source.
En el siguiente se recuperan los nombres e identificadores de todos los proveedores
y clientes. Esta unin supone que hay el mismo nmero de columnas en cada tabla.
TABLE Clientes UNION TABLE Proveedores.
Advertencia: Si convierte una consulta de unin en otro tipo de consulta, como por
ejemplo una consulta de seleccin, se perdern las instrucciones SQL que se haban
introducido.

86

Captulo 4. Consultar la base de datos

Figura 4.17: Consulta de paso a traves.

4.8.4.

Consulta de paso a travs

Este tipo de consulta enva 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 travs para recuperar registros o modificar datos.
Las consultas de paso a travs de Microsoft Access envan comandos directamente
a un servidor de base de datos ODBC (como Microsoft SQL Server). Mediante las consultas de paso a travs se trabaja directamente con las tablas del servidor, en vez de
establecer vinculacin a ellas.

4.8.5.

Como crear una consulta de paso a travs

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


3 Open

Database Connectivity (ODBC) es un estndar de acceso a Bases de Datos desarrollado por


Microsoft Corporation. El objetivo de ODBC es hacer posible el acceder a cualquier dato de cualquier
aplicacin, sin importar qu Sistema Gestor de Bases de Datos almacene los datos

4.8. Consultas SQL

87

2. En el cuadro de dilogo Nueva consulta, hacer clic en Vista diseo y luego en


Aceptar.
3. Sin agregar tablas o consultas, hacer clic en Cerrar, en el cuadro de dilogo Mostrar
tabla.
4. En el men Consultas sealar Especfica de SQL y hacer clic en Paso a travs.
5. Colocar el cursor en la banda azul del cuadro que se ha abierto y pulsando el botn
derecho del ratn, 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 CadConexinODBC (ODBCConnectStr) para especificar la informacin sobre la base de datos a
la que se desea conectar. Puede escribir la informacin para la conexin o hacer clic
en Generar e introducir la informacin sobre el servidor al que se est conectando. Para obtener detalles sobre la sintaxis para la consulta, hay que ver la documentacin sobre el servidor de bases de datos SQL al que est enviando la consulta.
7. Si la consulta no es de las que devuelve registros, configurar la propiedad DevuelveRegistros (ReturnsRecords) a No.
8. En la ventana Consulta, escribir las instrucciones SQL de la consulta de paso a
travs.
9. Para ejecutar la consulta, hacer clic en Ejecutar en la barra de herramientas. De
forma alternativa, para una consulta de paso a travs que devuelve registros, se
puede hacer clic en Vista en la barra de herramientas.
Si fuera necesario, Microsoft Access nos solicitar informacin sobre el servidor
SQL de su base de datos.
Anotaciones a las consultas de paso a travs
Si convertimos una consulta de paso a travs en otro tipo de consulta, como por
ejemplo una consulta de seleccin, se perder la instruccin SQL que se haba
introducido.
Las consultas de paso a travs son tiles para ejecutar procedimientos guardados
en un servidor ODBC.

88

Captulo 4. Consultar la base de datos

Si no se especifica una cadena de conexin en la propiedad CadConexinODBC


(ODBCConnectStr) o si se elimina una existente, Microsoft Access utiliza .ODBC"de
forma predeterminada. Con este valor, Microsoft Access solicita la informacin de
conexin, cada vez que se ejecuta la consulta.
Algunas consultas de paso a travs 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 guin (-) y un nmero de secuencia que
comienza en 00. Por ejemplo, el nombre predeterminado de usuario es Administrador, de modo que el devuelto por las tablas se llamar .ADMIN - 00,ADMIN 01, as sucesivamente.
2

4.8.6.

Consulta de definicin 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 definicin de datos para crear, eliminar o modificar 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 dilogo Nueva consulta , hacer clic en Vista diseo y luego en
Aceptar.
3. Sin agregar tablas o consultas, hacer clic en Cerrar en el cuadro de dilogo Mostrar
tabla.
4. En el men Consultas sealar Especfica de SQL y hacer clic en Definicin de
datos.
5. Introducir la instruccin SQL para la consulta de definicin de datos. Cada consulta de definicin de datos consta exactamente de una instruccin de definicin
de datos. Microsoft Access acepta estas instrucciones de definicin 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 instruccin CREATE
TABLE, o cualquiera de las instrucciones de lenguaje de definicin de datos (DDL), con
motores de base de datos que no sean Microsoft Jet.
Sintaxis
-------CREATE TABLE tabla (campo1 tipo [(tamao)] [NOT NULL] [ndice1] [, campo2 tipo
[(tamao)] [NOT NULL] [ndice2] [, ...]] [, CONSTRAINT ndicemultiplescampos
[, ...]])

10

La instruccin CREATE TABLE consta de las siguientes partes:


Parte
-----

Descripcin
-----------

11

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.
--------------------------------------------------------------------------------Tamao
El tamao del campo en caracteres (solamente campos de tipo Text o
Binary).
--------------------------------------------------------------------------------Indice1,
Una clusula CONSTRAINT que define el ndice de campo nico
Indice2
--------------------------------------------------------------------------------Indice de
Una clusula CONSTRAINT que define un ndice de mltiples campos. Vea el
mltiples
tema de la clusula CONSTRAINT para obtener ms informacin acerca
campos
de cmo crear este ndice.
---------------------------------------------------------------------------------

Anotaciones: Utilice la instruccin CREATE TABLE para definir una tabla nueva, sus
campos y limitaciones de campo. Si se especifica NOT NULL para un campo, se exige que los registros nuevos tengan datos vlidos en ese campo. Una clusula CONSTRAINT establece varias limitaciones en un campo y se puede utilizar para establecer
la clave principal. Tambin puede utilizar la instruccin CREATE INDEX para crear una
clave principal o ndices adicionales en tablas existentes.

90

Captulo 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, FechaDeNacimiento DATETIME, CONSTRAINT MiRestriccinTabla UNIQUE (Nombre, Apellido,
FechaDeNacimiento))
En el ejemplo siguiente se crea una tabla nueva con dos campos de Texto y un
campo Nmero entero. El campo SSN es la clave principal.
CREATE TABLE TerceraTabla (Nombre TEXT, Apellido TEXT, SSN INTEGER
CONSTRAINT MiRestriccinCampo PRIMARY KEY)
ALTER TABLE
Agrega un nuevo campo o restriccin a una tabla ya existente. Modifica el diseo
de una tabla despus de que se haya creado con la instruccin CREATE TABLE.
12
Sintaxis
-------ALTER TABLE tabla {ADD {COLUMN campo tipo [(tamao)] [NOT NULL] [CONSTRAINT ndice] |
CONSTRAINT ndicemltiplescampos} |
DROP {COLUMN campoI CONSTRAINT nombrendice} }

La instruccin ALTER TABLE consta de las siguientes partes:

4.8. Consultas SQL

Parte
-----

91

Descripcin
-----------

13

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.
--------------------------------------------------------------------------------Tamao
El tamao del campo en caracteres (campos Text o Binary).
--------------------------------------------------------------------------------Indice
El ndice de campo. Para obtener ms informacin acerca de cmo
construir este ndice, vea el tema de la clusula CONSTRAINT.
--------------------------------------------------------------------------------Indice de
La definicin de un ndice de mltiples campos que se va a agregar a
multiples
tabla. Para obtener ms informacin acerca de cmo construir esta
campos
clusula, vea el tema de la clusula CONSTRAINT.
--------------------------------------------------------------------------------Nombre
El nombre del ndice de mltiples campos que se va a quitar.
ndice
---------------------------------------------------------------------------------

Utilizando la instruccin 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 tamao opcional (para campos tipo Text
y Binary). Por ejemplo, la siguiente instruccin agrega una campo tipo Text de 25
caracteres llamado Notas a la tabla Empleados:
ALTER TABLE Empleados ADD COLUMN Notas TEXT(25)
Utilizar la instruccin ADD CONSTRAINT para agregar un ndice de mltiples
campos. Para obtener ms informacin acerca de los ndices de mltiples campos,
vea el tema de la clusula CONSTRAINT.
Utilizar la instruccin DROP COLUMN para eliminar un campo. Especifique solamente el nombre del campo.
Utilizar la instruccin DROP CONSTRAINT para eliminar un ndice de mltiples
campos. Especifique solamente el nombre del ndice a continuacin de la palabra
reservada CONSTRAINT.
No puede agregar o eliminar ms de un campo o ndice a la vez.

92

Captulo 4. Consultar la base de datos

Puede utilizar la instruccin CREATE INDEX para agregar un ndice de uno o


mltiples campos a una tabla, y puede utilizar la instruccin ALTER TABLE o
DROP para eliminar un ndice creado con la instruccin ALTER TABLE o CREATE
INDEX.
Puede utilizar NOT NULL en un campo nico o dentro de una clusula CONSTRAINT con nombre que se aplique a uno o varios campos en una clusula
CONSTRAINT con nombre. Sin embargo, slo puede aplicar la limitacin NOT
NULL a un campo o cuando se produce un error en tiempo de ejecucin.
DROP
Elimina una tabla de una base de datos o un ndice de un campo o grupo de campos.
Sintaxis
-------DROP {TABLE tabla | INDEX ndice ON tabla}

14

La instruccin ALTER TABLE consta de las siguientes partes:


Parte
-----

Descripcin
-----------

15

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. Tambin puede utilizar la instruccin ALTER TABLE para eliminar un ndice de una tabla.
Puede utilizar la instruccin CREATE TABLE para crear una tabla y las instrucciones
CREATE INDEX o ALTER TABLE para crear un ndice. Para modificar una tabla, utilice
la instruccin ALTER TABLE.
Ejemplos de DROP
En el ejemplo siguiente se elimina el ndice Mindice de la tabla Empleados:
DROP INDEX Mindice ON Empleados

4.8. Consultas SQL

93

En el siguiente se elimina la tabla Prcticas de la base de datos:


DROP TABLE Prcticas
CREATE INDEX
Crea un ndice para un campo o grupo de campos.
Sintaxis
-------CREATE [ UNIQUE ] INDEX ndice
ON tabla(campo [ASC|DESC][, campo [ASC|DESC], ...])
[WITH { PRIMARY | DISALLOW NULL | IGNORE NULL }]

16

La instruccin CREATE INDEX consta de las siguientes partes:


Parte
-----

Descripcin
-----------

17

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
parntesis a continuacin del nombre de la tabla. Para crear un
ndice de mltiples 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 clusula opcional WITH puede hacer cumplir reglas de validacin. Puede:
No permitir entradas Null en el campo o campos de ndice de los registros nuevos
utilizando la opcin DISALLOW NULL.
Impedir que se incluyan registros con valores Null en el campo o los campos de
ndice utilizando la opcin IGNORE NULL.

94

Captulo 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 vinculada en un origen de datos ODBC, como SQL Server, que no tenga todava un
ndice. No necesita permiso ni tener acceso al servidor remoto para crear un pseudo 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 especialmente til para crear un ndice en una tabla que sea habitualmente de slo
lectura debido a la carencia de un ndice.
Tambin puede utilizar la instruccin ALTER TABLE para agregar un ndice de
uno o varios campos a una tabla y puede utilizar la instruccin ALTER TABLE o la
instruccin DROP para quitar un ndice creado con la instruccin 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 TelfonoParticular y Extensin, en la tabla Empleados:
CREATE INDEX ndiceNuevo ON Empleados (TelDomicilio, Extensin)
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 instruccin
DROP. No se puede eliminar el ndice en la vista Diseo de la tabla a menos que tambin
se elimine la relacin en la tabla Clientes. La instruccin siguiente elimina el ndice
nuevo mediante el uso de la instruccin 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

4.9.

95

Subconsultas

Este tipo de consulta consta de una instruccin SQL SELECT dentro de otra consulta de seleccin o consulta de accin. Puede introducir estas instrucciones en la fila
Campo de la cuadrcula de diseo 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 resultados para la subconsulta, buscar valores en la consulta principal que sean iguales, mayores 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 Diseo de la consulta, agregar los campos que se desee a la cuadrcula
de diseo, 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 instruccin SELECT en la celda Criterios del campo para el que desea establecer un criterio. Coloque la instruccin SELECT entre parntesis.
4. Si est utilizando una subconsulta para definir una celda de campo, escriba una
instruccin SELECT encerrada entre parntesis en una celda de campo. Cuando
salga de la celda, Microsoft Access insertar automticamente Expr1:, Expr2:,
etc., delante de la instruccin 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

Captulo 4. Consultar la base de datos

Figura 4.18: Consulta con una subconsulta.

Captulo 5
Los Formularios de Access
Hasta este momento, nuestra relacin con la base de datos y sus tablas se ha desarrollado directamente, prcticamente sin intermediarios. Incluso cuando hemos efectuado 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
cmodo 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, imgenes, a travs de los cuales podemos introducir, extraer o
consultar datos de las tablas. Estos objetos, llamados controles, son fundamentalmente
de dos tipos: los que ensean o admiten datos de las tablas, y los que muestran la informacin esttica, tal como grficos o textos.

5.1.

Creacin 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 personalizarlo aadindole o quitndole objetos segn nuestras necesidades. Una vez que se haya
adquirido alguna experiencia se podr disear 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 botn 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 extraern los campos para mostrarlos en
97

98

Captulo 5. Los Formularios de Access

Figura 5.1: Creacin de un formulario.

5.1. Creacin de formularios

99

Figura 5.2: Creacin 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 pertenecientes 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 (campos 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 botn Terminar y se nos presenta construido, el
formulario, tal como los vemos en la figura 5.3
Adems de los campos seleccionados aparece en el formulario un contador de registros, y un navegador con el que poder moverse a travs de los registros de la tabla.
La vista que nos proporciona la figura 5.4 es la llamada Vista Formulario. Adems de
ella tambin puede accederse al formulario a travs de la Vista Diseo. En esta vista de

100

Captulo 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.

Diseo de formularios: Los controles

El asistente para formularios nos ha ayudado a generar el formulario en bruto, sin


embargo, lo normal es que deseemos aadirle nuevas funcionalidades o modificar en
parte el diseo con el fin de darle una nueva esttica o una nueva distribucin de los
elementos.
Para ello, deberemos pasar a modo de Diseo. En la ventana de diseo podemos
ver las tres partes bsicas del formulario:
1. Encabezado: Aqu se coloca la informacin que siempre est visible (ttulo, botones,
etc.).
2. Detalle: Contiene los campos de la tabla, etiquetas de texto, grficos, botones, etc.
Es donde se presentan los datos de los registros.
3. Pie: Similar al encabezado. Aqu se suelen colocar los botones.

5.2. Diseo de formularios: Los controles

Figura 5.4: Vistas del formulario y sus distintas zonas.

101

102

Captulo 5. Los Formularios de Access

Figura 5.5: Cuadro de herramientas para el diseo.

Los controles son los objetos donde se contiene toda la informacin 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 diseo.

5.2.1.

Tipos de controles

1. Dependientes: Son los que contienen informacin 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 informacin exttica, o mejoran la apariencia (lneas, cuadros, etiquetas...)
3. Calculados: Son los que almacenan informacin proveniente de resultado de expresiones o clculos.
Veamos en detalle los distintos controles de la figura 5.5. De algunos de ellos,
mostraremos una pequea imagen explicativa.

5.2.2.

Detalle de los controles

Seleccionar objetos: Permite seleccionar objetos con el ratn

5.2. Diseo de formularios: Los controles

103

Figura 5.6: Grupo de opciones.

Etiqueta: Para presentar texto de tipo descriptivo, como ttulos, rtulos o breves
instrucciones. Las etiquetas no presentan valores de campos o expresiones; siempre 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 ningn otro control. Las etiquetas individuales se utilizan para informacin, como el ttulo 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 informe para presentar un conjunto limitado de alternativas. Un grupo de opciones
hace fcil seleccionar un valor, ya que slo tiene que hacer clic en el valor que
desee. Slo se puede elegir una opcin cada vez de entre un grupo de opciones.
Un grupo de opciones consiste en un marco de grupo y un conjunto de casillas de
verificacin, 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 ms columnas,
que pueden aparecer con o sin encabezados. En la figura 5.7 se muestra cmo elegir el pas 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 ms columnas, que pueden aparecer con o sin encabezados. Si
un cuadro de lista de mltiples columnas es dependiente, Microsoft Access guarda
los valores de una de las columnas. Una lista de posibilidades ayuda tambin 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.
Botn de comando: Se utiliza en un formulario para iniciar una accin o un conjunto de acciones. Por ejemplo, puede crear un botn de comando que abra otro

104

Captulo 5. Los Formularios de Access

Figura 5.7: Cuadro combinado.

formulario. Para hacer que un botn de comando haga algo, se escribe una macro
o procedimiento de evento y se adjunta a la propiedad AlHacerClic (OnClick) del
botn. Con el Asistente para botones de comando se pueden crear ms de 30 tipos
diferentes de botones de comando. Cuando utiliza el Asistente para botones de
comando, Microsoft Access crea por el usuario el botn 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 introduccin de un formulario dentro de otro.
Rectngulo: Introduce un rectngulo 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 instruccin 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 tambin pueden ser independientes. Por ejemplo,
puede crear un cuadro de texto independiente para presentar los resultados de un
clculo, o para aceptar la entrada de datos de un usuario. Los datos de un cuadro
de texto independiente no se guardan en ningn sitio.
Botn de opcin: Se utiliza en un formulario como un control individual para presentar un valor S/No de una tabla, consulta o instruccin SQL base. Si la opcin
est seleccionada, el valor en la tabla Productos es S. Si no, el valor es No.
Botn de alternar: Se puede utilizar un botn de alternar en un formulario como un control individual para presentar un valor S/No. Por ejemplo, el botn
de alternar en la siguiente ilustracin es un botn dependiente con el campo Suspendido en la tabla Productos. El tipo de dato del campo Suspendido es S/No.

5.2. Diseo de formularios: Los controles

105

Cuando se presiona el botn, el valor en la tabla Productos es S. Cuando el botn


no est presionado, el valor en la tabla Productos es No.
Los botones de alternar son muy prcticos cuando se utilizan en un grupo de opciones junto con otros botones. En un grupo de opciones, puede ver fcilmente si
un botn est presionado. Pueden utilizarse imgenes en los botones de alternar
en vez de texto. Tambin puede utilizarse el botn de alternar en un cuadro dilogo personalizado para aceptar la entrada de datos de los usuarios.
Botn de verificar: Se utiliza para seleccionar valores del tipo Si/No. Puede utilizarse en un grupo de opciones. Puede utilizarse una casilla o botn de verificacin en un formulario o informe como un control individual para presentar un
valor S/No de una tabla, consulta o instruccin SQL base. Funciona de modo
similar al botn de alternar.
Imagen: Permite la introduccin 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 pginas de
informacin como un solo conjunto de informacin. Esta posibilidad resulta especialmente til cuando se trabaja con muchos controles que pueden ordenarse en
dos o ms categoras. Por ejemplo, puede utilizar un control ficha en un formulario
Empleados para separar la informacin general y la personal.
Lnea: Inserta una lnea en el formulario.
Otros controles: Abre una lista con ms 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 Diseo. El modo para
seleccionar el objeto es pincharlo con el ratn. Al seleccionar un objeto, aparecen
a su alrededor una serie de puntos negros que nos permiten moverlo o cambiarle
de tamao.
Mover: Cuando se tiene seleccionado un objeto o control, aparece en su vrtice superior izquierdo un cuadrado negro que es un poco mayor que los dems. Cuando
acercamos el cursor del ratn a l vemos que este se cambia a una mano. Pulsando
ese punto podemos mover el objeto en el formulario.

106

Captulo 5. Los Formularios de Access

Redimensionar: Tambin puede cambiarse el tamao 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 ratn hasta llegar al tamao deseado.
Aadir: 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 opcin, botones de
comando y lneas son ejemplos de diferentes controles. Si queremos, por ejemplo
aadir una etiqueta al formulario que hemos creado, y situarla en la parte superior como rtulo del formulario, debemos seguir los siguientes pasos: El primero es
abrir sitio en la cabecera del formulario; para ello situamos el cursor en la divisoria 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 hasta 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 sita el cursor donde queramos colocar la etiqueta, se pulsa clic y se arrastra hasta darle el tamao adecuado; posteriormente
escribiremos dentro de ella el rtulo ( por ejemplo Gestin de Clientes ). Por
supuesto que podemos darle un tipo de letra, tamao, color, etc. a la etiqueta que
acabamos de incorporar al formulario.
Eliminar: Para eliminar un objeto del formulario basta con seleccionarlo con el
ratn y pulsar la tecla Supr. Pueden eliminarse varios objetos simultneamente,
slo hay que tenerlos seleccionados.
Para obtener informacin sobre un control cuando se le est manejado dentro del
formulario, se le selecciona y se pulsa la tecla F1, apareciendo a continuacin una ventana pequea con informacin sobre el objeto seleccionado.

5.3.

Diseo de formularios: Las propiedades

En Microsoft Access se utilizan las propiedades para determinar las caractersticas


de las tablas, consultas, campos, formularios e informes. Cada control de un formulario o informe tiene tambin propiedades. Las propiedades del control determinan su
estructura, aspecto y comportamiento, as como las caractersticas del texto o los datos
que contiene. Las propiedades se establecen mediante la hoja de propiedades. Por ejemplo, la figura 5.8 muestra la hoja de propiedades del control que habamos aadido al
formulario, la etiqueta: De las distintas solapas de la caja de dialogo de las propiedades,
se ha abierto la solapa Todas.

5.3. Diseo 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


botn derecho del ratn que despliega el men de control, y se elige la opcin Propiedades
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 correspondiente 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 mayora 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 botn con tres puntos suspensivos. Al pulsarlo aparece una ventana con opciones
disponibles. Por ejemplo en la figura 5.8 se muestran las distintas propiedades desplegadas en la solapa Formato de la etiqueta. En la lnea segunda se observan los tres

108

Captulo 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 Formato (Format) afecta slo a cmo se muestran los datos. No afecta a cmo se almacenan
los datos. Microsoft Access dispone de formatos predefinidos para los tipos de datos
Fecha/Hora, Numrico y Moneda, Texto y Memo, y S/No. Los formatos predefinidos
dependen del pas especificado al hacer doble clic en Configuracin regional en el Panel
de control de Windows. Microsoft Access muestra los formatos apropiados para el pas
seleccionado. Por ejemplo, si est seleccionado Ingls (Estados Unidos) en la ficha Configuracin regional, 1234.56 en el formato Moneda aparece como $ 1,234.56, pero si est
seleccionado Ingls (Britnico) en la ficha Configuracin regional, el nmero aparece
como 1,234.56.
Si establece la propiedad Formato (Format) de un campo en la vista Diseo de la
tabla, Microsoft Access utiliza ese formato para mostrar datos en las hojas de datos.
Tambin 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
aparecern en el control que hayamos seleccionado Si el control no es dependiente de
ninguna tabla, como el caso de la etiqueta, esta solapa aparecer vaca. Si el control es
dependiente, es decir, muestra campos de alguna tabla, entonces s aparecern propiedades en la solapa Datos.
Como vemos en la figura 5.9 se muestran las propiedades del control correspondiente al cuadro conbinado Pas. Los datos que se introducirn 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 hacindolos de slo lectura. 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. Diseo de formularios: Las propiedades

Figura 5.9: Propiedad Datos del control.

109

110

Captulo 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 accin determinada que se produce en, o con, un objeto particular.
Microsoft Access puede responder a una variedad de eventos: clics del ratn, cambios
en los datos, formularios que se abren o se cierran, y muchos otros. Los eventos son
normalmente el resultado de una accin 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 accin
determinada (procedimiento de evento) definido en otra parte del programa.
Ante un evento determinado (como hacer o pulsar clic con el ratn) se puede responder con acciones de dos tipos: Procedimientos de eventos o Macros. Mas adelante
profundizaremos en esto.
1. La accin Responder al evento usando un procedimiento de evento.

5.3. Diseo de formularios: Las propiedades

111

2. Responder al evento usando una macro


Cuando se crea un procedimiento de evento para un objeto, Microsoft Access agrega una plantilla de procedimiento de evento nombrada para el evento y el objeto al
mdulo de formulario. Todo lo que se necesita hacer es agregar cdigo que responda de
la forma que se desee cuando se produzca el evento en el formulario o informe.
Ejemplo: Crear un botn de Salida del formulario
Supongamos que deseamos aadir un botn a nuestro formulario de Gestin 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 Botn 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 insercin del botn, (de momento, el
botn se llama Comando33) en el lugar indicado.
2. De inmediato se abre una ventana donde se presentas las distintas categoras de
acciones susceptibles de ser utilizadas por este tipo de control. Como se ilustra en
la figura, existen distintas acciones para cada categora, lo que nos da una muestra
de las distintas posibilidades de asignar acciones a un botn de comando.
3. Una vez elegida la accin Cerrar formulario dentro de la categora Operaciones
con formularios, se pulsa el botn Siguiente. Se abre una nueva ventana del asistente para botones de comando, en la que se nos piden los datos externos del
botn, es decir si se va a representar la accin por medio de una imagen adecuada
a la accin,(de las que Windows o Access poseen, o que nosotros mismos hayamos
creado), o si en el botn aparecer una palabra indicativa de la accin.
4. El siguiente paso es asignar un nombre al botn (objeto control). En este caso le
hemos llamado Boton Salir. Este es el nombre del objeto que conoce Access internamente, y que usa para cualquier accin o referencia a este botn, y que no es
visible para el usuario. Por ello no se debe confundir con la palabra que aparece
en el botn (tambin podramos colocar la palabra Salir en la superficie visible del
botn en vez de la imagen).
5. Pulsar el botn Terminar. El asistente desaparece y entramos de nuevo en la ventana de Diseo del formulario, en el cual se encuentra ya perfectamente operativo
el nuevo botn Salir. Para ver los resultados no hay mas que pasar a modo Vista
Formulario. Esta opcin se despliega en la parte superior izquierda de la barra de
herramientas, situada bajo el men Archivo de la barra general de mens.
El resultado lo tenemos en la figura 5.12. Cuando pulsemos el botn Salir, Access
abandonar el formulario.

112

Captulo 5. Los Formularios de Access

Figura 5.11: Asistente para botones de comando.

5.3. Diseo de formularios: Las propiedades

Figura 5.12: Resultado: Formulario con el botn salir.

113

114

Captulo 5. Los Formularios de Access

En este ejemplo, la accin de Responder al evento Al hacer clic que hemos utilizado es la de un procedimiento de evento, ya que, si bien no hemos tenido que
escribir ningn cdigo, 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.
Private Sub Boton_salir_Click()
On Error GoTo Err_Boton_salir_Click

18

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 lneas de cdigo correspondientes al Procedimiento 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 cdigo del procedimiento contiene otras
rdenes para el caso de que se produzca algn 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 sera:
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 accin 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 botn Nuevo en la barra de herramientas de la ventana Base
de datos.
c) Agregar una accin, (es decir, una instruccin 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. Diseo de formularios: Las propiedades

Figura 5.13: Responder a evento con una macro.

115

116

Captulo 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 columna Accin. Si desea insertar una accin entre dos filas de acciones, hacer
clic en el selector de la fila de accin que se encuentra justo debajo de la
fila donde desea insertar la nueva accin y, a continuacin, hacer clic en
Insertar fila en la barra de herramientas.
2) En la columna Accin, hacer clic en la flecha para presentar la lista de
acciones.
3) Hacer clic en la accin que se desee utilizar.
4) En la parte inferior de la ventana, especifcar los argumentos de la accin,
si es que se requiere alguno. Si se trata de argumentos de accin ( informacin adicional que requieren algunas acciones de macro, por ejemplo,
el objeto al que afecta la accin o condiciones especiales en las que tiene
lugar la accin.) 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 accin.
5) Introducir un comentario para la accin. Los comentarios son opcionales.

5.4. Ejecucin del formulario

5.3.4.

117

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. Segn el
tipo de control, aparecern unas u otras propiedades.

5.3.5.

Solapa Todas

Como es lgico, bajo la solapa Todas, se muestra la suma de las anteriores solapas.

5.4.

Ejecucin del formulario

Una vez terminado el diseo del formulario, lo primero que debe hacerse es guardarlo. De todas formas, antes de cerrarlo, se nos pregunta si deseamos salvar los cambios. 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 diseo basta con pulsar el botn Vista, que est situado en la barra de herramientas
debajo de Archivo, en la barra de mens. Otra forma de ejecutar el formulario durante
la fase de diseo es situar el puntero del ratn en la barra de ttulo del formulario, pulsar
el botn derecho del ratn, y elegir la opcin 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 botn Abrir.

5.5.

Otros asistentes para formularios

Adems del asistente para formularios que hemos venido utilizando, existen otros
asistentes en Access que permiten automatizar la creacin de formularios, tal como
aparecen en la figura 5.1. Vemoslos brevemente:

5.5.1.

Autoformulario: Columnas

El Autoformulario de columnas genera automticamente un formulario donde los


campos de la tabla elegida se muestran cada uno en una lnea con su correspondiente

118

Captulo 5. Los Formularios de Access

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

5.5.2.

Autoformulario: Tabular

El Proceso se realiza de igual manera. El formulario que se genera muestra los campos 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 grficos

Agrega un grfico al formulario basndose en los datos de una tabla. El Asistente


para grficos determina, a partir de los datos especificados, si debe mostrar los datos
de todos los campos en un grfico global o si es ms apropiado mostrar un grfico
vinculado a registros, de modo que al desplazarse de registro en registro pueda ver un
grfico que represente slo los datos del registro actual. No obstante, si el Asistente para
grficos crea un grfico global y en realidad necesita un grfico vinculado a registros,
puede vincular el grfico a un registro especfico.
Para utilizar el Asistente para grficos, hay tener Microsoft Graph instalado. Microsoft Access no instala Microsoft Graph de forma predeterminada en una configuracin tpica.

5.5.5.

Asistente para tablas dinmicas

Mediante el Asistente para tablas dinmicas, se puede crear un control en un formulario que permite resumir grandes cantidades de datos. Una tabla dinmica es como
una consulta de tabla de referencias cruzadas, pero en la que puede cambiar dinmicamente los encabezados de las filas y de las columnas para obtener una vista distinta de
los datos. Un formulario de tabla dinmica es una tabla interactiva que realiza los clculos elegidos. Por ejemplo, un formulario de tabla dinmica puede presentar los valores
de un campo horizontal o verticalmente y, a continuacin, calcular el total de la fila o
columna. Tambin puede usar los valores de un campo como encabezados de filas o

5.6. Subformularios

119

columnas, calculando las cantidades individuales en la interseccin de cada encabezado de fila y columna y, a continuacin, calcular subtotales y totales. Por ejemplo, para
analizar las ventas por categoras de productos, podra presentar los nombres de los
empleados como encabezados de columna en la parte superior del formulario de tabla
dinmica, las categoras de productos como encabezados de las filas del formulario de
tabla dinmica y el importe de las ventas calculado por categora de producto para cada
empleado en la interseccin de cada fila y columna.
Los formularios de tabla dinmica reciben ese nombre porque es posible cambiar
dinmicamente sus diseos para analizar los datos de diferentes formas. Es posible reorganizar los encabezados de filas, encabezados de columnas y campos de pgina hasta
que se consiga el diseo deseado. Cada vez que se modifica el diseo, el formulario
de tabla dinmica inmediatamente vuelve a calcular los datos en funcin de la nueva organizacin. Adems, el formulario de tabla dinmica se actualiza cada vez que
cambian los datos de origen. Los formularios de tabla dinmica se crean en Microsoft
Access utilizando el Asistente para tablas dinmicas. El asistente utiliza Microsoft Excel
para crear la tabla dinmica y Microsoft Access para crear un formulario en el que la
incrusta. Cada vez que se abre un formulario de tabla dinmica, ste muestra los datos
correspondientes a la ltima vez que se la ha activado.
Para crear el formulario de tablas dinmicas basta con pulsar Nuevo en la solapa
Formularios, elegir el asistente para tablas dinmicas, 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 informacin deseada.
El resultado final del proceso es el que muestra la figura 5.17. Vemos que en el
formulario dinmico se ha incrustado la Hoja de Clculo 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 slo utilizan una tabla. Sin embargo, hay
circunstancias en las que se necesita trabajar con datos que estn repartidos en dos o
mas tablas relacionadas.
Un subformulario es un formulario dentro de otro formulario. El formulario primario se llama formulario principal y el otro se llama subformulario. Una combinacin
formulario/subformulario se llama a menudo formulario jerrquico, formulario principal/detalle o formulario principal/secundario.
Los subformularios son muy eficaces cuando se desea mostrar datos de tablas o
consultas con una relacin uno a varios29. Por ejemplo, puede crear un formulario con
un subformulario para mostrar los datos de una tabla Categoras y de una tabla Produc-

120

Captulo 5. Los Formularios de Access

Figura 5.15: Asistente para tablas dinmicas.

5.6. Subformularios

121

Figura 5.16: Asistente para tablas dinmicas: Creacin del formulario.

122

Captulo 5. Los Formularios de Access

Figura 5.17: Formulario de tablas dinmicas: Resultados.

5.6. Subformularios

123

tos. Los datos de la tabla Categoras es el lado no"de la relacin. Los datos de la tabla
Productos constituyen el lado "varios"de la relacin, ya que cada categora tiene ms de
un producto.
El formulario principal y subformulario de este tipo de formularios estn vinculados para que el subformulario presente slo los registros que estn relacionados con
el registro actual del formulario principal. Por ejemplo, cuando el formulario principal
presenta la categora Bebidas, el subformulario muestra slo los productos de la categora Bebidas.
Un formulario principal puede tener cualquier nmero de subformularios si coloca
cada subformulario en el formulario principal. Puede anidar hasta dos niveles de subformularios. Esto significa que puede tener un subformulario dentro de un formulario
principal y que puede tener otro subformulario dentro de ese subformulario. Por ejemplo, podra tener un formulario principal que mostrara los clientes, un subformulario
que presentara los pedidos y otro subformulario ms que mostrara los detalles de los
pedidos.

5.6.1.

Creacin de Subformularios

Supongamos que deseamos aadir 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 relacin
Uno a Varios.
Los pasos que deberemos seguir son los siguientes:
1. Pulsar el botn Nuevo de la solapa Formularios, elegir la opcin 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. Despus 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 vern los datos en
el formulario.
4. Lo siguiente es pulsar el botn Terminar. El resultado es la creacin de un subformulario 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

Captulo 5. Los Formularios de Access

Figura 5.18: Creacin 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 podramos aadir que tambin es posible agregar
a un formulario creado con anterioridad un subformulario. La forma de crear el
subformulario es a travs de la barra de herramientas (activar el botn Asistentes
para controles y el botn Subformularios de la misma barra de herramientas). Con
ellos activados se lleva el cursor dentro del formulario anterior (el cursor cambia a
una pequea cruz) y all se pulsa y arrastra hasta crear el sitio del subformulario.
De inmediato aparece el asistente para subformularios; slo hay que seguir sus
directrices.

Captulo 6
Documentos impresos: Informes y
etiquetas
Hasta ahora hemos visto las distintas formas de manipulacin de los datos: Tablas,
Consultas, Formularios, etc pero esos datos que hemos almacenado, en algn momento deberemos presentarlos en forma impresa. Access proporciona todas las herramientas 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 elementos, y que en definitiva mejoran la presentacin de los datos.
La mayor parte de la informacin en un informe proviene de una o varias tablas,
consultas o instruccin SQL. Ese es el origen de los datos del informe. Hay otra informacin del informe que se almacena en el diseo del informe, la que atae a los objetos
y modos de presentar los datos.
Veamos en primer lugar los distintos tipos de informe que ofrece Access para entrar
a continuacin en el proceso de creacin o generacin 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

Captulo 6. Documentos impresos: Informes y etiquetas

Figura 6.1: Asistentes para disear 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 izquierda 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 informacin de los
campos numricos.

130

6.1.3.

Captulo 6. Documentos impresos: Informes y etiquetas

Creacin de informes

Podemos crear un informe directamente, sin ayudas o hacer que Microsoft Access
cree un informe automticamente mediante uno de los asistentes para informes. Un
asistente para informes acelera el proceso de creacin ya que hace todo el trabajo bsico.
Cuando usamos un asistente para informes, ste nos pide informacin y crea un informe
basado en nuestras respuestas. Aunque hayamos creado muchos informes, puede que
deseemos utilizar un asistente para organizar rpidamente el informe, y despus cambiar a la vista Diseo para personalizarlo.
Creacin de informes con asistente
Como en captulos anteriores, vamos a elaborar un informe sobre la tabla tblClientes
en forma de listado. Seguimos los pasos sealados en los casos anteriores. Nos irn
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 dilogo 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 grficos o Asistente
para etiquetas en el paso 3, hay que seguir las instrucciones de los cuadros de
dilogo del asistente. Si hemos seleccionado Autoinforme: tabular o Autoinforme:
en columnas, Microsoft Access crear automticamente el informe.
Una vez terminada la operacin vemos el resultado en la figura
Adems de este aspecto, en que hemos distribuido los datos por pasos. el informe
podra 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
Diseo. Podramos ajustar los espacios para que los campos estn mas proporcionados,
podramos tambin 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 informacin de un informe puede dividirse en secciones. Cada seccin tiene un


propsito especfico y se imprime en un orden previsible en la pgina y en el informe.
En la vista Diseo, las secciones se representan como bandas y cada seccin contenida
en el informe se representa una vez. En el informe impreso, algunas secciones pueden
repetirse varias veces. Usted determina dnde aparece la informacin en cada seccin
colocando controles, como etiquetas y cuadros de texto.
Encabezado del informe: Una etiqueta llamada vendedordivision que vamos a
rotular con la frase Previsin de ventas por vendedor y divisin
Encabezado de la pgina: Se escribe aqu lo que deseemos que aparezca en la parte
superior de cada una de las pginas. En este caso vamos a colocar como cabecera,
lo nombre de las distintas columnas o campos de la tabla: Divisin, cdigo, nombre, etc. En este caso, adems de la cabecera de pgina, queremos destacar que el
listado es por divisiones, para ello vamos a introducir un encabezado de Divisin.
Esto har que podamos agrupar todos los resultados de cada divisin comercial.
Detalle: En esta parte del informe es donde se incluyen los campos de la tablas que
deseamos imprimir.
Pi de pgina: Se coloca aqu la informacin que debe aparecer en la parte inferior
de cada pgina. En este caso a la izquierda aparecer la fecha de hoy en formato

132

Captulo 6. Documentos impresos: Informes y etiquetas

Figura 6.5: Secciones del informe.

6.1. Informes

133

Figura 6.6: Previsin de ventas por divisiones.

largo; a la derecha aparecer impreso el nmero de pgina y el total de ellas. Por


supuesto, que pueden hacerse las modificaciones que se deseen.
Pi del informe: Es donde se imprime la informacin del final del informe.
El informe modificado quedara tal como lo muestra la figura 6.6:
La manera de realizar modificaciones en el diseo de los informes sigue el mismo
proceso que las que se realizan en los formularios.
Adems de las secciones que se crean con la ayuda del asistente, cada usuario
puede crear o eliminar secciones de acuerdo con el diseo del informe.
Crear y eliminar Secciones del informe
Para crear o aadir secciones en un informe se siguen los pasos:
Desde la ventana de Diseo se pulsa la opcin Ordenar y Agrupar. Aparece la Venta
Ordenar y Agrupar. En ella se pueden elegir aquellos campos de la tablas que se desee

134

Captulo 6. Documentos impresos: Informes y etiquetas

agrupar en una seccin. Basta con pulsar en una lnea en blanco y elegir un campo. Cada
seccin 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 seccin se desee eliminar, y se pulsa el
botn Suprimir.
Igualmente se pueden introducir en el informe saltos de pgina con el fin de hacer
la informacin ms presentable. Para introducir saltos de pagina, basta con Pulsar clic
en el control salto de pgina 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 decamos 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.

Creacin de etiquetas

Para crear etiquetas, lo primero que debemos hacer es pulsar Nuevo en la solapa de
Informes, elegir la opcin 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 tamao de letra para las etiquetas, as como los
campos de la tabla que aparecern en cada etiqueta. En la siguiente pantalla del asistente
elegimos el campo por el cual se van a ordenar las etiquetas. Despus habremos de
poner un nombre al informe de etiquetas que se est generando.
Este diseo genera una pagina con varias etiquetas. En este caso elegimos dos etiquetas 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 distintas medidas del mercado. Pero si deseamos hacer un formato propio podemos hacerlo
con el botn Personalizar. Mediante esta opcin es posible disear cualquier tipo de
etiqueta que necesitemos.

6.2. Etiquetas

135

Figura 6.7: Asistente para el diseo de etiquetas.

Figura 6.8: Etiquetas de clientes.

You might also like