135
Introdución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema 9 Dpto. de Economía Financiera y Dirección de Operaciones (c)Antonio Paredes Moreno Universidad de Sevilla

Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

Introdución a las bases de datoscon Microsoft Access

Gestión informatizada delsubsistema comercial

2º Ciclo / 2º CursoTema 9

Dpto. de Economía Financiera y Dirección de Operaciones(c)Antonio Paredes Moreno

Universidad de Sevilla

Page 2: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema
Page 3: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

Resumen

Estas páginas responden al proposito de servir como material de base para el es-tudio del tema Modelización de la gestión comercial a través de los sistemas gestores de basesde datos, para los alumnos que cursan la asignatura ”Gestión informatizada del subsis-tema comercial” en la Licenciatura en investigación y técnicas de mercado. Para elloutilizaremos como herramienta de trabajo la aplicación más extendida, MsAccess 2000y 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 unade las materias más importantes en el mundo de la empresa, cual es el de las bases dedatos. Con la ayuda de ejemplos se va introduciendo al alumno en el manejo de estaaplicación, desde la pantalla inicial.

Para el aprendizaje de bases de datos con MsAccess 200x, se emplean tanto la for-ma manual de realizar las operaciones, como con la ayuda de los distintos asistentesincrustados en la herramienta.

Se inicia mostrando el diseño de la base de datos: Qué son y como se crean e im-portan las tablas; como se manejan, modifican; qué son y como se crean las relacionese indices; Una vez diseñada la estructura, se describe como se insertan, manejan y con-sultan los datos en las tablas.

Otro capítulo lo integra todo el proceso de aprendizaje acerca de las consultas, suscreación, ejecución, distintos tipos, operadores a utilizar. Además de la creación en for-ma visual, se introduce el lenguaje SQL y sus instrucciones fundamentales, así como lassubconsultas.

Se dedica un capítulo al estudio detallado de los formularios y subformularios,describiéndose los distintos controles visuales, así como la codificación de eventos yacciones.

Por último, dedicamos un capítulo al aprendizaje de las salidas impresas, es decir,a los informes y etiquetas.

Para hacer más amigable y eficaz el aprendizaje, se incrustan figuras y ejemplosadecuados a la temática que se va exponiendo a lo largo de las páginas.

Page 4: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema
Page 5: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

Índice general

1. Introducción a Microsoft Access 13

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

2. El entorno de Access 15

2.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.2. El escritorio, o área de trabajo . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.3. Los ayudantes de Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3. Las Bases de datos de Access 19

3.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.1.1. El Diseño de una base de datos . . . . . . . . . . . . . . . . . . . . . 20

3.1.2. Tipos de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.1.3. Relación entre tablas . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.2. Crear una base de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

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

3.2.2. Propiedades de los campos . . . . . . . . . . . . . . . . . . . . . . . 27

3.2.3. Proceso de creación de la tabla . . . . . . . . . . . . . . . . . . . . . 30

3.2.4. Modificación de una tabla . . . . . . . . . . . . . . . . . . . . . . . . 30

3.2.5. Otras formas de creación de tablas . . . . . . . . . . . . . . . . . . . 31

3.2.6. Renombrar tablas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

3.2.7. Eliminar tablas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

3.3. Claves e índices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

3.3.1. Claves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

5

Page 6: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

3.3.2. Indices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.4. Relaciones entre tablas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

3.4.1. Tipos de relaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

3.4.2. Crear relaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

3.4.3. Modificar relaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

3.4.4. Eliminar relaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

3.5. Introducción de datos en la tabla . . . . . . . . . . . . . . . . . . . . . . . . 43

3.5.1. Introducir registros . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

3.5.2. Editar registros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

3.5.3. Copiar, mover, eliminar datos . . . . . . . . . . . . . . . . . . . . . . 45

3.5.4. Insertar registros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

3.5.5. Insertar columnas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

3.5.6. Buscar datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

3.5.7. Filtrar datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

3.5.8. Reemplazar datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

4. Consultar la base de datos 51

4.1. Creación de una consulta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

4.2. Campos de la consulta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

4.3. Condiciones de la consulta: Simples y compuestas . . . . . . . . . . . . . . 52

4.4. Operadores lógicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

4.4.1. El Operador Y (AND) . . . . . . . . . . . . . . . . . . . . . . . . . . 57

4.4.2. El Operador O (OR) . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

4.4.3. El Operador Negación . . . . . . . . . . . . . . . . . . . . . . . . . . 57

4.4.4. La expresión Nulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

4.5. Operaciones con la consulta . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

4.6. Otros ejemplos de consulta . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

4.6.1. Consultas de Selección . . . . . . . . . . . . . . . . . . . . . . . . . . 60

4.6.2. Consultas de parámetros . . . . . . . . . . . . . . . . . . . . . . . . 61

4.6.3. Consultas de referencias cruzadas . . . . . . . . . . . . . . . . . . . 64

4.6.4. Cómo crear consultas de referencias cruzadas . . . . . . . . . . . . 64

6

Page 7: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

4.6.5. Consultas que crean tablas . . . . . . . . . . . . . . . . . . . . . . . 65

4.6.6. Consultas que borran registros (filas) . . . . . . . . . . . . . . . . . 69

4.6.7. Consultas que añaden registros (filas) . . . . . . . . . . . . . . . . . 71

4.6.8. Consultas que actualizan registros (filas) . . . . . . . . . . . . . . . 73

4.7. Consultas con varias tablas . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

4.8. Consultas SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

4.8.1. Clases de consultas SQL . . . . . . . . . . . . . . . . . . . . . . . . . 78

4.8.2. Consultas de unión . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

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

4.8.4. Consulta de paso a través . . . . . . . . . . . . . . . . . . . . . . . . 86

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

4.8.6. Consulta de definición de datos . . . . . . . . . . . . . . . . . . . . . 88

4.9. Subconsultas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

4.9.1. Crear subconsultas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

5. Los Formularios de Access 97

5.1. Creación de formularios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

5.2. Diseño de formularios: Los controles . . . . . . . . . . . . . . . . . . . . . . 100

5.2.1. Tipos de controles . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

5.2.2. Detalle de los controles . . . . . . . . . . . . . . . . . . . . . . . . . 102

5.2.3. Manejo de los controles . . . . . . . . . . . . . . . . . . . . . . . . . 105

5.3. Diseño de formularios: Las propiedades . . . . . . . . . . . . . . . . . . . . 106

5.3.1. Solapa Formato . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

5.3.2. Solapa Datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

5.3.3. Solapa Eventos (y macros) . . . . . . . . . . . . . . . . . . . . . . . . 108

5.3.4. Solapa Otras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

5.3.5. Solapa Todas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

5.4. Ejecución del formulario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

5.5. Otros asistentes para formularios . . . . . . . . . . . . . . . . . . . . . . . . 117

5.5.1. Autoformulario: Columnas . . . . . . . . . . . . . . . . . . . . . . . 117

5.5.2. Autoformulario: Tabular . . . . . . . . . . . . . . . . . . . . . . . . . 118

7

Page 8: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

5.5.3. Autoformulario: Hoja de Datos . . . . . . . . . . . . . . . . . . . . . 118

5.5.4. Asistente para gráficos . . . . . . . . . . . . . . . . . . . . . . . . . . 118

5.5.5. Asistente para tablas dinámicas . . . . . . . . . . . . . . . . . . . . . 118

5.6. Subformularios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

5.6.1. Creación de Subformularios . . . . . . . . . . . . . . . . . . . . . . . 123

6. Documentos impresos: Informes y etiquetas 127

6.1. Informes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

6.1.1. Clases de informes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

6.1.2. Grupos totales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

6.1.3. Creación de informes . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

6.1.4. Secciones del informe . . . . . . . . . . . . . . . . . . . . . . . . . . 131

6.2. Etiquetas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

6.2.1. Creación de etiquetas . . . . . . . . . . . . . . . . . . . . . . . . . . 134

8

Page 9: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

Índice de figuras

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

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

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

3.2. Relaciones entre tablas de una base de datos. . . . . . . . . . . . . . . . . . 22

3.3. Creación de una base de datos. . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.4. Creación de la estructura de una tabla. . . . . . . . . . . . . . . . . . . . . 25

3.5. Estructura de una tabla. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.6. Tipos de datos de los campos. . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.7. Crear tablas con asistente. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

3.8. Crear tablas con asistente. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3.9. Crear índices en las tablas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

3.10. Relación Uno a Varios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

3.11. Relación Varios a Varios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

3.12. Relación uno a uno. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

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

3.14. Búsqueda de campos relacionados. . . . . . . . . . . . . . . . . . . . . . . 46

3.15. Búsqueda de registros en la tabla. . . . . . . . . . . . . . . . . . . . . . . . 48

3.16. Filtrado de datos en la tabla. . . . . . . . . . . . . . . . . . . . . . . . . . . 49

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

4.2. Consultando una tabla. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

4.3. Consultando una tabla con criterios. . . . . . . . . . . . . . . . . . . . . . . 56

4.4. El criterio OR en la consulta. . . . . . . . . . . . . . . . . . . . . . . . . . . 58

9

Page 10: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

4.5. Tipos de consultas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

4.6. Consulta de un parámetro. . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

4.7. Consulta de dos parámetros. . . . . . . . . . . . . . . . . . . . . . . . . . . 63

4.8. Consulta de referencias cruzadas. . . . . . . . . . . . . . . . . . . . . . . . 66

4.9. Consulta de referencias cruzadas. . . . . . . . . . . . . . . . . . . . . . . . 68

4.10. Consulta de eliminación de registros. . . . . . . . . . . . . . . . . . . . . . 70

4.11. Botones de prueba y ejecución de consultas. . . . . . . . . . . . . . . . . . 71

4.12. Consulta de datos anexados. . . . . . . . . . . . . . . . . . . . . . . . . . . 73

4.13. Consulta de actualización. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

4.14. Consulta de varias tablas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

4.15. Consultas SQL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

4.16. Consulta de unión básica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

4.17. Consulta de paso a traves. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

4.18. Consulta con una subconsulta. . . . . . . . . . . . . . . . . . . . . . . . . . 96

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

5.2. Creación de un formulario con el asistente. . . . . . . . . . . . . . . . . . . 99

5.3. Vista del formulario terminado por el asistente. . . . . . . . . . . . . . . . 100

5.4. Vistas del formulario y sus distintas zonas. . . . . . . . . . . . . . . . . . . 101

5.5. Cuadro de herramientas para el diseño. . . . . . . . . . . . . . . . . . . . . 102

5.6. Grupo de opciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

5.7. Cuadro combinado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

5.8. Propiedades el control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

5.9. Propiedad Datos del control. . . . . . . . . . . . . . . . . . . . . . . . . . . 109

5.10. Propiedad Eventos del control. . . . . . . . . . . . . . . . . . . . . . . . . . 110

5.11. Asistente para botones de comando. . . . . . . . . . . . . . . . . . . . . . . 112

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

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

5.14. Macro salir. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

5.15. Asistente para tablas dinámicas. . . . . . . . . . . . . . . . . . . . . . . . . 120

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

10

Page 11: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

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

5.18. Creación de un subformulario. . . . . . . . . . . . . . . . . . . . . . . . . . 124

5.19. Formulario de clientes y su pedidos. . . . . . . . . . . . . . . . . . . . . . . 125

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

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

6.3. Informe en columnas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

6.4. Informe de clientes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

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

6.6. Previsión de ventas por divisiones. . . . . . . . . . . . . . . . . . . . . . . . 133

6.7. Asistente para el diseño de etiquetas. . . . . . . . . . . . . . . . . . . . . . 135

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

11

Page 12: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema
Page 13: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

Capítulo 1

Introducción a Microsoft Access

1.1. Iniciar y salir de Access

Con el fin de no hacer demasiado extensas esta páginas de acercamiento a MsAc-cess, vamos a suponer ya instalada la aplicación en el ordenador con el sistema operati-vo Windows.

Para entrar en Access se pulsa Inicio en la barra de tareas, y en el menú que se de-spliega, se elige Programas, y dentro de este Microsoft Access. Otro modo más cómodopodría ser pulsando el icono de Acceso directo a Access desde el mismo escritorio deWindows1. De inmediato nos aparece el entorno de Access con una ventana en la quepodemos crear o abrir una base de datos.

Para salir de Access lo primero que deberemos hacer es guardar nuestros trabajosy pulsar la opción Salir que se encuentra al final del menú Archivo. Otra forma de salirel pulsar el pequeño botón de la parte superior derecha, con el símbolo del aspa o la X,que es el que utiliza Windows para cerrar sus aplicaciones.

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

13

Page 14: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

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

Figura 1.1: Pantalla inicial de Access.

Page 15: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

Capítulo 2

El entorno de Access

2.1. Introducción

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

1. Abrir una base de datos ya existente o bien

2. Crear una base de datos nueva.

Antes de seguir adelante hay que señalar que contamos con el ayudante de Office: Se trata del componente llamado Clipo (Se trata de un clip) , quien amigablementenos ofrece ayuda según la tarea que estemos desarrollando. Para que aparezca bastacon pulsar el botón derecho de la barra de herramientas, que aparece con un signo deinterrogación dentro de una viñeta.

También contamos con es sistema de ayuda clásico, es decir, la tecla F1, que nosbrinda información sobre la acción u objeto donde nos encontramos y su contexto. Es-

Figura 2.1: Ayudante de Access.

15

Page 16: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

16 Capítulo 2. El entorno de Access

ta es la Ayuda oficial de Access. Se la activa con el signo ? (A la derecha, en la barrasuperior), abriéndose una ventana de tres solapas. El contenido de esta ayuda es prácti-camente un manual de la aplicación.

En la ventana principal, se encuentran los siguientes elementos:

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

La barra de menús: Situada inmediatamente debajo de la barra de titulo. Contienelos típicos menús desplegables de Windows: Archivo, Edición, Ver, Insertar, For-mato, Registro, Herramientas, Ventana y Ayuda.

La barra de herramientas: Con las distintas funcionalidades. Se las puede mover yrecolocar, simplemente con el ratón. Se dispone de un menú emergente (al pulsarel botón derecho del ratón cuando se está situado sobre alguna herramienta), conlas opciones para ver las barras de Base de datos, Web, o Personalizar, con otrasherramientas.

2.2. El escritorio, o área de trabajo

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

2.3. Los ayudantes de Access

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

Bases de datos.

Tablas

Informes o listados

Formularios o pantallas

Page 17: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

2.3. Los ayudantes de Access 17

Etiquetas

Gráficos

Vínculos HTML

Publicación en Web

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

Page 18: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema
Page 19: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

Capítulo 3

Las Bases de datos de Access

3.1. Introducción

Como decimos, nada más entrar en Access deberemos abrir una base de datos obien crear una nueva. En cualquiera de ambos casos creemos de suma importancia elconocimiento aunque sea breve de algunos conceptos básicos sobre las bases de datos.

Una base de datos es un conjunto de datos que pertenecen al mismo contexto, alma-cenados sistemáticamente para su posterior uso. En este sentido, una biblioteca puedeconsiderarse una base de datos compuesta en su mayoría por documentos y textos im-presos en papel e indexados para su consulta. En informática existen los ”sistemas ge-stores de bases de datos” (SGBD), que permiten almacenar y posteriormente accedera los datos de forma rápida y estructurada. Las aplicaciones más usuales son para lagestión de empresas e instituciones públicas. El principal componente de una base dedatos son las tablas. Una tabla de una base de datos, es un conjunto de datos organizadoen una matriz compuesta de filas y columnas.

Cada fila de la tabla es un registro. El registro contiene la información de un indi-

Figura 3.1: Parte de una tabla Access.

19

Page 20: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

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

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

3.1.1. El Diseño de una base de datos

Se compone fundamentalmente de tres etapas:

1. Diseño conceptual: Consiste en la recopilación de los aspectos reales de aquellosobjetos sobre los que tratará la base de datos y la creación de un modelo conceptualde tales aspectos.

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

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

Organización de los datos: Para que la información realmente nos preste un servicioeficaz, hay que ordenarla. De poco nos valdrá la guía telefónica si no estubiera ordena-da. Si queremos organizar nuestra biblioteca, debemos decidir qué concepto, o sea quécolumna o campo vamos a tomar como clave (ya sea el título, el autor o el tema sobre elque trata el libro).

Igualmente hay que tener en cuenta que en una tabla no deben duplicarse los regis-tros (que pasaría si dos clientes tuvieran el mismo CIF ?). La clave de una tabla, es portanto, la columna o columnas cuyos valores no pueden repetirse en dos o más registros.A cada valor de la clave le corresponde una sola fila (clave única). Se llama clave pri-maria a la columna por la cual se identificará a la tabla. En el caso de los libros, la claveprimaria sería el código del libro, en el caso de un proveedor o cliente, sería el CIF (uotro código único).

3.1.2. Tipos de datos

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

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

Page 21: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

3.2. Crear una base de datos 21

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

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

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

3.1.3. Relación entre tablas

Después de diseñar las tablas que conforman la base de datos, hay que determinarqué relaciones existen entre las tablas, con el fin de dar consistencia a los datos:

Supongamos que tenemos una lista de correos con información sobre los clientes deun almacén que distribuye accesorios de cocina al por mayor. El almacén puede tener,además, una base de datos aparte para los pedidos de los clientes, incluyendo campospara el código del cliente, el código de la mercancía, el precio unitario, la cantidad so-licitada y el coste total. La base de datos de la lista de correos y la de los pedidos de losclientes son relacionales, ya que tiene el campo de código de cliente en común (véasefígura 3.2).

Buscando el código de cliente en la lista de correos y enfrentándolo con el del for-mulario de pedidos, el gestor de base de datos puede determinar, quién es el compradory donde localizarlo, y que es lo que ha pedido y el coste total de la compra, mediante laotra tabla.

3.2. Crear una base de datos

Una vez analizados los datos, diseñadas en papel las tablas y definidas las rela-ciones entre ellas, retomamos el proceso iniciado al comienzo de este capítulo. Vamosa crear una base de datos utilizando como herramienta el gestor de bases de datos Ac-cess . Antes deberíamos haber creado una carpeta nueva o directorio en el que podamostrabajar con los datos.

Para crear la base de datos podemos dejarnos ayudar por el asistente o partir decero. Si lo elegimos podremos tomar como ejemplo alguna de las varias bases de datosya creadas que el asistente nos ofrece, o bien empezar con una base de datos en blanco,que es lo que vamos a hacer.

Se accede a esta pantalla pulsando Archivo y Nueva base de datos, o desde la ven-tana que aparece al iniciarse Access, marcando la opción base de datos en blanco. Deinmediato nos aparece la ventana ”Archivo nueva base de datos” en la que nos solicita

Page 22: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

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

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

Page 23: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

3.2. Crear una base de datos 23

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

Page 24: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

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

el nombre de la base de datos y la carpeta donde situarla. En este ejemplo le llamaremosprueba1. Aceptamos, se guarda el nuevo nombre y aparece la pantalla de la figura 3.3.

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

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

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

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

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

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

Importar tabla. Permite importar y convertir tablas de otras bases de datos. Alimportar crea una copia de aquellos datos en una tabla nueva de Access.

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

Elegimos ”Vista de diseño”, y nos aparece la pantalla Tabla, sobre la que trabajare-mos para crear la nueva tabla:

La ventana de divide en dos partes: En la superior aparecen distintas filas. En cadauna de las filas escribiremos el nombre de un campo o atributo de la tabla. Cada fila sedivide en tres columnas:

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

1Por defecto se guarda con la extensión mdb

Page 25: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

3.2. Crear una base de datos 25

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

Page 26: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

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

Figura 3.5: Estructura de una tabla.

2. Tipo de datos: Cuando pulsamos es esta columna se despliega una lista con lostipos de datos disponibles. Veámoslos con detenimiento en la figura 3.6.

Los tipos de datos Numérico, Fecha/Hora, Moneda y Sí/No disponen de formatosde visualización predefinidos. Establezca la propiedad Formato para seleccionaruno de los formatos disponibles para cada tipo de datos. También puede crear unformato de visualización personalizado para todos los tipos de datos excepto parael tipo de datos Objeto OLE.

3. Descripción: En esta columna se puede escribir un comentario aclaratorio delcampo. Se puede escribir texto libremente.

En la parte inferior de la pantalla, llamada ”Propiedades del campo”, tenemos unaserie de posibilidades que nos permiten depurar el diseño de la tabla. El contenido delas solapas General y Búsqueda, que en la figura 3.5 aparecen vacías, cambiará según eltipo de campo que seleccionemos en cada fila.

Page 27: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

3.2. Crear una base de datos 27

Siguiendo nuestro ejemplo, vamos a crear la tabla clientes perteneciente a la base dedatos Prueba. Vamos a introducir los campos de la tabla: En la primera fila tecleamoscódigo (nombre del campo), y como tipo de campo elegimos Texto. De inmediato sellenan de contenido las solapas General y Búsqueda. Dicho contenido cambiará si no-sotros seleccionamos otro tipo de campo. Es preciso detenernos aquí un momento paraanalizar con cierto detenimiento estas solapas con las propiedades de los campos.

3.2.2. Propiedades de los campos

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

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

Para personalizar los distintos formatos, es aconsejable hacer pruebas con ellos,hasta encontrar los mas adecuados par los campos de nuestras tabla.

3. Máscara: La propiedad máscara es la encargada de que los datos introducidosen el campo se ajusten a un formato predefinido. La máscara se compone de trespartes separadas por punto y coma: la primera parte de la mascara utiliza unoscódigos o caracteres de acuerdo al tipo de datos que se van a mostrar

2Aunque esté formado por caracteres numéricos, hay que considerarlo como de de texto, para que laextensión sea siempre la misma, y no se pierdan los ceros a la izquierda.

Page 28: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

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

Figura 3.6: Tipos de datos de los campos.

Page 29: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

3.2. Crear una base de datos 29

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

La segunda parte de la máscara define si deben almacenarse los caracteres literalesmostrados, y la tercera parte indica el carácter que se utiliza para los espacios enblanco.

4. Titulo: Esta propiedad se refiere al texto o rotulo del campo, y aparece en diversoslugares como indicador del campo a que se refiere.

5. Valor predeterminado: Se refiere a un valor que Access introduce cuando se creaun nuevo registro en la tabla. Es de gran utilidad para campos con un valor fijoen todos los registros ( por ejemplo la fecha del día).Incluso pueden almacenarseexpresiones o fórmulas complejas. Pulsando los tres puntos de la derecha apareceuna ventana en la que podemos crear estas expresiones o fórmulas.

6. Regla de validación: Con ella podemos definir los limites de los valores a in-troducir en el campo y así evitar posibles errores. Pulsando los tres puntos dela 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 el1 de enero del 1980 y el 1 de enero del 1990).

7. Texto de validación: Es el texto que explica la propiedad anterior.

8. Requerido: Esta propiedad indica si el campo puede quedar vacío o no. Si el cam-po en cuestión es un campo clave, es útil aplicarle la propiedad de Requerido = Si,para que no quede nunca vacío.

9. Permitir longitud 0: Su valores pueden ser igualmente Si o No. Sólo se aplica a loscampos de tipo Texto o Memo.

10. Indexado: Indica esta propiedad si el campo ha de estar ordenado, y puede tomartres valores:

No. (no hay índice, y si lo hay lo elimina).

Sí (con duplicados). Creará un índice para el campo seleccionado.

Sí (sin duplicados). Crea el índice, pero no permite introducir datos duplica-dos en el campo seleccionado.

Page 30: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

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

3.2.3. Proceso de creación de la tabla

Teniendo a la vista la figura 3.5, retomamos el proceso de creación de una tabla:En la columna Nombre del campo introducimos los nombres de cada campo o atribu-to. En la columna Tipo de datos introducimos los tipos correspondientes a los datos,según hemos visto más arriba, y en la columna Descripción, cuyo contenido no es obli-gatorio, podemos introducir un comentario libre, explicando las particularidades de esecampo, o cualquier otra ocurrencia. Por supuesto, a cada campo hay que asignarles laspropiedades correctas, explicadas anteriormente.

Llegado el momento de Guardar la tabla, se elige el menú Archivo y dentro de él laopción Guardar o Guardar como, debiendo dar un nombre a la Tabla que acabamos decrear. 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 otraque debamos crear. Access nos ahorra el esfuerzo de acordarnos y nos ayuda a diseñarla nueva tabla copiando de otra los campos: El proceso es el siguiente:

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

2. Pulsar el botón derecho del ratón; aparecerá un pequeño menú emergente; ele-gir la opción ”Generar”, y aparecerá el Generador de campos a partir de tablasanteriores.

3. Seleccionar la tabla y el campo que servirán de ejemplo. Con doble clic sobre elcampo, este será copiado en la tabla que se está creando.

3.2.4. Modificación de una tabla

Es posible que se comentan errores a la hora de definir los campos durante lacreación de una tabla. Access nos permite modificar la estructura de la tabla en estoscuatro aspectos:

Eliminar un campo: para borrar o eliminar un campo basta con seleccionar la filay pulsar la tecla Supr., o utilizar el comando Eliminar filas del menú Edición5. Unavez eliminada la fila (del campo) todas las demás filas se moverán hacia arriba.

Insertar un campo: Otra modificación consiste en insertar filas a la estructura dela tabla. Para ello se sitúa el cursor en la fila sobre la que se desea insertar, y sepulsa la tecla INS. Una fila nueva y en blanco aparecerá justo encima.

Mover un campo: Hacer clic sobre el selector de la fila a mover. Esta invertiráel color. Hacer clic con el ratón sobre el selector de la fila y arrastrarlo hasta laposición deseada.

Page 31: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

3.2. Crear una base de datos 31

Cambiar el contenido de la fila: o sea el Nombre, Tipo de datos o Descripción delcampo. Basta con seleccionar la columna del campo o fila a cambiar, y modificarsu 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 erande texto y se pasa a un tipo de datos numérico, Access avisa de que se van a perderlos datos de ese campo.

3.2.5. Otras formas de creación de tablas

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

Asistente para tablas

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

1. Elegir ”Tablas” en la ventana de base de datos, pulsar el botón Nuevo y doble clicen el Asistente para tablas. Aparece la ventana (Figura 10 )

Se trata de elegir una de las tablas de ejemplo que pueda parecerse a la que de-seamos crear y después seleccionar los campos de ejemplo3.

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

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

4. La última ventana antes de crear la tabla nos pregunta qué hacer al terminar: Mo-dificar manualmente el diseño, introducir datos directamente en la tabla, o intro-ducir datos en la tabla a través de un formulario o pantalla que crea el propioasistente.

3Con >> quedan seleccionados todos los campos.

Page 32: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

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

Figura 3.7: Crear tablas con asistente.

Page 33: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

3.2. Crear una base de datos 33

Figura 3.8: Crear tablas con asistente.

Vista Hoja de datos

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

Importar tabla

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

Page 34: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

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

Seleccionada un o varias tablas, si pulsamos el botón Opciones ”>>” se abrirá laventana con las opciones de la importación de tablas. En esta ventana podemos elegirlos elementos a importar de cada tabla o tablas. Para ejecutar la importación se pulsa elbotón Aceptar.

Vincular tablas

Microsoft Access puede importar o vincular una tabla de datos de otras bases dedatos de Microsoft Access (versiones 1.x, 2.x y 7.0/95, y 8.0/200x), al igual que datos deotros programas y formatos de archivo, como los de Excel, dBASE, FoxPro o Paradox,bases de datos externas, y varios formatos más. También puede importar (o vincular)tablas y listas de HTML, las cuales pueden estar en su equipo local, en un servidor dered, o en un servidor Internet.

Al importar datos se crea una copia de la información en una tabla nueva de subase de datos de Microsoft Access. La tabla o archivo de origen no se modifica en esteproceso. La vinculación de datos le permite la lectura y en muchos casos la actualizaciónde los datos en el origen de datos externo sin tener que importar. El formato del origende datos externo no se modifica para que pueda continuar utilizando el archivo con elprograma que lo creo originalmente, pero también puede agregar, eliminar o editar susdatos utilizando Microsoft Access.

El proceso de vinculación de tablas es similar al de importar, tan solo que no seduplica la información, sino que se crea un enlace a la tabla determinada, y las modifi-caciones de datos queda reflejadas en la tabla ”original”. Microsoft Access utiliza iconosdiferentes para representar las tablas vinculadas y las tablas que están guardadas en labase de datos actual. Se pueden vincular distintos tipos de archivos, cuyo contenidopuede examinarse bajo el formato Access y en algunos casos modificar el contenido deloriginal. Si elimina el icono que representa a una tabla vinculada, elimina el vínculo conla tabla, pero no la tabla externa.

3.2.6. Renombrar tablas

Para cambiar el nombre a una tabla, se marca con el ratón, se abre el menú desple-gable ”Edición” situado en la barra de Menús y se pulsa la opción cambiar nombre. Otromodo de hacerlo es marcar el nombre de la tabla con un solo click, entonces el cursor sesitúa en el nombre de la tabla.

Page 35: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

3.3. Claves e índices 35

3.2.7. Eliminar tablas

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

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

2. Pulsar el botón derecho del ratón, y elegir la opción Eliminar en el menú de con-texto.

3. Abrir el menú desplegable Edición situado en la barra de Menús y elegir Eliminar.

3.3. Claves e índices

3.3.1. Claves

En la introducción a este capitulo se hablaba de la Organización de la base de datos.También se hacía referencia a las claves. Aunque no es absolutamente necesario, sinembargo en las tablas de Access se pueden definir claves4. La clave principal en unatabla es el campo o columna por medio del cual esta tabla se relaciona con otras. Cadafila tiene valores únicos en las columnas que forman la clave.

La clave principal se compone de uno o varios campos de la tabla cuyo contenidoidentifica a cada registro o fila de manera única, es decir: Los campos que componen laclave no pueden estar repetidos, ni tampoco vacíos. En nuestro ejemplo de los clientes,la clave principal debe ser el código, puesto que es el campo cuyo valor identifica in-equívocamente a un cliente (el campo Nombre puede servir de índice pero no de claveprincipal, ya que un nombre puede estar repetido). Un ejemplo claro de clave principales el DNI o CIF, ya que identifica a una única persona o empresa.

Para crear la clave principal en una tabla se siguen estos pasos:

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

2. Hacer Clic sobre el botón ”Clave principal” de la barra de herramientas o con elcomando Edición, Clave principal. Consejo: Es conveniente crear la clave princi-pal al crear la tabla, ya que si se crea después, es posible que se repitan los datos yAccess dará error ante los datos duplicados o nulos.

Si la clave principal se compone de varios campos, el proceso es marcar las filas ocampos con el ratón (pulsado y arrastrando) y pulsando después el botón Claveprincipal de la barra de herramientas.

4Se denomina clave principal.

Page 36: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

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

3.3.2. Indices

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

El orden normal de Access a la hora de indexar los campos es ascendente (de la A ala Z y del 0 al 9), pero este orden puede invertirse, pulsando el botón índice apropiadoen la barra de herramientas de la entrada de datos, o por medio de la ventana de dialogode Indices (véase figura 3.9).

En dicha ventana de dialogo aparecen las tres características posibles que puedetener un índice:

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

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

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

Creación de índices:

Pueden crearse índices basados en un solo campo de la tabla, o en varios. ¿Quécampos deben indexarse? Aquellos campos que se utilicen con frecuencia y cuyo orden

Page 37: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

3.3. Claves e índices 37

Figura 3.9: Crear índices en las tablas.

Page 38: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

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

sea necesario5. También aquellos campos que se vayan a relacionar con otras tablas.Cuando se crea una clave principal, dicho campo queda automáticamente indexado.

El proceso de creación de índices es el siguiente:

Cuando se define un campo en la ventana de diseño, de elige Si en la propiedadIndexado (puede establecerse Con o Sin duplicados).

Desde la ventana de diseño de la tabla se sitúa el cursor en la barra del título y sepulsa el botón derecho del ratón. Se abre la ventana de índices en la cual aparecentodos 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 paracrear índices con varios campos es este: Una vez introducido en nombre del índiceen la primera columna, se elige el primer campo en la segunda columna; despuésse pulsa intro y dejando en blanco la primera columna, se sitúa el cursor en lasegunda columna y se elige otro campo (no debe introducirse nada en la primeracolumna ya que entonces se creará otro índice), y así sucesivamente se van aña-diendo los campos deseados al índice. Para grabar se pulsa el botón de cierre dela ventana y se salva la ventana de diseño.

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

Suprimir índices:

Desde la ventana de índices se elige el índice a borra y se pulsa Supr. Si el índice escompuesta, han de suprimirse todos los campos que lo componen.

3.4. Relaciones entre tablas

Las bases de datos relacionales tienen la ventaja de poder distribuir la informaciónen varias tablas en vez de agruparla en una sola. Una vez que las tablas de una basede datos están definidas y poseen sus respectivas claves e índices es el momento paradeterminar las relaciones entre ellas.

5No pueden ser indexados los campos Memo, Ole y los Hyperenlaces.

Page 39: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

3.4. Relaciones entre tablas 39

Figura 3.10: Relación Uno a Varios.

3.4.1. Tipos de relaciones

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

Relación Uno a Varios

Esta es la relación mas frecuente entre tablas. En este tipo de relación, un registro ofila de la tabla A puede relacionarse (coincidir) con más de un registro de la tabla B. Latabla A, que se considera tabla principal o tabla padre puede tener mas de un registroenlazado con la tabla secundaria o tabla hija.

Podemos apreciar la relación entre un Autor de la tabla autores ( Federico GarcíaLorca) con varios registros u obras literarias de la tabla libros. Un único autor puedeescribir varios libros, pero un mismo libro no puede estar escrito por varios autores a lavez.

Relación Varios a Varios

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

Relación uno a uno

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

Page 40: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

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

Figura 3.11: Relación Varios a Varios.

Figura 3.12: Relación uno a uno.

Page 41: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

3.4. Relaciones entre tablas 41

Integridad referencial

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

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

No se puede borrar un registro de la tabla A si tiene enlazados registro en la tablaB, o sea: no se puede borrar un autor de la tabla de autores si existen libros suyosen la tabla libros.

No se puede cambiar un registro de la tabla A si con ello queda sin relacionaralgún registro en la tabla B.

3.4.2. Crear relaciones

Con el fin de poder detallar el proceso relacional, presentamos además de la tablaclientes (que hemos renombrado como tblClientes, tres tablas relacionadas con ella, esdecir la tabla de provincias, de paises y de sectores industriales. El proceso de creaciónde las relaciones entre tablas, se muestra en la figura 3.13, y es el siguiente:

Abrir la ventana Relaciones, cuyo icono se encuentra situado en la barra de Herra-mientas; después pulsando el botón derecho del ratón, se abre la ventana Mostrartabla, en la que se deben elegir (Agregar), aquellas tablas que quieran incluir enla relación. Las tablas seleccionadas irán apareciendo en la pantalla de Relacionescon sus campos en forma de listas desplegables. Cerrar una vez terminada la se-lección.

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

Como muestra la figura, se ha establecido relación entre las tablas tblPaises, tbl-Provincias y tblSectores con tblClientes. Todas las relaciones son de Uno a Varios. Los

Page 42: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

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

Figura 3.13: Relacionar tablas.

Page 43: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

3.5. Introducción de datos en la tabla 43

campos clave de las tablas aparecen en negrita; eso quiere decir que ellos son los ex-tremos Uno de la relación, o sea los que no se pueden repetir en su tabla; es obvio queen la tabla tblProvincias no se deben repetir; cada cliente solo pertenece a una provincia,pero cada provincia puede ser la sede de varios clientes.

Como vemos en la figura, en esta relación se ha activado la casilla en la que seexige integridad referencial. Ello implica, como se ha señalado anteriormente, una grancoherencia y consistencia de los datos, lo que lleva consigo una gran seguridad a la basede datos. Se ha activado la opción de actualizar en cascada los campos relacionadosde ambas tablas, o sea, si se modifica un sector en la tabla tblSectes, automáticamentequedan modificados los campos sector de la tabla tblClientes. También se ha activado laopción de borrar en cascada los registros relacionados (si se borra un sector, se borrarántambién los registros de clientes de ese sector).

3.4.3. Modificar relaciones

Para modificar las relaciones ya creadas, el procedimiento es abrir la ventana Rela-ciones y pulsar con el ratón sobre la línea que une ambas tablas; de inmediato la líneacambia a una línea mas gruesa. Con doble click se abre la ventana con los campos dela relación. Otro modo es pulsar el botón derecho del ratón sobre la línea gruesa de larelación; Aparece entonces el menú de contexto, con la opción Modificar relación.

3.4.4. Eliminar relaciones

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

3.5. Introducción de datos en la tabla

Hemos aprendido a diseñar y crear las tablas de una base de datos. Ya tenemos elarmazón o estructura. Ahora es el momento de introducir datos en ellas.

Atención: No es conveniente introducir datos en las tablas hasta que no se haya ter-minado el proceso de relación, de lo contrario, resultará dificil crear las relaciones condatos en la tabla.

Page 44: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

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

3.5.1. Introducir registros

La introducción de datos se efectúa a través de la Hoja de Datos. Una vez abierta latabla en modo Hoja de Datos (basta con hacer click en la tabla y abrirla), se sitúa el cursoren el primer campo de la tabla y se van introduciendo los datos de los distintos camposdel registro. Al llegar al final de registro automáticamente se salta al primer campode un nuevo registro. Para moverse a través de la tabla pueden utilizarse las teclas decursor o los botones situados en la parte inferior de la tabla (Hoja de datos). Para ira un registro determinado se introduce el número y se pulsa Intro, o bien se utilizanlos botones indicados. Para introducir un nuevo registro se pulsa el botón situado a laderecha que muestra una flecha y un asterisco. Igualmente basta con situar el cursor delratón en el registro nuevo (tiene un asterisco y está siempre situado en la parte inferiorde la tabla ). También puede insertarse un nuevo registro abriendo el menú Insertar yeligiendo Nuevo Registro.

Los campos de tipo ”OLE” y ”Memo” tienen un tratamiento distinto. En el campoMemo puede introducirse libremente el texto que se desee sin restricción de tamaño.Para introducir datos en el campo de tipo OLE se sitúa el cursor dentro del campo, sepulsa el botón derecho del ratón y se elige Insertar Objeto.

Cuando se abre la ventana Hoja de datos, se activan automáticamente las barras deherramientas de

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

Formato de Hoja de datos: Permite modificar el aspecto de la Hoja de datos (col-ores, tipos de letra, fondo de la hoja de datos, etc).

3.5.2. Editar registros

En bastantes ocasiones habremos de modificar algún registro cuyos datos sean er-róneos o hayan cambiado. Para modificar la información contenida en los registros dela tabla deberemos seguir los pasos siguientes: Por supuesto abrir la tabla. Buscar el re-gistro a modificar. Los registros pueden ordenarse por el campo deseado mediante lasherramientas proporcionadas en barra Hoja de datos6. Una vez situados en el registro amodificar, se coloca el cursor en el campo en cuestión y se modifica el texto. En caso deequivocación, se puede deshacer la operación utilizando el botón apropiado.

Hay ciertos campos que no pueden ser editados. Son los siguientes:

6Situar el cursor del ratón en el titulo de la columna a ordenar. Hacer click para marcar toda la columnay teniéndola marcada pulsar el botón de Ordenar (Ascendente o Descendente).

Page 45: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

3.5. Introducción de datos en la tabla 45

Campos calculados. Su contenido depende de operaciones.

Campos bloqueados o desactivados

Campos autonumericos. Se incrementan automáticamente.

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

3.5.3. Copiar, mover, eliminar datos

Para ejecutar las operaciones de copia, traslado y eliminación de datos se utiliza laherramienta del portapapeles. Esto implica un primer proceso de selección de los datosy de copia al portapapeles.

Copiar:

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

Mover:

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

Eliminar:

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

Page 46: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

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

Figura 3.14: Búsqueda de campos relacionados.

3.5.4. Insertar registros

Para insertar un registro nuevo en la tabla, se pulsa Nuevo Registro en el menúInsertar, o bien se pulsa en botón Nuevo Registro de la barra de herramientas de la Hojade datos. Una vez introducidos los datos en los registros nuevos, al salir y salvar la tabla,los registros quedan ordenados según el campo definido como clave.

Si se trata de insertar nuevos datos en tablas que estén relacionadas, hay un pro-cedimiento que presta gran ayuda; se trata de la utilización de los controles cuadros delista o cuadros combinados en la propiedades de los campo relacionados con los de otratabla.

Ejemplo: En la tabla tblClientes, hemos establecido una relación entre su campo sectory el campo código de la tabla tblSectores. Se ha activado la opción de actualizar en cas-cada, (es decir, que si se modifica el código de un sector en la tabla tblSectores, automáti-

Page 47: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

3.5. Introducción de datos en la tabla 47

camente quedan modificados los correspondientes sectores de la tabla tblClientes). Paraaprovechar dicha facilidad debemos hacer lo siguiente: Abrir la tabla en modo de Di-seño; ir al campo relacionado con el de otra tabla (Sector en este caso); abrir la solapaBúsqueda; en Mostrar control, elegir Cuadro combinado o Cuadro de lista; En Tipo deorigen de la fila elegir Tabla/Consulta; en origen de la fila elegir la tabla relacionada (eneste caso tblSectores); en columna dependiente elegir la columna que se correspondacon el campo relacionado.

Cuando abramos la tabla libros para introducir datos, al entrar en el campo autorveremos una pequeña flecha en la parte derecha del campo. Al pulsarla se desplegaráuna lista con los nombre de los sectores (de la tabla tblSectores). De entre ellos podemosseleccionar uno, que quedará incorporado al registro que estamos introduciendo. Esteprocedimiento ahorra trabajo y a la vez impide que nos equivoquemos a la hora deintroducir los datos.

3.5.5. Insertar columnas

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

Estando en modo Hoja de datos, se pulsa con el ratón en la columna situada a laderecha del lugar donde vamos a insertar la nueva columna.

Se abre el menú Insertar y se pulsa la opción Columna. De inmediato apareceinsertada una nueva columna con el nombre Campo n, donde n es un numerocorrelativo (al de columnas insertadas).

Pulsando el botón derecho del ratón aparece el menú de contexto; en él podemoselegir la opción ”Cambiar nombre de columna”, para ponerle un nombre apropi-ado al campo de datos de dicha columna. El tipo de datos por defecto para di-cho campo o columna, es el predeterminado para tablas/consultas, así como eltamaño.

3.5.6. Buscar datos

Suele ser necesario, sobretodo cuando las tablas contienen muchos registros, buscardeterminados datos de uno o varios registros. En nuestro ejemplo de Clientes, es evi-dente que en más de una ocasión necesitaremos saber si tenemos un determinado cliente

Page 48: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

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

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

está registrado en nuestra tabla. Dependiendo de lo que busquemos en las tablas, pode-mos hacerlo de varias maneras: Si tenemos ordenada la tabla por el campo de nuestrointerés, por ejemplo por nombre, y la tabla no es demasiado grande, quizá sea fácil de-splazarse por ella con la ayuda de la barra Vertical e intentar localizar el cliente deseado;sin embargo, si lo que buscamos en un valor concreto, podemos utilizar la ventana dedialogo Buscar.

La ventana de Buscar se encuentra situada en el menú desplegable Edición. Tam-bién puede accederse a ella con el juego de teclas Ctrl B. Como vemos en la figura 3.15es posible aquilatar la búsqueda con las distintas opciones que vemos en la ventanaBuscar: Buscar en: Todos los registros, sólo hacia Arriba o sólo hacia Abajo. Podemoshacer que los datos buscados coincidan en todo o en parte con el campo de la tabla, etc.

Page 49: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

3.5. Introducción de datos en la tabla 49

Figura 3.16: Filtrado de datos en la tabla.

3.5.7. Filtrar datos

Una forma de búsqueda especial es el filtrado de datos, que puede hacerse bien seaagrupando aquellos registros que cumplan los requisitos, bien sea por exclusión.

El caso que nos presenta la figura 3.16 consiste en buscar todos los clientes de Se-villa. Para ello utilizamos un filtro por selección. El modo concreto de hacerlo es el si-guiente:

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

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

3.5.8. Reemplazar datos

El modo de reemplazar datos en las tablas de Access está muy ligado al de labúsqueda, que hemos visto más arriba. Lo primero que hay que hacer es abrir el menú

Page 50: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

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

Edición y seleccionar la opción Reemplazar. Se trata de buscar un determinado con-tenido en los campos y reemplazarlo por el otro contenido que le hemos indicado en”Reemplazar con”. Se puede reemplazar uno o varios de los items encontrados sucesi-vamente o bien Reemplazarlos todos. Cuando se trata de reemplazar registros enterospor otros registros, el método consiste en copiar los registros en el portapapeles y pe-garlos sobre los registros que se deseen reemplazar.

Page 51: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

Capítulo 4

Consultar la base de datos

Creada la base de datos, introducidos los datos en sus registros, es ahora cuan-do puede sernos de mayor utilidad. Quizá el objetivo final de la base de datos sea elde poder sacarle rendimiento consultando la información que contiene. Por ello esteapartado, dedicado a las Consultas ( query ) tiene gran importancia.

La finalidad de una consulta no es otra que acceder a la información de la base dedatos, pero no a todos los registros, sino sólo a aquellos registros y a aquellos camposcuyo contenido nos sea de interés en un momento dado. Access ofrece varios tipos deconsulta, según las necesidades de cada momento:

Tipos de consulta:

Consultas de selección

Consultas de parámetros

Consultas de tabla de referencias cruzadas

Consultas de acción

Consultas SQL

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

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

Page 52: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

52 Capítulo 4. Consultar la base de datos

4.1. Creación de una consulta

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

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

En qué tablas están contenidos los datos de dicha información.

Qué columnas o campos contienen esos datos.

Crear la consulta usando el asistente adecuado, incluyendo las condiciones quedefinen el objetivo de la consulta, y claro, ejecutar la consulta.

Siguiendo con nuestra base de datos de libros, vamos a generar en primer lugar unaconsulta 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 elbotón Nuevo y aparece la ventana de Nueva consulta. En ella se elige el asistente paraconsultas sencillas.

4.2. Campos de la consulta

Como muestra la figura 4.1, se ha seleccionado la tabla tblClientes, y de ella loscampos: Codigo, Cif y Nombre. Estos son los campos cuya información aparecerá en lahoja de consulta. Se pulsa el botón siguiente y en otra ventana se nos pide el nombreque tendrá el fichero de consulta (en este caso cnsClientes).

Ahora podemos acceder a modificar manualmente el diseño de la consulta o di-rectamente a ejecutarla y ver los resultados. Pulsamos el botón Terminar, y nos apareceuna pantalla con una especie de tabla mostrando información únicamente de los trescampos mencionados. Se trata en realidad de una Vista de la tabla. Durante el proce-so de diseño d ela consulta, podemos indicar que los datos aparezcan ordenados porcualquiera de los campos.

4.3. Condiciones de la consulta: Simples y compuestas

Vamos a intentar establecer condiciones para que la consulta nos muestre sólo al-gunos clientes, según las condiciones que le indiquemos:

Para modificar una consulta, hay que abrir la ventana de Diseño de consulta. Enella 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).

Page 53: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

4.3. Condiciones de la consulta: Simples y compuestas 53

Figura 4.1: Consultando una tabla.

Page 54: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

54 Capítulo 4. Consultar la base de datos

Figura 4.2: Consultando una tabla.

Page 55: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

4.3. Condiciones de la consulta: Simples y compuestas 55

En la zona superior o de datos, se sitúan las tablas y campos que intervienen en laconsulta, así como las relaciones entre tablas, en caso de existir. Si tenemos el puntero enesta zona y pulsamos el botón derecho, se abre un menú contextual con varias opcionesde utilidad (código SQL de la consulta, relaciones, propiedades de la consulta, etc).

En la zona inferior, formada por una cuadricula, es donde podemos determinarcuales de los campos intervienen en la consulta, así como los criterios de selección. Porello vamos a ver esta zona con mas detenimiento: En ella existen seis filas con los títulossiguientes:

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

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

Orden: Indica si el resultado de la consulta se va a presentar ordenado por uncampo y si esta clasificación será ascendente o descendente.

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

Criterios: Indica a Access las condiciones de la consulta. Es la parte mas complica-da de usar, pero la mas importante.

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

Supongamos que deseamos ver qué clientes tenemos de la población Sevilla. Si-guiendo las indicaciones expuestas anteriormente, en el campo Criterios escribiremos”Sevilla”:

Como vemos, sólo aparecen los clientes de Sevilla existentes en la tabla. Podemosobservar que solo aparecen las columnas seleccionadas en la consulta. Esta consultacontiene una condición simple. Podemos hacer que la consulta sea mas compleja, intro-duciendo más condiciones. Por ejemplo, podemos pedir a la consulta que nos muestrelos clientes de Sevilla que pertenezcan al sector del transporte (su código es el 02). Paraello, bastaría con añadir ”02” a la columna del sector en la consulta.

El resultado aparece en la figura 4.3. A continuación, en el cuadro 2 podemos ver,a modo de introducción, la fórmula que se genera en lenguaje SQL para realizar dichaconsulta1.

1Más adelante se verá en detalle.

Page 56: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

56 Capítulo 4. Consultar la base de datos

Figura 4.3: Consultando una tabla con criterios.

Page 57: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

4.4. Operadores lógicos 57

2Código SQL de la consulta de clientes-------------------------------------SELECT tblClientes.Codigo, tblClientes.Cif, tblClientes.Nombre,

tblClientes.Poblacion, tblClientes.SectorFROM tblClientesWHERE (((tblClientes.Poblacion)="Sevilla") AND ((tblClientes.Sector)="02"))ORDER BY tblClientes.Nombre;

4.4. Operadores lógicos

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

4.4.1. El Operador Y (AND)

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

4.4.2. El Operador O (OR)

Permite crear consultas en las cuales se mostrarán aquellos registros que cumplanal menos una (o varias) de las condiciones. Veamos un ejemplo en la figura 4.4:

Hemos pedido una consulta de los clientes cuya provincia sea Sevilla o Madrid.

4.4.3. El Operador Negación

Este operador permite negar la condición, con lo que el resultado de la consultamostrará todos los registros que incumplan la condición. Por ejemplo si queremos vertodos los clientes menos los de Sevilla, escribiremos en el criterio la siguiente expresión<> ”Sevilla”.

4.4.4. La expresión Nulo

Para saber si una columna o campo del registro está vacío, Access nos ofrece el ope-rador o expresión Nulo. Por ejemplo, si queremos listar todos los registros cuyo sector

Page 58: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

58 Capítulo 4. Consultar la base de datos

Figura 4.4: El criterio OR en la consulta.

Page 59: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

4.5. Operaciones con la consulta 59

no recordábamos al introducir el libro, y por ello dejamos el campo vacío, podremosutilizar la expresión Nulo, en la fila Criterios columna Sector. Pero hay que distinguirentre un campo vacío (aquel que no tiene ningún carácter) y un campo en blanco (aquelque está lleno de espacios en blanco).

4.5. Operaciones con la consulta

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

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

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

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

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

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

4.6. Otros ejemplos de consulta

Además de las consultas sencillas que acabamos de ver, existen varios tipos de con-sulta más complejas, en las que pueden intervenir varias tablas, y que pueden realizarvarias acciones.

Page 60: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

60 Capítulo 4. Consultar la base de datos

Figura 4.5: Tipos de consultas.

El proceso inicial consiste igualmente en determinar los campos o columnas de laconsulta. En segundo lugar hay que determinar también las tablas de las que procedenesos campos.

Para acceder a otros tipos de consulta se pulsa el botón situado bajo Herramientasen la barra de menús de Access .

Vamos a explicar brevemente cada una de las consultas posibles que se desplieganen la figura 4.5.

4.6.1. Consultas de Selección

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

Page 61: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

4.6. Otros ejemplos de consulta 61

4.6.2. Consultas de parámetros

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

Cómo crear consultas de parámetros

Una consulta de parámetros muestra uno o más cuadros de diálogo predefinidosque le solicitarán el valor del parámetro (criterio). El proceso de creación es el siguiente:

1. Crear una consulta de selección.

2. En la vista Diseño de la consulta, arrastrar los campos desde la lista de campos dela consulta a la cuadrícula de diseño de la consulta.

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

En la figura 4.6 hemos establecido que la consulta nos pida el parámetro de lapoblación. El resultado dependerá de la población que introduzcamos.

Si deseamos establecer un rango en los criterios, como por ejemplo entre dos fechasde una tabla, debemos introducir entre corchetes algún texto para especificar un inter-valo de valores. En la celda Criterio del campo, hay que escribir Entre [Introduzca lafecha inicial:] And [Introduzca la fecha final:], tal como aparece en la figura 4.7, dondepreguntamos por los clientes dados de alta entre dos fechas:

Para visualizar los resultados, hay que pulsar clic en el botón ”Ver” en la barra deherramientas y escribir el valor del parámetro.

Page 62: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

62 Capítulo 4. Consultar la base de datos

Figura 4.6: Consulta de un parámetro.

Page 63: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

4.6. Otros ejemplos de consulta 63

Figura 4.7: Consulta de dos parámetros.

Page 64: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

64 Capítulo 4. Consultar la base de datos

4.6.3. Consultas de referencias cruzadas

Una consulta de tabla de referencias cruzadas muestra valores resumidos (sumas,cuentas y promedios) de un campo de una tabla y los agrupa según un conjunto dehechos enumerados en el lado izquierdo (por filas) de la hoja de datos y otro conjuntode hechos enumerados en la parte superior (por columnas) de la hoja de datos.

4.6.4. Cómo crear consultas de referencias cruzadas

Para crear una consulta de tabla de referencias cruzadas es aconsejable seguir lospasos que indica el asistente ya que puede ser de gran utilidad la ayuda que este nospresta.

Sin embargo, vamos a mostrar los pasos a dar para crear la consulta sin usar elasistente:

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

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

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

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

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

En la barra de herramientas, pulsar clic en Tipo de consulta y después en Consultade tabla de referencias cruzadas.

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

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

En el campo cuyos valores deseemos utilizar en la tabla de referencia cruzada,pulsar clic en la fila TAB ref cruz y, después, clic en Valor.

Page 65: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

4.6. Otros ejemplos de consulta 65

Sólo un campo puede establecerse como Valor.

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

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

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

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

Por ejemplo, si queremos confeccionar un cuadro con las distintas poblaciones yqué clientes tenemos en cada una de ellas, podemos realizar la consulta de referenciascruzadas que muestra la figura 4.8.

4.6.5. Consultas que crean tablas

Entramos ahora a analizar una serie de consultas que podemos llamar genérica-mente como Consultas de Acción o que generan acciones. Una consulta de acción esla que realiza cambios a muchos registros en una sola operación. Existen cuatro tiposde consultas de acción: La que crean tablas, las que borran registros, las que añadenregistros a tablas y las que actualizan los datos de los registros.

La Consulta de creación de tabla crea una tabla nueva a partir de todos o de parte delos datos de una o más tablas o consultas. La tabla nueva tendrá tantos registros comofilas 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 MicrosoftAccess. Por ejemplo, es posible crear una tabla que contenga varios campos de latabla Empleados y, a continuación, exportar esa tabla a una base de datos utilizadapor el departamento de personal.

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

Page 66: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

66 Capítulo 4. Consultar la base de datos

Figura 4.8: Consulta de referencias cruzadas.

Page 67: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

4.6. Otros ejemplos de consulta 67

Para hacer una copia de seguridad de una tabla.

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

Para mejorar el rendimiento de los formularios e informes basados en consultasde tablas múltiples o en instrucciones SQL.

Cómo crear consultas de creación de tablas

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

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

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

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

5. Pulsar Aceptar.

6. Arrastrar desde la lista de campos hasta la cuadrícula de diseño de la consulta loscampos que se vayan a incluir en la tabla nueva.

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

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

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

Page 68: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

68 Capítulo 4. Consultar la base de datos

Figura 4.9: Consulta de referencias cruzadas.

Page 69: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

4.6. Otros ejemplos de consulta 69

4.6.6. Consultas que borran registros (filas)

Las consultas que borran registros, eliminan un grupo de registros de una o mástablas que cumplen las condiciones impuestas por la consulta. Por ejemplo, puede uti-lizar una consulta de eliminación para borrar libros de la tabla. Con las consultas deeliminación, siempre se eliminan registros enteros, no sólo campos seleccionados den-tro de los registros.

Puede utilizarse una sola consulta de eliminación para eliminar registros de unasola tabla, de varias tablas en una relación uno a uno o de varias tablas en una relaciónuno a varios, si está activada la eliminación en cascada. La relación uno a varios puededistinguirse en la vista Diseño de la consulta observando las combinaciones entre lastablas. Si un extremo de una combinación está marcado con el símbolo de infinito ∞ , setrata de una relación Uno a Varios. Si ambos extremos están marcados con un 1, se tratade una relación Uno a Uno.

Cómo crear consultas que borran registros

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

2. En la vista Diseño de la consulta, se pulsa clic en la flecha situada junto a Tipo deconsulta en la barra de herramientas y, a continuación en Consulta de eliminación.

3. Para especificar criterios para eliminar registros, se arrastra a la cuadrícula de di-seño los campos en los que desea establecer los criterios. Aparecerá Dónde en lacelda Eliminar situada bajo estos campos.

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

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

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

Ejemplo: Supongamos que los clientes de Barcelona se han trasladado a otra tabla,y queremos borrarlos de tblClientes. En la figura 4.10 se nos muestra cómo eliminar losregistros de dicha tabla.

Page 70: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

70 Capítulo 4. Consultar la base de datos

Figura 4.10: Consulta de eliminación de registros.

Page 71: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

4.6. Otros ejemplos de consulta 71

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

Advertencias sobre las consultas de eliminación

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

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

4.6.7. Consultas que añaden registros (filas)

Con estas consultas, llamadas también de datos anexados, podemos añadir filas oregistros que resultan de la consulta a una determinada tabla. Agregan un grupo de re-

Page 72: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

72 Capítulo 4. Consultar la base de datos

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

Añadir campos basados en criterios. Por ejemplo, si deseamos añadir a nuestratabla de libros, otros registros de un determinado autor o materia.

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

Cómo crear consultas que añaden registros

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

2. En la vista Diseño de la consulta, se pulsa click en la flecha situada junto a Tipode consulta en la barra de herramientas y, a continuación, en Consulta de datosanexados. Aparecerá el cuadro de diálogo Anexar.

3. En el cuadro Nombre de tabla, se escribe el nombre de la tabla a la que deseaañadir registros.

4. Pulsar click en Base de datos activa si la tabla se encuentra en la base de datosabierta actualmente. De lo contrario, pulsar click en Otra base de datos y escribirel nombre de la base de datos en la que esté almacenada la tabla. Escribir la ruta deacceso si es necesario. También puede introducirse una ruta de acceso a una basede datos de Microsoft FoxPro, Paradox o dBASE o bien una cadena de conexión auna base de datos SQL.

5. Pulsar Aceptar.

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

7. Si los campos seleccionados tienen el mismo nombre en ambas tablas, MicrosoftAccess rellena automáticamente el nombre coincidente en la fila Añadir a. Si loscampos de las dos tablas no tienen el mismo nombre, en la fila Añadir a escribirlos nombres de los campos de la tabla a la que está añadiendo.

8. En la celda Criterios de los campos arrastrados a la cuadrícula, escribir el criteriosegún el cual deben realizarse las anexiones.

Page 73: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

4.6. Otros ejemplos de consulta 73

Figura 4.12: Consulta de datos anexados.

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

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

Veamos un ejemplo de esta consulta en la figura 4.12. En ella deseamos añadir a latabla tblClientes todos los registros de la tabla ClientesBarcelona. Se advertirá que no seincluyen campos sino tan solo ClientesBarcelona.*. Con ello, la consulta anexará todoslos campos de la tabla origen siempre que coincidan con los de la tabla destino.

4.6.8. Consultas que actualizan registros (filas)

Las consultas de actualización modifican la información existente en los registros ofilas de una tabla, pero no añade ni borra registros.

El procedimiento de creación de las consulta que actualizan registros es el siguiente:

Page 74: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

74 Capítulo 4. Consultar la base de datos

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

2. En la vista Diseño de la consulta, se pulsa clic en la flecha situada junto a Tipo deconsulta en la barra de herramientas y, a continuación, en Consulta de actualiza-ción.

3. Arrastrar desde la lista de campos hasta la cuadrícula de diseño de la consulta loscampos que se desea actualizar o para los que se desea especificar criterios.

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

5. En la celda Actualizar a de los campos que se desea actualizar, escribir la expresióno el valor que se desea utilizar para cambiar los campos.

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

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

4.7. Consultas con varias tablas

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

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

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

3. Arrastrar desde la lista de campos de cada tabla hasta la cuadrícula de diseño dela consulta los campos que se desea mostrar o para los que se desea especificarcriterios.

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

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

Page 75: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

4.7. Consultas con varias tablas 75

Figura 4.13: Consulta de actualización.

Page 76: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

76 Capítulo 4. Consultar la base de datos

Figura 4.14: Consulta de varias tablas.

Page 77: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

4.8. Consultas SQL 77

Figura 4.15: Consultas SQL.

están relacionadas por medio del campo cliente. Se observa el criterio: Fecha del pedi-do mayor que final de 2006, por lo que nos mostrará los pedidos de 2007 en adelante.Veamos el ejemplo en las figura 4.14

Como podemos suponer, este tipo de consultas con varias tablas (u otras consultas)es muy utilizado, en los procesos de la empresa.

4.8. Consultas SQL

Hasta ahora hemos descrito una serie de consultas para diversos fines. En todas noshemos ayudado de una pantalla gráfica de Access en la cual poner las tablas, campos,criterios, etc., pero todas son consultas en lenguaje SQL, como podemos ver en el cuadro2. La diferencia con las consultas que describiremos a continuación, las apropiamentellamadas ”consultas SQL” estriba en que estas se ha de crear sin ayuda gráfica, es decir,solamente con expresiones SQL. Por lo tanto, una consulta SQL es la creada medianteuna instrucción SQL.

Page 78: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

78 Capítulo 4. Consultar la base de datos

4.8.1. Clases de consultas SQL

1. Consulta de unión,

2. Consulta de paso a través,

3. Consulta de definición de datos y

4. La Subconsulta

4.8.2. Consultas de unión

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

Ejemplos de consultas de unión

Las consultas de unión combinan campos de dos o más tablas o consultas en unsolo campo. A continuación se muestran ejemplos de una consulta de unión básica, deordenación de registros, de cambios en el nombre de los campos y obtención de registrosduplicados en consultas de unión.

Consultas de unión básica

La siguiente consulta (figura 4.16) de unión consta de dos instrucciones SELECT deSQL, que devuelven los nombres de la compañía y ciudades que están en Brasil, y deambas tablas, Proveedores y Clientes.

Orden alfabético en una consulta de unión:La siguiente consulta de unión selecciona todos los nombres de empresas y ciu-

dades de ambas tablas, Proveedores y Clientes, y los ordena alfabéticamente por ciu-dad:

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

UNION SELECT [NombreCompañía], [Ciudad]FROM [Clientes]ORDER BY [Ciudad];

Page 79: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

4.8. Consultas SQL 79

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

Page 80: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

80 Capítulo 4. Consultar la base de datos

Cambiar nombre de campos en una consulta de unión

La siguiente consulta de unión cambia el nombre el campo NombreCompañía por”Nombre del proveedor / cliente” en la salida de la consulta:

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

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

Obtener registros duplicados en una consulta de unión

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

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

UNION ALL SELECT [NombreCompañía], [Ciudad]FROM [Clientes];

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

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

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

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

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

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

Page 81: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

4.8. Consultas SQL 81

5. Introducir instrucciones SQL SELECT combinadas con cualquier operación deUNION si no desea recuperar registros duplicados o UNION ALL si desea re-cuperar registros duplicados.

6. Si desea especificar un orden alfabético en una consulta de unión, agregue unasola cláusula ORDER BY al final de la última instrucción SELECT. En la cláusulaORDER BY, especifique el nombre del campo por el que se va a ordenar, que debeproceder de la primera instrucción SELECT.

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

Nota: Cada instrucción SELECT debe devolver el mismo número de campos, y en elmismo orden. Se necesita que los campos correspondientes tengan tipos de datos com-patibles, con una excepción: puede utilizar un campo Numérico y de Texto como cam-pos correspondientes.

Información sobre las instrucciones SELECT

6Sintaxis--------

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

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

Page 82: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

82 Capítulo 4. Consultar la base de datos

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

Predicado Uno de los siguientes predicados: ALL, DISTINCT, DISTINCTROW o TOP.Puede utilizar el predicado para limitar el número de registrosdevueltos. 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 aseleccionar los registros.

---------------------------------------------------------------------------------Campo1, Los nombres de los campos que contienen los datos que desea recuperar.Campo2 Si incluye más de un campo, éstos se recuperan en el orden enumerado.---------------------------------------------------------------------------------Alias1, Los nombres que se van a utilizar como encabezados de columnas en vezAlias2 de los nombres de columnas originales en tabla.---------------------------------------------------------------------------------Expresión El nombre de la tabla o las tablas que contienen los datos que deseatabla recuperar---------------------------------------------------------------------------------Base de El nombre de la base de datos que contiene las tablas en expresióntabladatos si no están en la base de datos activa.externa.---------------------------------------------------------------------------------Comentario Para realizar esta operación, el motor de base de datos Microsoft Jet

busca la tabla o las tablas especificadas, extrae las columnas elegidas,selecciona las filas que cumplen los criterios y ordena o agrupa lasfilas resultantes en el orden especificado.

Las instrucciones SELECT no modifican los datos de la base de datos. La instruc-ción SELECT suele ser la primera palabra en una sentencia SQL. La mayoría de lasinstrucciones SQL son instrucciones SELECT o SELECT...INTO.

La sintaxis mínima para una instrucción SELECT es: SELECT campos FROM tabla.Se puede utilizar un asterisco (*) para seleccionar todos los campos de una tabla. Elejemplo siguiente selecciona todos los campos de la tabla Empleados: SELECT * FROMEmpleados.

Si se incluye un nombre de campo en más de una tabla en la instrucción FROM,escriba delante el nombre de la tabla y el operador ”.” (punto). En el siguiente ejem-plo, el campo Departamento está en la tabla Empleados y en la tabla Supervisores. Lainstrucción SQL selecciona los departamentos de la tabla Empleados y los nombres desupervisores de la tabla Supervisores:

Page 83: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

4.8. Consultas SQL 83

SELECT Empleados.Departamento, Supervisores.NombreSupervisorFROM Empleados INNER JOIN SupervisoresWHERE Empleados.Departamento = Supervisores.Departamento

Cuando se crea un objeto Recordset2, el motor de base de datos Microsoft Jet utilizael nombre de campo de la tabla como el nombre de objeto Field en el objeto Recordset. Sidesea un nombre de campo diferente o un nombre que no participe en la expresión uti-lizada para generar el campo, utilice la palabra reservada AS. El siguiente ejemplo uti-liza el título Nacimiento para dar nombre al objeto Field devuelto en el objeto Recordsetresultante:

SELECT FechaNacimiento AS Nacimiento FROM Empleados.

Siempre que utilice funciones de dominio agregado o consultas que devuelvannombres de objetos Field ambiguos o duplicados, debe utilizar la cláusula AS para pro-porcionar un nombre alternativo para el objeto Field. El siguiente ejemplo utiliza eltítulo CuentaEncabezado para dar nombre al objeto Field devuelto del objeto Recordsetresultante:

SELECT COUNT(IdEmpleado) AS CuentaEncabezado FROM Empleados.

Puede utilizar otras cláusulas en una instrucción SELECT para limitar y organizaraún más los datos devueltos. Para obtener más información al respecto, vea el tema deAyuda relativo a las cláusulas que esté utilizando.

Ejemplos de Select

En el ejemplo siguiente se seleccionan los campos Apellido y Nombre de todos losregistros de la tabla Empleados:

SELECT Apellido, Nombre FROM Empleados

En el siguiente se seleccionan todos los campos de la tabla Empleados:

SELECT * FROM Empleados

En el siguiente se cuenta el número de registros que tienen una entrada en el campoCódPostal y asigna el nombre Total al campo devuelto:

SELECT Count(CódPostal) AS Total FROM Clientes.

El siguiente muestra cuáles serían los precios unitarios del producto si cada uno seviera aumentado el 10 por ciento. Los precios unitarios existentes en la base de datos nose modifican.

2Recordset es una estructura de datos usada en programación cuya utilidad es la de almacenar infor-macion desde una tabla de una base de datos. Se usa con frecuencia para obtener conexiones con basesde datos y almacenar el resultado de las posibles consultas que se realicen

Page 84: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

84 Capítulo 4. Consultar la base de datos

SELECT NombreProducto, PrecioUnitario AS Current, PrecioUnitario * 1.1AS NuevosPreciosPropuestosFROM Productos.

En el siguiente se calcula el número de productos de la base de datos y los preciosunitarios medios y máximos:

SELECT Count(*) AS [Total Productos], Avg(PrecioUnitario) AS [PrecioUnitario Promedio], Max(PrecioUnitario) AS [Precio Unitario Máximo]FROM Productos.

En el siguiente se muestra el NombreProducto y PrecioUnitario de cada registro dela tabla Productos. La cadena "tiene un precio unitario de"separa los dos campos en elconjunto resultado.

SELECT NombreProducto, ’tiene un precio unitario de’, PrecioUnitarioFROM Productos.

Información sobre las operaciones UNION y UNION ALL

8Sintaxis--------

[TABLE] consulta1 UNION [ALL] [TABLE] consulta2 [UNION [ALL] [TABLE]consulta..n [ ... ]]

La operación UNION consta de las siguientes partes:

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

consulta1-n Una instrucción SELECT, el nombre de una consulta almacenada o elnombre de una tabla almacenada precedido por la palabra claveTABLE.

---------------------------------------------------------------------------------Comentario Puede mezclar el resultado de dos o más consultas, tablas e instruc-

ciones SELECT, en cualquier combinación, en una operación UNION única.El siguiente ejemplo mezcla una tabla existente llamada Nuevas cuentasy una instrucción SELECT:

TABLE [Nuevas cuentas] UNION ALLSELECT *

Page 85: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

4.8. Consultas SQL 85

FROM ClientesWHERE ImportePedido >1000.

De forma predeterminada, no se devuelven los registros duplicados cuando utilizauna operación UNION; sin embargo, puede incluir el predicado ALL para asegurarque se devuelven todos los registros. Esto también hace que la consulta se ejecute másrápidamente.

Todas las consultas de una operación UNION deber requerir el mismo número decampos. Sin embargo, los campos no tienen que ser del mismo tamaño o tipo de datos.

Utilice alias solamente en la primera cláusula SELECT porque en las demás se ig-nora. En la cláusula ORDER BY, hacer referencia a los campos por cómo se les llama enla primera cláusula SELECT.

Ejemplos de UNION y UNION ALL

En el ejemplo siguiente se recupera los nombres y ciudades de todos los provee-dores y clientes de Brasil:

SELECT NombreCompañía, Ciudad FROM ProveedoresWHERE País = ”Brasil”UNION SELECT NombreCompañía, CiudadFROM ClientesWHERE País = ”Brasil”.

En el siguiente se recuperan los nombres y ciudades de todos los proveedores yclientes ubicados en Brasil:

SELECT NombreCompañía, Ciudad, Proveedor AS SourceFROM ProveedoresWHERE País = ”Brasil”UNION SELECT NombreCompañía, Ciudad, ClienteFROM ClientesWHERE País = ”Brasil”ORDER BY Ciudad, Source.

En el siguiente se recuperan los nombres e identificadores de todos los proveedoresy clientes. Esta unión supone que hay el mismo número de columnas en cada tabla.

TABLE Clientes UNION TABLE Proveedores.

Advertencia: Si convierte una consulta de unión en otro tipo de consulta, como porejemplo una consulta de selección, se perderán las instrucciones SQL que se habíanintroducido.

Page 86: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

86 Capítulo 4. Consultar la base de datos

Figura 4.17: Consulta de paso a traves.

4.8.4. Consulta de paso a través

Este tipo de consulta envía comandos directamente a las bases de datos ODBC3,como las de Microsoft SQL Server, utilizando comandos aceptados por el servidor. Porejemplo, puede emplear una consulta de paso a través para recuperar registros o modi-ficar datos.

Las consultas de paso a través de Microsoft Access envían comandos directamentea un servidor de base de datos ODBC (como Microsoft SQL Server). Mediante las con-sultas de paso a través se trabaja directamente con las tablas del servidor, en vez deestablecer vinculación a ellas.

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

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

3Open Database Connectivity (ODBC) es un estándar de acceso a Bases de Datos desarrollado porMicrosoft Corporation. El objetivo de ODBC es hacer posible el acceder a cualquier dato de cualquieraplicación, sin importar qué Sistema Gestor de Bases de Datos almacene los datos

Page 87: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

4.8. Consultas SQL 87

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

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

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

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

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

7. Si la consulta no es de las que devuelve registros, configurar la propiedad De-vuelveRegistros (ReturnsRecords) a No.

8. En la ventana Consulta, escribir las instrucciones SQL de la consulta de paso através.

9. Para ejecutar la consulta, hacer clic en Ejecutar en la barra de herramientas. Deforma alternativa, para una consulta de paso a través que devuelve registros, sepuede hacer clic en Vista en la barra de herramientas.

Si fuera necesario, Microsoft Access nos solicitará información sobre el servidorSQL de su base de datos.

Anotaciones a las consultas de paso a través

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

Las consultas de paso a través son útiles para ejecutar procedimientos guardadosen un servidor ODBC.

Page 88: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

88 Capítulo 4. Consultar la base de datos

Si no se especifica una cadena de conexión en la propiedad CadConexiónODBC(ODBCConnectStr) o si se elimina una existente, Microsoft Access utiliza .ODBC"deforma predeterminada. Con este valor, Microsoft Access solicita la información deconexión, cada vez que se ejecuta la consulta.

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

4.8.6. Consulta de definición de datos

Este tipo de consulta crea o modifica objetos de la base de datos, como tablas deMicrosoft Access o Microsoft SQL Server por medio de instrucciones SQL.

Se pueden usar consultas SQL de definición de datos para crear, eliminar o modifi-car tablas o crear índices en la base de datos activa.

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

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

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

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

5. Introducir la instrucción SQL para la consulta de definición de datos. Cada con-sulta de definición de datos consta exactamente de una instrucción de definiciónde datos. Microsoft Access acepta estas instrucciones de definición de datos. Estasson las instrucciones SQL:

CREATE TABLEALTER TABLEDROPCREATE INDEX

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

Page 89: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

4.8. Consultas SQL 89

CREATE TABLE (crea una tabla)

El motor de base de datos Microsoft Jet no permite el uso de la instrucción CREATETABLE, o cualquiera de las instrucciones de lenguaje de definición de datos (DDL), conmotores de base de datos que no sean Microsoft Jet.

10Sintaxis--------

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

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

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

tabla El nombre de la tabla que se va a crear.---------------------------------------------------------------------------------Campo1, El nombre del campo o de los campos que se van a crear en la nueva

tabla.campo2 Debe crear al menos un campo.---------------------------------------------------------------------------------Tipo Tipo de datos de los campos de la tabla nueva.---------------------------------------------------------------------------------Tamaño El tamaño del campo en caracteres (solamente campos de tipo Text o

Binary).---------------------------------------------------------------------------------Indice1, Una cláusula CONSTRAINT que define el índice de campo únicoIndice2---------------------------------------------------------------------------------Indice de Una cláusula CONSTRAINT que define un índice de múltiples campos. Vea elmúltiples tema de la cláusula CONSTRAINT para obtener más información acercacampos de cómo crear este índice.---------------------------------------------------------------------------------

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

Page 90: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

90 Capítulo 4. Consultar la base de datos

Ejemplos de CREATE

En el ejemplo siguiente se crea una tabla nueva con dos campos de Texto:

CREATE TABLE PrimeraTabla (Nombre TEXT, Apellido TEXT)

En el ejemplo siguiente se crea una tabla nueva con dos campos de Texto, un campoFecha/Hora y un único índice compuesto de los tres campos:

CREATE TABLE SegundaTabla (Nombre TEXT, Apellido TEXT, FechaDeNacimien-to DATETIME, CONSTRAINT MiRestricciónTabla UNIQUE (Nombre, Apellido,FechaDeNacimiento))

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

CREATE TABLE TerceraTabla (Nombre TEXT, Apellido TEXT, SSN INTEGERCONSTRAINT MiRestricciónCampo PRIMARY KEY)

ALTER TABLE

Agrega un nuevo campo o restricción a una tabla ya existente. Modifica el diseñode una tabla después de que se haya creado con la instrucción CREATE TABLE.

12Sintaxis--------

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

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

Page 91: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

4.8. Consultas SQL 91

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

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

construir este índice, vea el tema de la cláusula CONSTRAINT.

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

Utilizando la instrucción ALTER TABLE, se puede modificar una tabla existente dediferentes formas:

Utilizar ADD COLUMN para agregar un campo nuevo a la tabla. Especifique elnombre del campo, el tipo de datos y un tamaño opcional (para campos tipo Texty Binary). Por ejemplo, la siguiente instrucción agrega una campo tipo Text de 25caracteres llamado Notas a la tabla Empleados:

ALTER TABLE Empleados ADD COLUMN Notas TEXT(25)

Utilizar la instrucción ADD CONSTRAINT para agregar un índice de múltiplescampos. Para obtener más información acerca de los índices de múltiples campos,vea el tema de la cláusula CONSTRAINT.

Utilizar la instrucción DROP COLUMN para eliminar un campo. Especifique so-lamente el nombre del campo.

Utilizar la instrucción DROP CONSTRAINT para eliminar un índice de múltiplescampos. Especifique solamente el nombre del índice a continuación de la palabrareservada CONSTRAINT.

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

Page 92: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

92 Capítulo 4. Consultar la base de datos

Puede utilizar la instrucción CREATE INDEX para agregar un índice de uno omúltiples campos a una tabla, y puede utilizar la instrucción ALTER TABLE oDROP para eliminar un índice creado con la instrucción ALTER TABLE o CREATEINDEX.

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

DROP

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

14Sintaxis--------

DROP {TABLE tabla | INDEX índice ON tabla}

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

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

tabla El nombre de la tabla que se va a eliminar o la tabla de la cualse va a eliminar un índice.

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

Anotaciones:Debe cerrar la tabla antes de eliminarla o quitar el índice de ella. Tam-bién puede utilizar la instrucción ALTER TABLE para eliminar un índice de una tabla.Puede utilizar la instrucción CREATE TABLE para crear una tabla y las instruccionesCREATE INDEX o ALTER TABLE para crear un índice. Para modificar una tabla, utilicela instrucción ALTER TABLE.

Ejemplos de DROP

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

DROP INDEX MiÍndice ON Empleados

Page 93: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

4.8. Consultas SQL 93

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

DROP TABLE Prácticas

CREATE INDEX

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

16Sintaxis--------

CREATE [ UNIQUE ] INDEX índiceON tabla(campo [ASC|DESC][, campo [ASC|DESC], ...])[WITH { PRIMARY | DISALLOW NULL | IGNORE NULL }]

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

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

tabla El nombre de la tabla existente que contendrá el índice.---------------------------------------------------------------------------------Indice El nombre del índice que se va a crear.---------------------------------------------------------------------------------Campo El nombre del campo o de los campos que se van a indexar. Para

crear un índice de único campo, escriba el nombre del campo entreparéntesis a continuación del nombre de la tabla. Para crear uníndice de múltiples campos, enumere el nombre de cada campo que seva a incluir en el índice. Para crear índices descendentes, utilicela 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 dediferentes registros, utilice la palabra reservada UNIQUE.

En la cláusula opcional WITH puede hacer cumplir reglas de validación. Puede:

No permitir entradas Null en el campo o campos de índice de los registros nuevosutilizando la opción DISALLOW NULL.

Impedir que se incluyan registros con valores Null en el campo o los campos deíndice utilizando la opción IGNORE NULL.

Page 94: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

94 Capítulo 4. Consultar la base de datos

Designar el campo o los campos de índice como la clave principal utilizando lapalabra reservada PRIMARY. Esto significa que la clave es única, por lo que puedeomitir la palabra reservada UNIQUE.

Puede utilizar CREATE INDEX para crear un pseudo índice en una tabla vincu-lada en un origen de datos ODBC, como SQL Server, que no tenga todavía uníndice. No necesita permiso ni tener acceso al servidor remoto para crear un pseu-do índice, y la base de datos remota ignora y no le afecta el pseudo índice.

Utilice la misma sintaxis para las tablas vinculadas y nativas. Esto se puede es-pecialmente útil para crear un índice en una tabla que sea habitualmente de sólolectura debido a la carencia de un índice.

También puede utilizar la instrucción ALTER TABLE para agregar un índice deuno o varios campos a una tabla y puede utilizar la instrucción ALTER TABLE o lainstrucción DROP para quitar un índice creado con la instrucción ALTER TABLEo CREATE INDEX.

No utilice la palabra reservada PRIMARY cuando cree un nuevo índice en unatabla que ya tenga una clave principal; si lo hace, se produce un error.

Ejemplos de CREATE INDEX

En el ejemplo siguiente se crea un índice, que consta de los campos TeléfonoParti-cular y Extensión, en la tabla Empleados:

CREATE INDEX ÍndiceNuevo ON Empleados (TelDomicilio, Extensión)

En el ejemplo siguiente se crea un índice en la tabla Clientes con el campo IdCliente.Dos registros no pueden tener los mismos datos en el campo IdCliente y no se permitenlos valores Nulo.

CREATE UNIQUE INDEX IdClien ON Clientes (IdCliente) WITH DISALLOW NULL

Para eliminar el índice creado en el ejemplo anterior, se debe utilizar la instrucciónDROP. No se puede eliminar el índice en la vista Diseño de la tabla a menos que tambiénse elimine la relación en la tabla Clientes. La instrucción siguiente elimina el índicenuevo mediante el uso de la instrucción DROP:

DROP INDEX IdClien ON Clientes

En el ejemplo siguiente se crea un índice en una tabla vinculada ODBC. La basede datos remota de la tabla no reconoce el índice nuevo y no se ve afectada por él. Elejemplo siguiente no funcionará si simplemente lo pega en Microsoft Access; primeroes necesario crear una tabla vinculada ODBC denominada DetallesPedidoODBC.

CREATE UNIQUE INDEX IdPedido ON DetallesPedidoODBC (IdPedido)

Page 95: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

4.9. Subconsultas 95

4.9. Subconsultas

Este tipo de consulta consta de una instrucción SQL SELECT dentro de otra con-sulta de selección o consulta de acción. Puede introducir estas instrucciones en la filaCampo de la cuadrícula de diseño de la consulta para definir un campo nuevo o bienen la fila Criterios para definir criterios para un campo.

Usar una subconsulta para definir un campo o definir criterios para un campo

Puede utilizar subconsultas para, por ejemplo, comprobar la existencia de resulta-dos para la subconsulta, buscar valores en la consulta principal que sean iguales, ma-yores o menores que valores devueltos por la subconsulta, o para crear subconsultasdentro de subconsultas.

4.9.1. Crear subconsultas

1. Crear una nueva consulta.

2. En la vista Diseño de la consulta, agregar los campos que se desee a la cuadrículade diseño, incluyendo los campos que se quieren utilizar para la subconsulta.

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

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

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

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

Page 96: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

96 Capítulo 4. Consultar la base de datos

Figura 4.18: Consulta con una subconsulta.

Page 97: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

Capítulo 5

Los Formularios de Access

Hasta este momento, nuestra relación con la base de datos y sus tablas se ha desar-rollado directamente, prácticamente sin intermediarios. Incluso cuando hemos efectua-do consultas, nos hemos relacionado con los registros y campos (filas y columnas) talcomo ellos se encuentran en las tablas de la base de datos.

Podemos decir que el formulario es una interfaz o intermediario entre las tablas yel usuario. Su objetivo consiste en presentar al usuario de un modo mas agradable ycómodo los datos de la tabla con los que va a trabajar.

Los formularios son pantallas o ventanas dentro de las cuales se alojan cuadros detexto, etiquetas, botones, imágenes, a través de los cuales podemos introducir, extraer oconsultar datos de las tablas. Estos objetos, llamados controles, son fundamentalmentede dos tipos: los que enseñan o admiten datos de las tablas, y los que muestran la infor-mación estática, tal como gráficos o textos.

5.1. Creación de formularios

La mejor manera de acercarnos al tema es crear un formulario sencillo sobre la basede la tabla Clientes. Access tiene un generador de formularios que nos ayudará en elcamino emprendido de generar un formulario. Posteriormente podemos personalizar-lo añadiéndole o quitándole objetos según nuestras necesidades. Una vez que se hayaadquirido alguna experiencia se podrá diseñar directamente el formulario sin ayuda deasistentes.

En la figura 5.1 se muestra el primer paso: Estando en la solapa Formularios, de labase de datos, pulsamos el botón Nuevo. De inmediato aparece la caja de dialogo conlas distintas manera de crear un formulario (nosotros hemos elegido el asistente paraformularios), así como la tabla de la cual se extraerán los campos para mostrarlos en

97

Page 98: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

98 Capítulo 5. Los Formularios de Access

Figura 5.1: Creación de un formulario.

Page 99: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

5.1. Creación de formularios 99

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

el formulario. Aceptamos y nos aparece la pantalla de la figura 5.2, en la que podemosapreciar la lista de campos disponibles, (ventana izquierda), de entre los que se eligenlos que se van a introducir en el formulario (ventana derecha).

Se puede advertir que pueden seleccionarse para el formulario, campos pertene-cientes a mas de una tabla o consulta.

Siguiendo los pasos que indica el asistente, se muestra la posibilidad de distribuirlos campos en la pantalla del formulario, así como las distintas opciones o estilos (cam-pos y fondos) con los cuales se pueden representar los campos y etiquetas en la pantalladel formulario, y por último, el asistente nos pide un nombre para el formulario, asícomo las opciones finales. Pulsamos el botón Terminar y se nos presenta construido, elformulario, tal como los vemos en la figura 5.3

Además de los campos seleccionados aparece en el formulario un contador de re-gistros, y un navegador con el que poder moverse a través de los registros de la tabla.La vista que nos proporciona la figura 5.4 es la llamada Vista Formulario. Además deella también puede accederse al formulario a través de la Vista Diseño. En esta vista de

Page 100: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

100 Capítulo 5. Los Formularios de Access

Figura 5.3: Vista del formulario terminado por el asistente.

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

5.2. Diseño de formularios: Los controles

El asistente para formularios nos ha ayudado a generar el formulario en bruto, sinembargo, lo normal es que deseemos añadirle nuevas funcionalidades o modificar enparte el diseño con el fin de darle una nueva estética o una nueva distribución de loselementos.

Para ello, deberemos pasar a modo de Diseño. En la ventana de diseño podemosver las tres partes básicas del formulario:

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

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

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

Page 101: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

5.2. Diseño de formularios: Los controles 101

Figura 5.4: Vistas del formulario y sus distintas zonas.

Page 102: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

102 Capítulo 5. Los Formularios de Access

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

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

5.2.1. Tipos de controles

1. Dependientes: Son los que contienen información de los campos de las tablas. Almodificar los datos en el control, queda modificada en la tabla.

2. Independientes: No dependen de los campos de las tablas, sino que muestran in-formación extática, o mejoran la apariencia (líneas, cuadros, etiquetas...)

3. Calculados: Son los que almacenan información proveniente de resultado de ex-presiones o cálculos.

Veamos en detalle los distintos controles de la figura 5.5. De algunos de ellos,mostraremos una pequeña imagen explicativa.

5.2.2. Detalle de los controles

Seleccionar objetos: Permite seleccionar objetos con el ratón

Page 103: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

5.2. Diseño de formularios: Los controles 103

Figura 5.6: Grupo de opciones.

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

Grupo de opciones: Puede utilizar un grupo de opciones en un formulario o in-forme para presentar un conjunto limitado de alternativas. Un grupo de opcioneshace fácil seleccionar un valor, ya que sólo tiene que hacer clic en el valor quedesee. Sólo se puede elegir una opción cada vez de entre un grupo de opciones.Un grupo de opciones consiste en un marco de grupo y un conjunto de casillas deverificación, opciones, o botones de alternar.

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

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

Botón de comando: Se utiliza en un formulario para iniciar una acción o un con-junto de acciones. Por ejemplo, puede crear un botón de comando que abra otro

Page 104: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

104 Capítulo 5. Los Formularios de Access

Figura 5.7: Cuadro combinado.

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

Marco de objeto independiente: Inserta un marco para poder introducir un objetoOLE independiente del contenido del campo

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

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

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

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

Botón de opción: Se utiliza en un formulario como un control individual para pre-sentar un valor Sí/No de una tabla, consulta o instrucción SQL base. Si la opciónestá seleccionada, el valor en la tabla Productos es Sí. Si no, el valor es No.

Botón de alternar: Se puede utilizar un botón de alternar en un formulario co-mo un control individual para presentar un valor Sí/No. Por ejemplo, el botónde alternar en la siguiente ilustración es un botón dependiente con el campo Sus-pendido en la tabla Productos. El tipo de dato del campo Suspendido es Sí/No.

Page 105: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

5.2. Diseño de formularios: Los controles 105

Cuando se presiona el botón, el valor en la tabla Productos es Sí. Cuando el botónno está presionado, el valor en la tabla Productos es No.

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

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

Imagen: Permite la introducción de una imagen en el formulario para mejorar suaspecto. Cuando se selecciona, se abre un cuadro de dialogo que permite elegir elarchivo de imagen.

Marco de objeto dependiente: Inserta un marco para poder introducir el valor deun campo OLE.

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

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

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

5.2.3. Manejo de los controles

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

Mover: Cuando se tiene seleccionado un objeto o control, aparece en su vértice su-perior izquierdo un cuadrado negro que es un poco mayor que los demás. Cuandoacercamos el cursor del ratón a él vemos que este se cambia a una mano. Pulsandoese punto podemos mover el objeto en el formulario.

Page 106: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

106 Capítulo 5. Los Formularios de Access

Redimensionar: También puede cambiarse el tamaño a los objetos seleccionados.El modo es colocar el cursor en cualquiera de los puntos que rodean al objeto;en ese momento el cursor se cambia a una flecha doble; se pulsa y se arrastramanteniendo pulsado el ratón hasta llegar al tamaño deseado.

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

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

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

5.3. Diseño de formularios: Las propiedades

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

Page 107: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

5.3. Diseño de formularios: Las propiedades 107

Figura 5.8: Propiedades el control.

Para acceder a las propiedades de un control, se le selecciona, se pulsa clic con elbotón derecho del ratón que despliega el menú de control, y se elige la opción Propie-dades

Como vemos, la ventana de propiedades dispone de cinco solapas: Formato, Datos,Eventos, Otras y Todas. Veamos con brevedad cada una de estas solapas y su correspon-diente utilidad:

5.3.1. Solapa Formato

Esta solapa contiene todas las propiedades que permiten cambiar el aspecto delcontrol que tengamos seleccionado. Se muestra en la figura 5.8

La mayoría de las propiedades son listas desplegables que contienen los valoresque admite la propiedad, pero en otras veces al lado del campo de la propiedad apareceun botón con tres puntos suspensivos. Al pulsarlo aparece una ventana con opcionesdisponibles. Por ejemplo en la figura 5.8 se muestran las distintas propiedades desple-gadas en la solapa Formato de la etiqueta. En la línea segunda se observan los tres

Page 108: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

108 Capítulo 5. Los Formularios de Access

puntos.

Como se puede ver, podemos cambiar el aspecto del control variando las distintaspropiedades de la solapa Formato. Si no sabemos para qué sirve alguna propiedad,podemos pulsar F1 y aparecerá la ayuda correspondiente.

Una cosa es la solapa Formato, y otra la propiedad Formato: La propiedad Forma-to (Format) afecta sólo a cómo se muestran los datos. No afecta a cómo se almacenanlos datos. Microsoft Access dispone de formatos predefinidos para los tipos de datosFecha/Hora, Numérico y Moneda, Texto y Memo, y Sí/No. Los formatos predefinidosdependen del país especificado al hacer doble clic en Configuración regional en el Panelde control de Windows. Microsoft Access muestra los formatos apropiados para el paísseleccionado. Por ejemplo, si está seleccionado Inglés (Estados Unidos) en la ficha Con-figuración regional, 1234.56 en el formato Moneda aparece como $ 1,234.56, pero si estáseleccionado Inglés (Británico) en la ficha Configuración regional, el número aparececomo £ 1,234.56.

Si establece la propiedad Formato (Format) de un campo en la vista Diseño de latabla, Microsoft Access utiliza ese formato para mostrar datos en las hojas de datos.También aplica la propiedad Formato (Format) del campo a los nuevos controles deformularios e informes.

5.3.2. Solapa Datos

La solapa Datos despliega las propiedades que permiten determinar los datos queaparecerán en el control que hayamos seleccionado Si el control no es dependiente deninguna tabla, como el caso de la etiqueta, esta solapa aparecerá vacía. Si el control esdependiente, es decir, muestra campos de alguna tabla, entonces sí aparecerán propie-dades en la solapa Datos.

Como vemos en la figura 5.9 se muestran las propiedades del control correspon-diente al cuadro conbinado País. Los datos que se introducirán en este campo provienende la tabla ”tblPaises”, lo que garantiza una mayor fiabilidad. La propiedad Activadodetermina si el control puede recibir el foco, o sea, si en él se van a poder introducirdatos. La propiedad Bloqueado se usa para proteger los datos haciéndolos de sólo lec-tura. La propiedad Valor predeterminado indica si queremos introducir un valor pordefecto en el campo.

5.3.3. Solapa Eventos (y macros)

Se contienen en la solapa Eventos, aquellas acciones a las que puede responder elcontrol que tenemos seleccionado. Cada control u objeto responde a unos eventos que

Page 109: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

5.3. Diseño de formularios: Las propiedades 109

Figura 5.9: Propiedad Datos del control.

Page 110: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

110 Capítulo 5. Los Formularios de Access

Figura 5.10: Propiedad Eventos del control.

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

Qué es un evento ?

Un evento es una acción determinada que se produce en, o con, un objeto particular.Microsoft Access puede responder a una variedad de eventos: clics del ratón, cambiosen los datos, formularios que se abren o se cierran, y muchos otros. Los eventos sonnormalmente el resultado de una acción del usuario.

Usando un procedimiento de evento o una macro, se pueden agregar respuestaspersonalizadas 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 etiquetaque tenemos seleccionado. Vemos que al evento Al cerrar se le ha asociado una accióndeterminada (procedimiento de evento) definido en otra parte del programa.

Ante un evento determinado (como hacer o pulsar clic con el ratón) se puede res-ponder con acciones de dos tipos: Procedimientos de eventos o Macros. Mas adelanteprofundizaremos en esto.

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

Page 111: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

5.3. Diseño de formularios: Las propiedades 111

2. Responder al evento usando una macro

Cuando se crea un procedimiento de evento para un objeto, Microsoft Access agre-ga una plantilla de procedimiento de evento nombrada para el evento y el objeto almódulo de formulario. Todo lo que se necesita hacer es agregar código que responda dela forma que se desee cuando se produzca el evento en el formulario o informe.

Ejemplo: Crear un botón de Salida del formulario

Supongamos que deseamos añadir un botón a nuestro formulario de Gestión declientes para que cuando hagamos clic en él se cierre dicho formulario. Los pasos aseguir son los siguientes:

1. Seleccionar del cuadro de herramientas un Botón de comando y situarlo dentrodel formulario (en este caso lo situamos en la parte inferior derecha del Pié delformulario). La figura 5.11 nos muestra la inserción del botón, (de momento, elbotón se llama ”Comando33”) en el lugar indicado.

2. De inmediato se abre una ventana donde se presentas las distintas categorías deacciones susceptibles de ser utilizadas por este tipo de control. Como se ilustra enla figura, existen distintas acciones para cada categoría, lo que nos da una muestrade las distintas posibilidades de asignar acciones a un botón de comando.

3. Una vez elegida la acción Cerrar formulario dentro de la categoría Operacionescon formularios, se pulsa el botón Siguiente. Se abre una nueva ventana del asis-tente para botones de comando, en la que se nos piden los datos externos delbotón, es decir si se va a representar la acción por medio de una imagen adecuadaa la acción,(de las que Windows o Access poseen, o que nosotros mismos hayamoscreado), o si en el botón aparecerá una palabra indicativa de la acción.

4. El siguiente paso es asignar un nombre al botón (objeto control). En este caso lehemos llamado ”Boton Salir”. Este es el nombre del objeto que conoce Access in-ternamente, y que usa para cualquier acción o referencia a este botón, y que no esvisible para el usuario. Por ello no se debe confundir con la palabra que apareceen el botón (también podríamos colocar la palabra Salir en la superficie visible delbotón en vez de la imagen).

5. Pulsar el botón Terminar. El asistente desaparece y entramos de nuevo en la ven-tana de Diseño del formulario, en el cual se encuentra ya perfectamente operativoel nuevo botón Salir. Para ver los resultados no hay mas que pasar a modo VistaFormulario. Esta opción se despliega en la parte superior izquierda de la barra deherramientas, situada bajo el menú Archivo de la barra general de menús.

El resultado lo tenemos en la figura 5.12. Cuando pulsemos el botón Salir, Accessabandonará el formulario.

Page 112: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

112 Capítulo 5. Los Formularios de Access

Figura 5.11: Asistente para botones de comando.

Page 113: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

5.3. Diseño de formularios: Las propiedades 113

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

Page 114: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

114 Capítulo 5. Los Formularios de Access

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

18Private Sub Boton_salir_Click()On Error GoTo Err_Boton_salir_Click

DoCmd.Close

Exit_Boton_salir_Click:Exit Sub

Err_Boton_salir_Click:MsgBox Err.DescriptionResume Exit_Boton_salir_Click

End Sub

En el cuadro 18 se muestran las líneas de código correspondientes al Procedimien-to Boton Salir Click(), cuyo objeto es Boton Salir. El contenido queda comprendidoentre las isntrucciones Private Sub y End Sub. La orden que cierra el formulario es elcomando DoCmd.Close. Como vemos, el código del procedimiento contiene otrasórdenes para el caso de que se produzca algún error.

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

Para hacer que se ejecute una macro en respuesta a un evento, la manera sería:abrir la hoja de propiedades para el formulario o control; buscar la propiedad quecorresponda al evento, y establecerla a la macro que se desee ejecutar. Eso significaque es necesario tener creada o crear una macro con las acciones correspondientes.En la figura 5.13 vemos como se establece la acción a la Macro Salir.

Ahora hay que crear la macro que hemos llamado ”Macro Salir”. Para ello guardamosel formulario. Los pasos para crear una macro son los siguientes:

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

b) Haga clic en el botón Nuevo en la barra de herramientas de la ventana Basede datos.

c) Agregar una acción, (es decir, una instrucción independiente que se puedecombinar con otras acciones para automatizar tareas. A veces se denominacomando en otros lenguajes de macros) a la macro. Estos son los pasos:

Page 115: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

5.3. Diseño de formularios: Las propiedades 115

Figura 5.13: Responder a evento con una macro.

Page 116: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

116 Capítulo 5. Los Formularios de Access

Figura 5.14: Macro salir.

1) En la ventana Macros, hacer clic en la primera fila en blanco de la colum-na Acción. Si desea insertar una acción entre dos filas de acciones, hacerclic en el selector de la fila de acción que se encuentra justo debajo de lafila donde desea insertar la nueva acción y, a continuación, hacer clic enInsertar fila en la barra de herramientas.

2) En la columna Acción, hacer clic en la flecha para presentar la lista deacciones.

3) Hacer clic en la acción que se desee utilizar.4) En la parte inferior de la ventana, especifcar los argumentos de la acción,

si es que se requiere alguno. Si se trata de argumentos de acción ( infor-mación adicional que requieren algunas acciones de macro, por ejemplo,el objeto al que afecta la acción o condiciones especiales en las que tienelugar la acción.) cuyos valores son el nombre de un objeto de base dedatos, para establecer el argumento puede arrastrar el objeto desde laventana Base de datos hasta el cuadro del argumento Nombre de objetode la acción.

5) Introducir un comentario para la acción. Los comentarios son opcionales.

Page 117: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

5.4. Ejecución del formulario 117

5.3.4. Solapa Otras

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

5.3.5. Solapa Todas

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

5.4. Ejecución del formulario

Una vez terminado el diseño del formulario, lo primero que debe hacerse es guar-darlo. De todas formas, antes de cerrarlo, se nos pregunta si deseamos salvar los cam-bios. Una vez guardado, el formulario debe aparecer con el nombre asignado dentro dela solapa Formularios de la ventana Base de Datos.

Para ejecutar el formulario puede procederse de varias maneras: Durante la fasede diseño basta con pulsar el botón Vista, que está situado en la barra de herramientasdebajo de Archivo, en la barra de menús. Otra forma de ejecutar el formulario durantela fase de diseño es situar el puntero del ratón en la barra de título del formulario, pulsarel botón derecho del ratón, y elegir la opción Vista formulario de entre las que aparecenen el menú de contexto.

Si tenemos el formulario cerrado. la manera de ejecutarlo es seleccionarlo en lasolapa Formularios y pulsar el botón Abrir.

5.5. Otros asistentes para formularios

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

5.5.1. Autoformulario: Columnas

El Autoformulario de columnas genera automáticamente un formulario donde loscampos de la tabla elegida se muestran cada uno en una línea con su correspondiente

Page 118: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

118 Capítulo 5. Los Formularios de Access

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

5.5.2. Autoformulario: Tabular

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

5.5.3. Autoformulario: Hoja de Datos

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

5.5.4. Asistente para gráficos

Agrega un gráfico al formulario basándose en los datos de una tabla. El Asistentepara gráficos determina, a partir de los datos especificados, si debe mostrar los datosde todos los campos en un gráfico global o si es más apropiado mostrar un gráficovinculado a registros, de modo que al desplazarse de registro en registro pueda ver ungráfico que represente sólo los datos del registro actual. No obstante, si el Asistente paragráficos crea un gráfico global y en realidad necesita un gráfico vinculado a registros,puede vincular el gráfico a un registro específico.

Para utilizar el Asistente para gráficos, hay tener Microsoft Graph instalado. Mi-crosoft Access no instala Microsoft Graph de forma predeterminada en una configu-ración típica.

5.5.5. Asistente para tablas dinámicas

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

Page 119: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

5.6. Subformularios 119

columnas, calculando las cantidades individuales en la intersección de cada encabeza-do de fila y columna y, a continuación, calcular subtotales y totales. Por ejemplo, paraanalizar las ventas por categorías de productos, podría presentar los nombres de losempleados como encabezados de columna en la parte superior del formulario de tabladinámica, las categorías de productos como encabezados de las filas del formulario detabla dinámica y el importe de las ventas calculado por categoría de producto para cadaempleado en la intersección de cada fila y columna.

Los formularios de tabla dinámica reciben ese nombre porque es posible cambiardinámicamente sus diseños para analizar los datos de diferentes formas. Es posible re-organizar los encabezados de filas, encabezados de columnas y campos de página hastaque se consiga el diseño deseado. Cada vez que se modifica el diseño, el formulariode tabla dinámica inmediatamente vuelve a calcular los datos en función de la nue-va organización. Además, el formulario de tabla dinámica se actualiza cada vez quecambian los datos de origen. Los formularios de tabla dinámica se crean en MicrosoftAccess utilizando el Asistente para tablas dinámicas. El asistente utiliza Microsoft Excelpara crear la tabla dinámica y Microsoft Access para crear un formulario en el que laincrusta. Cada vez que se abre un formulario de tabla dinámica, éste muestra los datoscorrespondientes a la última vez que se la ha activado.

Para crear el formulario de tablas dinámicas basta con pulsar Nuevo en la solapaFormularios, elegir el asistente para tablas dinámicas, elegir la tabla y seguir los pasosque se indican en el asistente. Hay que colocar (arrastrando) los campos en su sitio (filao columna) de tal manera que nos proporcionen la información deseada.

El resultado final del proceso es el que muestra la figura 5.17. Vemos que en elformulario dinámico se ha incrustado la Hoja de Cálculo Microsoft Excel mediante lacual se presentan en forma de tabla los datos de los pedidos de clientes.

5.6. Subformularios

Los formularios vistos hasta ahora tan sólo utilizan una tabla. Sin embargo, haycircunstancias en las que se necesita trabajar con datos que están repartidos en dos omas tablas relacionadas.

Un subformulario es un formulario dentro de otro formulario. El formulario pri-mario se llama formulario principal y el otro se llama subformulario. Una combinaciónformulario/subformulario se llama a menudo formulario jerárquico, formulario princi-pal/detalle o formulario principal/secundario.

Los subformularios son muy eficaces cuando se desea mostrar datos de tablas oconsultas con una relación uno a varios29. Por ejemplo, puede crear un formulario conun subformulario para mostrar los datos de una tabla Categorías y de una tabla Produc-

Page 120: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

120 Capítulo 5. Los Formularios de Access

Figura 5.15: Asistente para tablas dinámicas.

Page 121: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

5.6. Subformularios 121

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

Page 122: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

122 Capítulo 5. Los Formularios de Access

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

Page 123: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

5.6. Subformularios 123

tos. Los datos de la tabla Categorías es el lado üno"de la relación. Los datos de la tablaProductos constituyen el lado "varios"de la relación, ya que cada categoría tiene más deun producto.

El formulario principal y subformulario de este tipo de formularios están vincu-lados para que el subformulario presente sólo los registros que están relacionados conel registro actual del formulario principal. Por ejemplo, cuando el formulario principalpresenta la categoría Bebidas, el subformulario muestra sólo los productos de la catego-ría Bebidas.

Un formulario principal puede tener cualquier número de subformularios si colocacada subformulario en el formulario principal. Puede anidar hasta dos niveles de sub-formularios. Esto significa que puede tener un subformulario dentro de un formularioprincipal y que puede tener otro subformulario dentro de ese subformulario. Por ejem-plo, podría tener un formulario principal que mostrara los clientes, un subformularioque presentara los pedidos y otro subformulario más que mostrara los detalles de lospedidos.

5.6.1. Creación de Subformularios

Supongamos que deseamos añadir al formulario de clientes un subformulario dondese muestren los pedidos de cada cliente. para ello utilizaremos el formulario ya existentefrmClientes, dentro del cual se incrustará el subformulario.

Las tablas que van a intervenir son tblClientes y tblPedidosClientes. Lo primeroque debemos tener en cuenta es que ambas deben estar relacionadas con la relaciónUno a Varios.

Los pasos que deberemos seguir son los siguientes:

1. Pulsar el botón Nuevo de la solapa Formularios, elegir la opción Asistente paraformularios, elegir la tabla tblPedidosClientes y pulsar Aceptar. Si tenemos abiertoel de clientes, se trae del cuadro de herramientas el subformulario y se coloca enel hueco del formulario frmClientes.

2. Después se seleccionan los campos de la tabla tblPedidosClientes que se desaaparezcan en el subformulario.

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

4. Lo siguiente es pulsar el botón Terminar. El resultado es la creación de un subfor-mulario incrustado en el formulario frmClientes, tal como aparece en la figura 5.3.En ella se muestran dos áreas distintas: El área con los datos del cliente en la parte

Page 124: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

124 Capítulo 5. Los Formularios de Access

Figura 5.18: Creación de un subformulario.

Page 125: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

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 latabla tblClientes y el área central en la que aparecen los pedidos correspondientesal cliente actualmente seleccionado.

Acerca de los subformularios podríamos añadir que también es posible agregara un formulario creado con anterioridad un subformulario. La forma de crear elsubformulario es a través de la barra de herramientas (activar el botón Asistentespara controles y el botón Subformularios de la misma barra de herramientas). Conellos activados se lleva el cursor dentro del formulario anterior (el cursor cambia auna pequeña cruz) y allí se pulsa y arrastra hasta crear el sitio del subformulario.De inmediato aparece el asistente para subformularios; sólo hay que seguir susdirectrices.

Page 126: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema
Page 127: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

Capítulo 6

Documentos impresos: Informes yetiquetas

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

6.1. Informes

Los informes son la forma efectiva de presentar los datos en formato impreso. Losinformes de Access poseen propiedades que controlan los distintos aspectos y elemen-tos, y que en definitiva mejoran la presentación de los datos.

La mayor parte de la información en un informe proviene de una o varias tablas,consultas o instrucción SQL. Ese es el origen de los datos del informe. Hay otra infor-mación del informe que se almacena en el diseño del informe, la que atañe a los objetosy modos de presentar los datos.

Veamos en primer lugar los distintos tipos de informe que ofrece Access para entrara continuación en el proceso de creación o generación de los informes.

6.1.1. Clases de informes

Informe tabular

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

127

Page 128: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

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

Figura 6.1: Asistentes para diseñar informes.

Figura 6.2: Informe tabular.

Page 129: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

6.1. Informes 129

Figura 6.3: Informe en columnas.

Informe de columnas

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

Etiquetas

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

6.1.2. Grupos totales

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

Resumen

Funciona como el tipo anterior de Grupos pero solo muestra la información de loscampos numéricos.

Page 130: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

130 Capítulo 6. Documentos impresos: Informes y etiquetas

6.1.3. Creación de informes

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

Creación de informes con asistente

Como en capítulos anteriores, vamos a elaborar un informe sobre la tabla tblClientesen forma de listado. Seguimos los pasos señalados en los casos anteriores. Nos iránapareciendo las ventanas del asistente, de modo parecido a la del formulario.

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

2. Elegir Nuevo.

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

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

5. Pulsar clic en Aceptar.

6. Si hemos elegido el Asistente para informes, Asistente para gráficos o Asistentepara etiquetas en el paso 3, hay que seguir las instrucciones de los cuadros dediálogo del asistente. Si hemos seleccionado Autoinforme: tabular o Autoinforme:en columnas, Microsoft Access creará automáticamente el informe.

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

Además de este aspecto, en que hemos distribuido los datos por pasos. el informepodría tener otro aspecto, conteniendo los mismos datos, es decir agrupando los objetosde otra manera

Si el informe obtenido no tiene el aspecto deseado, podemos cambiarlo en la vistaDiseño. Podríamos ajustar los espacios para que los campos estén mas proporcionados,podríamos también adornar la cabecera con el fin de hacer mas agradable el informe.

Al tiempo que hacemos las modificaciones oportunas, vamos a analizar las distintaspartes o secciones en las que se divide un informe:

Page 131: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

6.1. Informes 131

Figura 6.4: Informe de clientes.

6.1.4. Secciones del informe

La información de un informe puede dividirse en secciones. Cada sección tiene unpropósito específico y se imprime en un orden previsible en la página y en el informe.En la vista Diseño, las secciones se representan como bandas y cada sección contenidaen el informe se representa una vez. En el informe impreso, algunas secciones puedenrepetirse varias veces. Usted determina dónde aparece la información en cada seccióncolocando controles, como etiquetas y cuadros de texto.

Encabezado del informe: Una etiqueta llamada vendedordivision que vamos arotular con la frase ”Previsión de ventas por vendedor y división”

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

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

Pié de página: Se coloca aquí la información que debe aparecer en la parte inferiorde cada página. En este caso a la izquierda aparecerá la fecha de hoy en formato

Page 132: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

132 Capítulo 6. Documentos impresos: Informes y etiquetas

Figura 6.5: Secciones del informe.

Page 133: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

6.1. Informes 133

Figura 6.6: Previsión de ventas por divisiones.

largo; a la derecha aparecerá impreso el número de página y el total de ellas. Porsupuesto, que pueden hacerse las modificaciones que se deseen.

Pié del informe: Es donde se imprime la información del final del informe.

El informe modificado quedaría tal como lo muestra la figura 6.6:

La manera de realizar modificaciones en el diseño de los informes sigue el mismoproceso que las que se realizan en los formularios.

Además de las secciones que se crean con la ayuda del asistente, cada usuariopuede crear o eliminar secciones de acuerdo con el diseño del informe.

Crear y eliminar Secciones del informe

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

Desde la ventana de Diseño se pulsa la opción Ordenar y Agrupar. Aparece la VentaOrdenar y Agrupar. En ella se pueden elegir aquellos campos de la tablas que se desee

Page 134: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

134 Capítulo 6. Documentos impresos: Informes y etiquetas

agrupar en una sección. Basta con pulsar en una línea en blanco y elegir un campo. Cadasección o grupo tiene una serie de propiedades.

El modo de eliminar la secciones sigue el mismo procedimiento: Se abre la ventanaOrdenar y Agrupar, se marca el campo cuya sección se desee eliminar, y se pulsa elbotón Suprimir.

Igualmente se pueden introducir en el informe saltos de página con el fin de hacerla información más presentable. Para introducir saltos de pagina, basta con Pulsar clicen el control salto de página que está situado en la barra de herramientas y situarlo enel sitio del informe donde queramos que se inicie una nueva pagina.

6.2. Etiquetas

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

6.2.1. Creación de etiquetas

Para crear etiquetas, lo primero que debemos hacer es pulsar Nuevo en la solapa deInformes, elegir la opción Asistente para etiquetas y seleccionar la tabla. De inmediatoaparece el asistente para etiquetas como muestra la figura 6.7.

El paso siguiente es elegir el tipo y tamaño de letra para las etiquetas, así como loscampos de la tabla que aparecerán en cada etiqueta. En la siguiente pantalla del asistenteelegimos el campo por el cual se van a ordenar las etiquetas. Después habremos deponer un nombre al informe de etiquetas que se está generando.

Este diseño genera una pagina con varias etiquetas. En este caso elegimos dos eti-quetas a lo ancho. El resultado aparece en la figura 6.8.

En cuanto al formato de las etiquetas, existen gran variedad de ellos con las distin-tas medidas del mercado. Pero si deseamos hacer un formato propio podemos hacerlocon el botón Personalizar. Mediante esta opción es posible diseñar cualquier tipo deetiqueta que necesitemos.

Page 135: Introdución a las bases de datos con Microsoft AccessIntrodución a las bases de datos con Microsoft Access Gestión informatizada del subsistema comercial 2º Ciclo / 2º Curso Tema

6.2. Etiquetas 135

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

Figura 6.8: Etiquetas de clientes.