Microsoft Access - Ideaspropias Editorial
Microsoft Access - Ideaspropias Editorial
Microsoft Access - Ideaspropias Editorial
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Microsoft</strong> <strong>Access</strong><br />
Diseño de aplicaciones sencillas de bases de datos<br />
Contiene CD
<strong>Microsoft</strong> <strong>Access</strong>
<strong>Microsoft</strong> <strong>Access</strong><br />
Diseño de aplicaciones sencillas<br />
de bases de datos
Autor<br />
José Bengoechea Ibaceta (Santoña [Cantabria], 1959) ha sido<br />
reconocido por <strong>Microsoft</strong> ® como MVP (Most Valuable Professional)<br />
<strong>Access</strong> ® en los años 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010<br />
y 2011; este es un galardón anual que reconoce la labor de los líderes<br />
excepcionales de la comunidad tecnológica de todo el mundo que,<br />
de forma activa, comparten con los demás y con <strong>Microsoft</strong> su valiosa<br />
experiencia técnica en situaciones reales.<br />
Además, ha creado diversas aplicaciones de gestión para pymes y, en su<br />
puesto de trabajo como funcionario de un cuerpo de gestión, utiliza de<br />
forma habitual <strong>Microsoft</strong> <strong>Access</strong>.<br />
Bien conocido en foros y grupos de noticias de Internet sobre <strong>Access</strong><br />
por su activa participación durante años, mantiene uno de los sitios web<br />
sobre programación en <strong>Access</strong> más veteranos y conocidos en español,<br />
«Utilidades <strong>Access</strong>» (http://jbengoechea.com). En relación con <strong>Access</strong>,<br />
es autor de otro sitio web, «<strong>Access</strong> siglo XXI» (http://jbchea.net), y<br />
coautor de un blog (http://geeks.ms/blogs/access).<br />
Coincidiendo con el lanzamiento de Office ® 2007, colaboró en la<br />
elaboración de varios artículos sobre <strong>Access</strong> en el «Rincón del experto»<br />
(http://www.microsoft.com/spain/office/rincondelexperto/default1.mspx).
MICROSOFT ACCESS. DISEÑO DE APLICACIONES SENCILLAS DE BASES DE<br />
DATOS.<br />
No está permitida la reproducción total o parcial de este libro, ni su tratamiento informático,<br />
ni la transmisión de ninguna forma o por cualquier medio, ya sea electrónico, mecánico, por<br />
fotocopia, por registro u otros métodos, sin el permiso previo y por escrito de los titulares<br />
del Copyright.<br />
<strong>Microsoft</strong> es una marca registrada de <strong>Microsoft</strong> Corporation en los Estados Unidos y en<br />
otros países.<br />
DERECHOS RESERVADOS 2012, respecto a la primera edición en español, por<br />
© <strong>Ideaspropias</strong> <strong>Editorial</strong>.<br />
ISBN: 978-84-9839-226-5<br />
Depósito legal: VG 168-2012<br />
Autor: José Bengoechea Ibaceta<br />
Impreso en España - Printed in Spain<br />
Ficha de catalogación bibliográfica<br />
<strong>Microsoft</strong> <strong>Access</strong>. Diseño de aplicaciones sencillas de<br />
bases de datos<br />
1.ª edición<br />
<strong>Ideaspropias</strong> <strong>Editorial</strong>, Vigo, 2012<br />
ISBN: 978-84-9839-226-5<br />
Formato: 17 x 24 cm • Páginas: 360<br />
<strong>Ideaspropias</strong> <strong>Editorial</strong> ha incorporado en la elaboración de este material didáctico citas y<br />
referencias de obras divulgadas y ha cumplido todos los requisitos establecidos por la Ley de<br />
Propiedad Intelectual. Por los posibles errores y omisiones, se excusa previamente y está<br />
dispuesta a introducir las correcciones pertinentes en próximas ediciones y reimpresiones.
ÍNDICE<br />
PRÓLOGO ......................................................................................... 13<br />
1. Primeros pasos con <strong>Microsoft</strong> <strong>Access</strong> 2007 ..................................... 17<br />
1.1. Generalidades ............................................................................ 17<br />
1.2. Conceptos previos ..................................................................... 18<br />
1.2.1. Bases de datos .................................................................. 19<br />
1.2.2. Objetos y propiedades ...................................................... 20<br />
1.3. Crear una aplicación ................................................................. 20<br />
1.4. Formularios ............................................................................... 24<br />
1.5. Informes .................................................................................... 27<br />
1.6. Tablas ........................................................................................ 30<br />
1.7. Consultas ................................................................................... 32<br />
CONCLUSIONES .......................................................................... 35<br />
AUTOEVALUACIÓN .................................................................... 37<br />
SOLUCIONES ................................................................................ 39<br />
2. Bases de datos ................................................................................. 41<br />
2.1. Crear una base de datos ............................................................ 41<br />
2.1.1. Manos a la obra ............................................................... 43<br />
2.2. Relaciones ................................................................................. 54<br />
2.3. Bases de datos relacionales ....................................................... 61<br />
2.3.1. Modelo ER (Entidad-Relación) ....................................... 62<br />
CONCLUSIONES .......................................................................... 65<br />
AUTOEVALUACIÓN .................................................................... 67<br />
SOLUCIONES ................................................................................ 69<br />
3. Tablas .............................................................................................. 71<br />
3.1. Diseño de las tablas ................................................................... 71<br />
3.1.1. Reglas lógicas ................................................................... 72<br />
3.1.2. Diseño de los campos ...................................................... 74<br />
3.1.3. Propiedades que definen el tipo de datos ......................... 79<br />
3.1.4. Otras propiedades de los campos ..................................... 89<br />
3.1.5. Índices y claves ................................................................ 94<br />
3.2. Datos externos .......................................................................... 98<br />
3.2.1. Importar tablas ................................................................ 102<br />
3.2.2. Vincular tablas ................................................................ 103<br />
3.2.3. Importar relaciones .......................................................... 108<br />
CONCLUSIONES .......................................................................... 111<br />
AUTOEVALUACIÓN .................................................................... 113<br />
SOLUCIONES ................................................................................ 115
4. Formularios ..................................................................................... 117<br />
4.1. Entrada y edición de datos ........................................................ 118<br />
4.2. Búsqueda y navegación ............................................................. 119<br />
4.3. Filtrado de datos ....................................................................... 121<br />
4.4. Tipos de formularios ................................................................. 124<br />
4.4.1. Subformularios ................................................................. 132<br />
4.5. Diseño de formularios ............................................................... 136<br />
4.5.1. Secciones del formulario .................................................. 136<br />
4.5.2. Propiedades de datos ....................................................... 137<br />
4.5.3. Diseño gráfico del formulario .......................................... 138<br />
4.5.4. Controles del formulario .................................................. 143<br />
CONCLUSIONES .......................................................................... 167<br />
AUTOEVALUACIÓN .................................................................... 169<br />
SOLUCIONES ................................................................................ 171<br />
5. Módulos y macros ............................................................................ 173<br />
5.1. Expresiones ................................................................................ 174<br />
5.2. Macros ...................................................................................... 177<br />
5.2.1. Macros incrustadas .......................................................... 178<br />
5.2.2. Macros con nombre ......................................................... 185<br />
5.3. Módulos .................................................................................... 186<br />
5.3.1. Procedimientos Sub ......................................................... 187<br />
5.3.2. Funciones incorporadas ................................................... 188<br />
5.3.3. Funciones personalizadas ................................................ 189<br />
5.3.4. Editor de código VBA (Visual Basic para Aplicaciones):<br />
algunas nociones básicas ................................................. 191<br />
CONCLUSIONES .......................................................................... 201<br />
AUTOEVALUACIÓN .................................................................... 203<br />
SOLUCIONES ................................................................................ 205<br />
6. Consultas ......................................................................................... 207<br />
6.1. Creación y diseño de consultas: el generador de consultas ....... 208<br />
6.2. Tipos de consulta ...................................................................... 211<br />
6.2.1. Consulta de selección ...................................................... 212<br />
6.2.2. Consultas de acción ........................................................ 234<br />
6.2.3. Otras consultas ............................................................... 241<br />
CONCLUSIONES .......................................................................... 245<br />
AUTOEVALUACIÓN .................................................................... 247<br />
SOLUCIONES ................................................................................ 249
7. Informes ........................................................................................... 251<br />
7.1. Vistas de los informes ................................................................ 254<br />
7.2. Orden, agrupación y totales ...................................................... 257<br />
7.3. Secciones ................................................................................... 268<br />
7.4. Objetos, características y propiedades destacadas<br />
de los informes .......................................................................... 271<br />
CONCLUSIONES .......................................................................... 279<br />
AUTOEVALUACIÓN .................................................................... 281<br />
SOLUCIONES ................................................................................ 283<br />
8. Mantenimiento, opciones y ajustes .................................................. 285<br />
8.1. Mantenimiento ......................................................................... 285<br />
8.1.1. Compactar y reparar ........................................................ 286<br />
8.1.2. Copia de seguridad .......................................................... 287<br />
8.2. Herramientas de análisis .......................................................... 287<br />
8.3. Opciones de <strong>Access</strong> .................................................................. 289<br />
8.3.1. Centro de confianza ........................................................ 291<br />
8.3.2. Base de datos actual ........................................................ 293<br />
8.4. Últimos ajustes a la aplicación .................................................. 295<br />
8.4.1. Administrador del panel de control ................................. 297<br />
8.4.2. Personalizar la cinta de opciones ..................................... 299<br />
8.4.3. Dividir la base de datos ................................................... 300<br />
8.4.4. Proteger la aplicación ....................................................... 302<br />
8.4.5. Distribuir la aplicación .................................................... 305<br />
CONCLUSIONES .......................................................................... 309<br />
AUTOEVALUACIÓN .................................................................... 311<br />
SOLUCIONES ................................................................................ 313<br />
9. Novedades en <strong>Access</strong> 2010 .............................................................. 315<br />
9.1. Cambios en la interfaz de <strong>Access</strong> .............................................. 316<br />
9.2. Novedades y mejoras en los controles y en las herramientas<br />
de diseño ................................................................................... 318<br />
9.3. Aplicaciones web ....................................................................... 324<br />
9.4. Editor de macros, macros de datos y campos calculados<br />
en el diseño de tablas ................................................................ 326<br />
9.4.1. Campos calculados en tablas ........................................... 330<br />
9.5. Compatibilidad entre <strong>Access</strong> 2007 y <strong>Access</strong> 2010 .................... 331<br />
9.6. Características suprimidas en <strong>Access</strong> 2010 ............................... 332<br />
CONCLUSIONES .......................................................................... 335<br />
AUTOEVALUACIÓN .................................................................... 337<br />
SOLUCIONES ................................................................................ 339
PREGUNTAS FRECUENTES .......................................................... 341<br />
GLOSARIO ........................................................................................ 345<br />
EXAMEN ........................................................................................... 351<br />
BIBLIOGRAFÍA ................................................................................ 355<br />
CONTENIDO DEL CD ..................................................................... 357
«A mi esposa: Ana ¡Por fin!»<br />
«A mi madre: Mamá, no hace falta que lo leas.»
PRÓLOGO<br />
13<br />
Prólogo<br />
Poco antes de finalizar esta obra, cuando estaba preparando la sección de<br />
«Preguntas frecuentes», se me ocurrió que mi amiga Carmen, precisamente<br />
por ser usuaria ocasional de <strong>Access</strong>, tendría alguna pregunta interesante para<br />
incluir en ese apartado. La que propuso, realmente me sorprendió: «¿Para qué<br />
sirve <strong>Access</strong>?». O sea, usa <strong>Access</strong> y no sabe para qué sirve. Pensándolo bien,<br />
no es ni extraño ni infrecuente. Utiliza <strong>Access</strong> por su facilidad para realizar<br />
consultas sobre tablas planas, pero poco más; emplea solo esa parte de <strong>Access</strong>,<br />
pero ve que hay muchas más utilidades que desconoce.<br />
Dicho de una forma muy simple: <strong>Access</strong> sirve para hacer programas. Quien<br />
dice programas, dice aplicaciones de base de datos, es decir, programas de<br />
esos que «se apañan» muy bien manejando datos, por ejemplo, programas de<br />
gestión. Si solo utiliza tablas y consultas, Carmen está utilizando la aplicación<br />
<strong>Microsoft</strong> <strong>Access</strong>, pero no ha creado ninguna aplicación y, por tanto, no está<br />
aprovechando de <strong>Access</strong> todo lo que puede.<br />
La diferencia entre usar la aplicación <strong>Access</strong> y usar una aplicación desarrollada<br />
con <strong>Access</strong> es que en el segundo caso no es necesario saber nada de este programa.<br />
Cualquier electrodoméstico tiene sus «tripas» fuera de la vista y de las manos<br />
del usuario, no se vaya a electrocutar, y dispone de algunos botones o mandos<br />
para manejarlo. Lo mismo ocurre con las aplicaciones, que deben ocultar las<br />
tripas al usuario y facilitarle unos mandos para manejarlas; las «tripas» serían<br />
las tablas, consultas, código y macros, y los mandos, es decir, la interfaz de<br />
usuario, los formularios y los informes de <strong>Access</strong>. Vamos, que <strong>Access</strong> sirve<br />
para crear aplicaciones que permitan manipular datos con facilidad.<br />
Usted podrá preguntarse «¿Como el programa de base de datos de un gran<br />
banco, por ejemplo?». A mí no me lo han encargado nunca, ni se le ocurre<br />
a nadie hacerlo en <strong>Access</strong>, pero por cuestiones de seguridad y de escala, no<br />
porque <strong>Access</strong> no sea capaz de abordar la complejidad de una aplicación de<br />
ese tipo; si el banco se limitara a una sola oficina, quizás sí se podría plantear,<br />
aunque el tema de la seguridad de los datos sería complicado.<br />
En general, con <strong>Access</strong> las aplicaciones son desarrolladas por una sola persona<br />
o, a lo sumo, por un equipo de dos o tres que, con muchísima frecuencia, no
<strong>Microsoft</strong> <strong>Access</strong><br />
son profesionales. Un caso característico es el de un funcionario o un empleado<br />
de oficina que hace su propia aplicación para que le facilite el trabajo de gestión.<br />
Conoce tan bien su trabajo y ha ido adaptando tanto a él su aplicación,<br />
día a día, que, por nada del mundo puede haber otra aplicación que funcione<br />
mejor, por muy profesional que sea, por mucho dinero que haya costado o por<br />
mucho que se empeñen los directivos de la empresa. Así las aplicaciones de<br />
<strong>Access</strong> tienen mala fama, porque no falta quien afirme que sus usuarios boicotean<br />
la implantación de las grandes aplicaciones corporativas por resistencia<br />
al cambio. Quizás, si a la hora de hacer esas grandes aplicaciones se hubieran<br />
fijado en lo que obtiene el usuario de la pequeñas aplicaciones en <strong>Access</strong>, el<br />
resultado habría sido mejor y tendría menos resistencia. Lo cierto es que durante<br />
el tiempo que ha durado el desarrollo de la gran aplicación corporativa,<br />
si la empresa ha seguido funcionando ha sido gracias a las pequeñas aplicaciones<br />
en <strong>Access</strong> y que cuando un contratiempo requiera una modificación de<br />
presupuesto millonario, quizás por un simple cambio en la legislación fiscal,<br />
seguirá funcionando gracias a estas aplicaciones en <strong>Access</strong>.<br />
Para ilustrar lo anterior, me gusta un ejemplo bélico. El 19 de julio de 1808, el<br />
ejército de Napoleón conoció por primera vez la derrota en Bailén a manos de<br />
un ejército profesional español. Dicen que su general, Castaños, lo primero que<br />
hizo para prestarse al combate fue deshacerse de todos los voluntarios que trataban<br />
de alistarse contra el francés, solo quería profesionales, experimentados,<br />
disciplinados y bien dirigidos.<br />
Y ganó. Pero Napoleón envió entonces la Grande Armée, un enorme ejército<br />
como jamás había conocido la historia, al que no había en la tierra otro capaz<br />
de enfrentarlo. Así que, a medida que avanzaba ese ejército, las unidades militares<br />
españolas se disolvían, incorporándose algunos de sus miembros a la<br />
guerrilla. Y fue la guerrilla, pequeñas unidades no profesionales, conocedoras<br />
del terreno, las que en cada pueblo y en cada comarca contuvieron ese gigantesco<br />
ejército hasta que soplaron vientos mejores. El gran acierto de la Junta<br />
Central Suprema, la «junta directiva», fue ver la importancia de ese papel,<br />
tratar de coordinar y de abastecer las distintas partidas y procurar que se les<br />
reconociera como beligerantes.<br />
<strong>Access</strong> es el trabuco que se emplea en las oficinas para resistir cuando las grandes<br />
aplicaciones corporativas no existen o no son capaces de enfrentarse a un<br />
gran problema. Conozco alguna empresa que lleva gestionando la producción<br />
con aplicaciones de <strong>Access</strong> mientras esperan, desde hace años, que el equipo<br />
informático acabe el desarrollo de la gran aplicación corporativa. También sé<br />
14
15<br />
Prólogo<br />
de alguna empresa industrial, de las muy grandes, que contrata profesionales<br />
para que desarrollen o colaboren en el desarrollo de aplicaciones de <strong>Access</strong><br />
que complementen y aprovechen, localmente, la información de la aplicación<br />
corporativa donde esta no alcanza a llegar.<br />
Pero <strong>Access</strong> no solo se utiliza en pequeños departamentos de enormes corporaciones.<br />
No conozco nada mejor para aplicaciones de gestión a medida para<br />
pymes. En este caso, no se trata de francotiradores, sino de auténticos profesionales<br />
que resultan muy competitivos, pues utilizan la herramienta mejor<br />
adaptada a ese medio y a esas dimensiones: <strong>Access</strong>. Me refiero a aplicaciones<br />
para talleres, restaurantes, peluquerías, etc., que se pueden gestionar de una<br />
forma muy personal y necesitan que su aplicación se adapte a su forma de<br />
gestión, y no al revés. Y donde digo talleres o restaurantes, también podemos<br />
decir grupos de talleres o grupos de restaurantes (por favor, no del tamaño de<br />
McDonald’s ® ), pues <strong>Access</strong> también es capaz de trabajar en red.<br />
Vamos, puede pensar alguien que esté leyendo esto que no hemos empezado<br />
con la primera lección y este tipo ya está ganando batallas a Napoleón, arreglando<br />
multinacionales y solucionando los problemas de gestión de las pymes<br />
¿Hasta dónde vamos a llegar en algo más de 300 páginas y sin ver nada de<br />
programación? Vale, me he dejado llevar por el entusiasmo hasta batallas fantásticas.<br />
Las aplicaciones que va a poder desarrollar después de leer este libro<br />
son aplicaciones sencillas, forzosamente sencillas mientras no se inicie en el<br />
arte de la programación, pero, aún así, pueden resultar de mucha utilidad. En<br />
mi oficina, en la que trabajamos 12 personas, calculábamos que cada segundo<br />
que se necesitaba, de más o de menos, en realizar una tarea rutinaria, equivalía<br />
a dos horas al cabo del año, así que, segundo a segundo, tacita a tacita…<br />
En realidad, lo que a mí más me gusta es programar en <strong>Access</strong> con VBA<br />
(Visual Basic para Aplicaciones), que no se va a ver, casi ni de pasada, en este<br />
libro. Me entusiasma, me habría encantado empezar por ahí, pero seguramente<br />
no son buenos principios.<br />
Recuerdo que hace bastantes años, después de leer un manual sobre C++,<br />
conseguí que, si yo escribía 2 + 2 = la máquina me respondiera 4, cuando<br />
lo que yo quería era que me imprimiera los recibos del estudio de danza<br />
que por aquel entonces llevaba mi mujer. Había llegado más lejos que con<br />
ensamblador, pero no lo encontraba práctico, así que me volví a mi querido<br />
QuickBASIC. Más tarde, ya con Windows ® , decidí pasar mi aplicación a VB<br />
(Visual Basic) utilizando <strong>Access</strong>, que acababa de aparecer como repositorio
<strong>Microsoft</strong> <strong>Access</strong><br />
de datos. Los avances con VB eran lentos, pues cambiaba mucho el entorno,<br />
así que para avanzar, empecé insertando los datos directamente en las tablas,<br />
luego me ayudé de los formularios de <strong>Access</strong>,… Al final estaba más avanzada<br />
la aplicación que había hecho en <strong>Access</strong> solo como soporte, que la que esforzadamente<br />
pretendía desarrollar en VB, así que ¡a la porra con VB! Y hasta<br />
hoy, <strong>Access</strong> sigue siendo la herramienta más útil que he encontrado.<br />
Aparte de que me guste contar batallitas, lo que quiero explicar con todo lo<br />
anterior es que lo que nos va a enganchar es lo que nos produzca resultados<br />
prácticos inmediatamente y eso es lo que nos proporciona <strong>Access</strong> con las herramientas<br />
que incorpora sin necesidad de saber programar. Si lo que puede<br />
hacer con <strong>Access</strong> le resulta realmente útil, si disfruta en cada pequeño avance,<br />
este programa le va a dar muchas satisfacciones y le aseguro que querrá seguir<br />
aprendiendo y avanzado, que el horizonte está muy lejos, y entonces empezará<br />
a aprender a programar, y sé que disfrutará aprendiendo durante muchos años.<br />
Con el libro me tengo que poner más serio, cuestión de política editorial, y<br />
no he podido dejarme llevar por los arrebatos de entusiasmo, que es lo que<br />
me gustaría trasmitir, aunque eso quizás lo consiga <strong>Access</strong> por sí solo, como<br />
ha hecho conmigo. Si al final de este libro a usted le gusta <strong>Access</strong> y se ve a sí<br />
mismo buscando la manera de hacer algo que no se explica en él, que va un<br />
poco más allá, creo que habrá sido un éxito.<br />
16<br />
José Bengoechea Ibaceta
<strong>Microsoft</strong> <strong>Access</strong><br />
17<br />
Primeros pasos con <strong>Microsoft</strong> <strong>Access</strong> 2007<br />
1 Primeros pasos con <strong>Microsoft</strong> <strong>Access</strong> 2007<br />
En esta primera unidad didáctica empezaremos con unas ideas generales sobre<br />
el programa <strong>Microsoft</strong> <strong>Access</strong>. Posteriormente, crearemos una aplicación de<br />
base de datos muy sencilla que nos permitirá explorar los distintos objetos que<br />
componen el conjunto.<br />
Este primer paso va a ser rápido, sin profundizar en detalles, tratando de quedarnos<br />
con una idea del conjunto sobre cuáles son las partes principales de este y<br />
cuál es el papel de cada una de esas partes dentro del todo.<br />
El objetivo de esta unidad didáctica es comprender qué es y para qué sirve una<br />
aplicación de base de datos de <strong>Access</strong>, así como comprobar que está formada<br />
por un conjunto de distintos objetos relacionados entre sí (principalmente tablas,<br />
consultas, formularios e informes), cada uno con un papel específico que<br />
debemos distinguir.<br />
1.1. Generalidades<br />
<strong>Microsoft</strong> <strong>Access</strong> es el SGBD (Sistema Gestor de Bases de Datos) de <strong>Microsoft</strong><br />
Office. Eso significa que con este programa podemos almacenar datos<br />
de manera sistemática y acceder a ellos de forma rápida y estructurada.<br />
Pero <strong>Access</strong> también puede considerarse un sistema de desarrollo rápido de<br />
aplicaciones (RAD [Rapid Application Development]) y, por tanto, su objetivo<br />
final será crear una aplicación que gestione los datos estructurados de manera<br />
sencilla para el usuario.
<strong>Microsoft</strong> <strong>Access</strong><br />
Con <strong>Access</strong> no podemos crear una aplicación para tratar fotografías o editar<br />
vídeos, pero sí una sólida aplicación de gestión. No en vano, una gran parte de<br />
los usuarios habituales de <strong>Access</strong> lo utilizan para desarrollar aplicaciones que<br />
les ayuden en su trabajo habitual de gestión y, la otra parte de los usuarios, informáticos<br />
profesionales, para crear aplicaciones dirigidas a esos trabajadores.<br />
Desde la pequeña aplicación de escritorio del principiante en <strong>Access</strong> hasta la<br />
gran aplicación del profesional consistente en atacar servidores de datos, hay<br />
un trecho que pasa por la experiencia y el aprendizaje de conceptos teóricos, en<br />
especial del lenguaje de programación VBA, que no va a ser objeto de estudio<br />
en este manual.<br />
Aunque es posible que muchos usuarios de <strong>Access</strong> hayan recorrido este camino<br />
de forma autodidacta, el objetivo de esta obra es aportar una base sólida<br />
a partir de la cual el lector pueda seguir ampliando conocimientos de forma<br />
autónoma si así lo desea o, al menos, ser capaz de desarrollar aplicaciones sencillas<br />
de datos y correctamente estructuradas.<br />
<strong>Microsoft</strong> <strong>Access</strong> 2007 ha supuesto un cambio notable con respecto a las<br />
versiones anteriores, quizás el más importante desde los inicios del programa<br />
(1992) o al menos desde la versión 97. Sin perder la sencillez, el programa gana<br />
en potencia y en facilidades para el usuario final. Al mismo tiempo, mejora<br />
notablemente la apariencia gráfica, admitiendo mayor calidad y más formatos<br />
de imagen. Asimismo, la nueva interfaz gráfica de Office, en la que la cinta de<br />
opciones sustituye a los menús y barras de herramientas, supone una revolución<br />
que se propagará al resto de aplicaciones de <strong>Microsoft</strong> y será imitada por<br />
otras compañías.<br />
Cuando lea este libro, ya se habrá puesto a la venta <strong>Microsoft</strong> <strong>Access</strong> 2010. No<br />
se preocupe, <strong>Access</strong> 2010 es la evolución natural de <strong>Access</strong> 2007 y todo lo que<br />
aprenda aquí le servirá para la nueva versión de este programa. Los cambios en<br />
la interfaz son escasos y las mejoras, que son importantes, no afectan al funcionamiento<br />
básico y, en todo caso, se hará mención a ellas cuando corresponda.<br />
Además, en la mayor parte de este manual, las explicaciones, e incluso algunas<br />
imágenes, serán idénticas para <strong>Access</strong> 2007 y <strong>Access</strong> 2010.<br />
1.2. Conceptos previos<br />
La terminología empleada para referirse a los elementos principales relacionados<br />
con la aplicación informática <strong>Microsoft</strong> <strong>Access</strong> 2007 tales como «base de datos»,<br />
18
19<br />
Primeros pasos con <strong>Microsoft</strong> <strong>Access</strong> 2007<br />
«objetos» o «propiedades», llegará a resultarle familiar, pero en este momento<br />
puede provocarle cierta ambigüedad, confusión o dificultad para su comprensión.<br />
Por ello, se hace necesario realizar una pequeña aclaración y definir de forma<br />
breve qué es una base de datos y a qué nos referimos cuando nombramos términos<br />
como «propiedades» u «objetos».<br />
1.2.1. Bases de datos<br />
Las bases de datos son un conjunto de archivos y registros cuyo contenido<br />
responde a un propósito determinado y está organizado para que la localización<br />
de cualquier elemento de información resulte sencilla y eficiente. Además,<br />
comprende tanto los datos como la definición de estos y la forma de relacionarse<br />
entre ellos.<br />
Estas bases de datos precisan de una serie de mecanismos para manejar las<br />
entradas y salidas de datos, organizarlos y garantizar su integridad eficazmente.<br />
Es lo que se llama «motor de base de datos», que, en versiones anteriores, se<br />
corresponde con el motor Jet y, a partir de <strong>Access</strong> 2007, con el motor ACE.<br />
También es necesario un medio o interfaz para facilitar al usuario la interacción<br />
con esos datos. Esto lo logramos mediante un conjunto de formularios e<br />
informes (también a través de módulos y macros) que conforman la aplicación<br />
de base de datos.<br />
El conjunto de base de datos, motor y aplicación constituye un sistema de<br />
base de datos.<br />
Imaginémonos en una tienda de muebles. Después de ver la exposición, nos dirigimos<br />
al dependiente que toma nota de lo que queremos, nos cobra y nos dice<br />
que esa misma tarde llegará la compra a nuestro domicilio; todo eso equivaldría<br />
a la aplicación. Tanto los muebles como el almacén donde se encuentran,<br />
así como las normas de organización del mismo, constituirían la base de datos.<br />
El conjunto de los empleados del almacén que se ocuparán de sacar los artículos,<br />
empaquetarlos y expedirlos, junto con sus procedimientos, herramientas y<br />
maquinaria, equivaldrían al motor de la base de datos.<br />
Con frecuencia se usan indistintamente las denominaciones «aplicación» o<br />
«base de datos» para hacer referencia al mismo archivo de base de datos de
<strong>Microsoft</strong> <strong>Access</strong><br />
<strong>Access</strong>, ya que un solo archivo puede contener ambas cosas; incluso si las separamos<br />
en distintos archivos, podríamos nombrar al conjunto con cualquiera de<br />
los dos términos.<br />
En general, aludimos al conjunto con una u otra expresión, salvo que queramos<br />
mencionar una de las partes en concreto o contraponer ambas, lo cual quedará<br />
claro en el contexto, por ejemplo, en afirmaciones del tipo «Tengo la base de<br />
datos en el servidor y una copia de la aplicación en cada uno de los puestos».<br />
1.2.2. Objetos y propiedades<br />
Casi todo lo que tiene nombre en <strong>Access</strong> es un objeto; una tabla, un informe,<br />
un formulario, un campo, un botón, un menú, un comando, la propia aplicación,<br />
etc., todos son objetos. Asimismo, un objeto puede contener otros objetos.<br />
Los objetos del mismo tipo forman colecciones. Aunque se usan principalmente<br />
en programación, también existen colecciones a la vista; por ejemplo, el<br />
objeto Panel de exploración (que se tratará más adelante) muestra las colecciones<br />
Tablas, Consultas, Formularios, Informes, y Macros y Módulos.<br />
Lo que caracteriza a los objetos es que tienen propiedades y métodos. Con las<br />
propiedades se muestran o establecen sus características (por ejemplo, si son<br />
visibles o no), mientras que con los métodos se ejecutan acciones a partir de<br />
esos objetos (por ejemplo, borrar un registro).<br />
Durante el diseño de una aplicación, constantemente estaremos fijándonos en<br />
las propiedades de los objetos. Un gesto que tiene que ser habitual es abrir en<br />
modo diseño un objeto para poder ver sus propiedades en la correspondiente<br />
ventana. Si cambiamos las propiedades de un objeto, modificaremos su apariencia<br />
o su funcionamiento.<br />
1.3. Crear una aplicación<br />
Una aplicación en <strong>Access</strong> se crea con distintos tipos de objetos relacionados entre<br />
sí y que, empezando desde los cimientos (en general por este orden, aunque<br />
no necesariamente), serían las Tablas, Consultas, Formularios, Informes, y<br />
Macros y Módulos.<br />
20
21<br />
Primeros pasos con <strong>Microsoft</strong> <strong>Access</strong> 2007<br />
La fachada, esto es, la parte a la vista del usuario final desde donde accede<br />
al resto del edificio, serían los formularios y, en parte, los informes, es decir,<br />
la aplicación.<br />
A continuación, crearemos automáticamente una nueva aplicación usando<br />
una plantilla de <strong>Access</strong>. De forma muy rápida, veremos cómo el usuario final<br />
interactúa con la aplicación a través de formularios e imprime datos con los<br />
informes y, luego, cómo, generalmente de manera oculta al usuario, debajo<br />
de esos formularios e informes subyace la información almacenada en tablas<br />
y con una serie de instrucciones para su manipulación que se guardarán<br />
en consultas.<br />
Afortunadamente, <strong>Access</strong> 2007 incorpora numerosas facilidades para el usuario<br />
que no existían en versiones anteriores, entre ellas las plantillas de documento.<br />
Para comenzar a crear una nueva aplicación usando una plantilla de <strong>Access</strong>,<br />
tendremos que, en primer lugar, abrir el programa (Inicio><strong>Microsoft</strong> Office><br />
<strong>Microsoft</strong> Office <strong>Access</strong> 2007). Posteriormente, en lugar de Base de datos<br />
en blanco, seleccionaremos, en el menú de la izquierda, Categorías de plantillas,<br />
la opción Destacado y, en el centro, en Plantillas destacadas en línea, la<br />
opción Contactos.<br />
Después, en la parte inferior del menú de la derecha, pulsaremos el botón<br />
Descargar para obtener la plantilla deseada.
<strong>Microsoft</strong> <strong>Access</strong><br />
Tras generar la aplicación a partir de la plantilla descargada, <strong>Access</strong> se abrirá y<br />
se presentará, listo para introducir datos, el primer formulario de la primera<br />
aplicación, tal como podemos observar en la siguiente imagen.<br />
Si cerrásemos <strong>Access</strong>, buscáramos Contactos.accdb en la carpeta Mis documentos<br />
e hiciéramos doble clic sobre el nombre del archivo, la aplicación se<br />
abriría directamente en este formulario sin necesidad de pasar por todos los pasos<br />
anteriores. Contactos.accdb es el nombre del archivo de base de datos que<br />
acabamos de crear y que contiene tanto la base de datos como la aplicación.<br />
En esta pantalla inicial de la nueva y recién creada aplicación de <strong>Access</strong>, observamos,<br />
en primer lugar, la cinta de opciones (ribbon), esto es, el conjunto<br />
de iconos presente en la parte superior de la pantalla.<br />
La cinta de opciones sustituye de forma ventajosa a los menús y barras de herramientas<br />
de versiones anteriores de Office.<br />
22
23<br />
Primeros pasos con <strong>Microsoft</strong> <strong>Access</strong> 2007<br />
Si pulsamos en las diferentes pestañas de la cinta de opciones, Inicio, Crear,<br />
Datos externos o Herramientas de base de datos, observaremos que la cinta<br />
va cambiando, mostrando botones relacionados con el título de la pestaña.<br />
La pestaña Inicio, situada en la parte superior izquierda de la cinta de opciones,<br />
añade funcionalidades muy importantes al formulario creado. En ella, se<br />
muestran las herramientas más comunes para cambiar la vista de la aplicación,<br />
editar datos, ordenarlos, filtrarlos y navegar.<br />
Gráficamente, la cinta está dividida en varios cuadrados (cada uno de ellos<br />
presenta un nombre descriptivo en el pie), que son los grupos de opciones.<br />
Esta cinta de opciones es personalizable. Existen formas sencillas de ocultar<br />
al usuario las opciones de diseño de la aplicación, dejándole solo las necesarias<br />
para trabajar con el formulario. Incluso, aunque es algo más complicado,<br />
empleando herramientas de terceros es posible crear cintas de opciones específicas<br />
para su aplicación. Posteriormente, cuando la aplicación contenga datos,<br />
podremos comprobar la potencia de las prestaciones que se pueden obtener<br />
para los formularios e informes desde la cinta de opciones.<br />
En el lado izquierdo de la ventana principal del formulario, observamos una<br />
barra vertical con el título Panel de exploración.
<strong>Microsoft</strong> <strong>Access</strong><br />
El panel de exploración nos permite acceder a los objetos principales de la aplicación<br />
creada: Tablas, Consultas, Formularios, Informes, y Macros y Módulos.<br />
Si hacemos doble clic sobre la barra del panel de exploración, se desplegará un<br />
panel con los objetos agrupados. A su vez, si pulsamos en el botón desplegable<br />
de la barra horizontal de Exploración de contactos de la parte superior del<br />
panel y seleccionamos Tipo de objeto, nos mostrará los distintos objetos de<br />
<strong>Access</strong>: Tablas, Consultas, Formularios e Informes. Al crear una aplicación<br />
sencilla, no se muestran ni Macros ni Módulos, pues esta carece de ellos.<br />
Todos estos objetos del panel de exploración se pueden abrir haciendo doble<br />
clic sobre cada uno de ellos con el ratón.<br />
1.4. Formularios<br />
Debajo de la cinta de opciones se presenta una ventana con el título Lista de<br />
contactos, es lo que se denomina «formulario».<br />
24
25<br />
Primeros pasos con <strong>Microsoft</strong> <strong>Access</strong> 2007<br />
Los formularios son la principal interfaz de comunicación entre el usuario y la<br />
aplicación de base de datos. A través de ellos visualizamos y editamos los datos,<br />
desplazándonos entre registros, buscando y filtrando. También controlamos<br />
el flujo de la aplicación abriendo otros formularios e informes o ejecutando<br />
distintas acciones.<br />
Si pulsamos con el ratón en Nuevo contacto para abrir el formulario Detalles<br />
de contactos, visualizaremos un tipo distinto de formulario.<br />
Son las dos maneras posibles de presentar los datos. En el primer formulario,<br />
la información se recoge en forma de tabla, mostrando varios registros a la vez<br />
y en el segundo, los registros se presentan de uno en uno. Son dos formularios<br />
con vistas distintas.
<strong>Microsoft</strong> <strong>Access</strong><br />
En ambos casos, <strong>Access</strong> proporciona una herramienta para desplazarse entre<br />
registros (botones de desplazamiento), ubicada en la parte inferior izquierda<br />
del formulario e idéntica en cualquiera de ellos.<br />
Para interactuar con el usuario, los formularios contienen una colección de<br />
objetos llamados «controles». Algunos de ellos sirven para editar los datos del<br />
formulario. Los más comunes son los cuadros de texto (controles en los que<br />
se puede escribir texto, números o fechas), pero también podemos seleccionar<br />
una opción desplegada en un cuadro combinado, elegir uno entre varios botones<br />
de opción, marcar una casilla de verificación, etc. Existen otros controles<br />
que no permiten editar datos, sino que sirven para lanzar acciones como, por<br />
ejemplo, cerrar un formulario (a través de los botones de comando) o mostrar<br />
indicaciones, por ejemplo, para completar campos (etiquetas).<br />
Cada tipo de control tiene un nombre identificativo y unas características propias.<br />
Los controles que muestran o editan directamente información guardada en<br />
la base de datos creada están asociados a un campo de una tabla y se llaman<br />
«controles dependientes».<br />
Con los controles editables podemos interactuar también a través de la cinta<br />
de opciones y de los menús contextuales. Si pulsamos con el botón derecho<br />
del ratón sobre un control, se nos mostrará un menú con distintas posibilidades<br />
según cada contexto.<br />
26
27<br />
Primeros pasos con <strong>Microsoft</strong> <strong>Access</strong> 2007<br />
También usando la cinta de opciones o los menús contextuales sobre controles<br />
dependientes podemos realizar acciones que afecten al conjunto de registros del<br />
formulario, por ejemplo, cambiar el orden en que se presentan los registros o<br />
filtrar los resultados de manera que se muestren solo los resultados que cumplan<br />
con determinados criterios, por ejemplo, que el campo Apellidos contenga<br />
determinada palabra.<br />
Sin necesidad de que el usuario intervenga, a través de la cinta de opciones y<br />
de los menús contextuales, <strong>Access</strong> 2007 proporciona a los formularios de las<br />
aplicaciones unas herramientas muy poderosas para la manipulación de datos.<br />
1.5. Informes<br />
Los informes son objetos que presentan los datos de forma clara; se conciben<br />
para ser impresos y son parte de la interfaz de la aplicación aunque, al contrario<br />
que en el caso de los formularios, la información solo es de salida.
<strong>Microsoft</strong> <strong>Access</strong><br />
Con los informes mostramos la información de nuestra base de datos en un<br />
formato que se corresponde con el de una presentación impresa, de manera<br />
que dicha información puede estar ordenada, agrupada, mostrando cálculos<br />
sobre conjuntos de datos, y ser imprimida, separada en páginas.<br />
Los informes pueden imprimirse directamente o visualizarse de forma previa<br />
en pantalla.<br />
En los informes existe la posibilidad de usar los mismos tipos de controles que<br />
en los formularios, aunque en la vista tipo preliminar algunos, como los botones<br />
de comando, carecen de sentido. Además, en ninguna de las distintas<br />
vistas posibles se pueden editar los valores de los controles.<br />
En el formulario Lista de contactos, junto a los botones de comando, encontramos<br />
un cuadro combinado denominado Informes que, al desplegarlo,<br />
muestra los dos informes de nuestra aplicación (Libreta de direcciones de<br />
contactos y Lista de teléfonos de contactos).<br />
Al seleccionar Lista de teléfono de contactos, se abrirá el informe en Vista<br />
Informes, tipo de vista que constituye una novedad de la versión 2007 de<br />
<strong>Access</strong> y que se aleja del concepto clásico de informe. Podemos cambiar esta<br />
vista en la cinta de opciones, en Inicio, en el grupo Ver>Vista preliminar.<br />
28
29<br />
Primeros pasos con <strong>Microsoft</strong> <strong>Access</strong> 2007<br />
Este tipo de vista es la clásica de los informes, la que los muestra tal como se<br />
van a imprimir.<br />
En la captura de pantalla anterior, se presenta una lista de teléfonos ordenada<br />
alfabéticamente y agrupada por la letra inicial del contacto, que se muestra<br />
en la parte izquierda y con un buen tamaño con el fin de facilitar la búsqueda<br />
del contacto cuando el informe se imprima. También la fecha y el número de<br />
página tienen sobre el papel un sentido del que carecen en un formulario.<br />
En la cinta de opciones de la vista tipo preliminar del informe, se presentan<br />
varios grupos de opciones, algunos de ellos orientados a la impresión del informe<br />
como, por ejemplo, Imprimir o Diseño de página.<br />
En el grupo de opciones Datos podemos comprobar la facilidad con la que se<br />
puede convertir el informe en otro tipo de fichero como, por ejemplo, PDF 1<br />
(Portable Document Format, formato portátil de documento). Estas son posibilidades<br />
de <strong>Access</strong> 2007 que estarán disponibles para todos los informes sin<br />
necesidad de hacer nada especial para ello.<br />
Hasta aquí hemos visto la parte con la que trabaja el usuario final, la aplicación.<br />
Falta analizar los objetos que almacenan y organizan los datos, es decir,<br />
las tablas y las consultas.<br />
1 Antes del SP2 (Service Pack 2) de Office 2007, grupo de actualizaciones descargables,<br />
la posibilidad de convertir un informe en PDF era un complemento que había<br />
que instalar de forma independiente.
<strong>Microsoft</strong> <strong>Access</strong><br />
1.6. Tablas<br />
En las tablas se almacenan los datos. Cuando introducimos datos en un<br />
formulario, esa información se guarda en una o varias tablas; de la misma manera,<br />
la información que vemos en los formularios o en los informes se toma<br />
de esas tablas.<br />
Como podemos comprobar en el panel de exploración, la base de datos solo<br />
tiene una tabla, Contactos. Haciendo doble clic sobre ella, en dicho panel, observaremos<br />
algo similar a la siguiente captura de pantalla:<br />
Ahí están los datos que hemos introducido en los formularios. Podemos modificar<br />
los datos sencillamente escribiendo sobre ellos, además, podemos añadir o<br />
borrar registros recurriendo a los botones de la cinta de opciones o de la barra<br />
de navegación.<br />
La información contenida en las tablas está organizada en filas y columnas,<br />
como corresponde al modelo relacional. A las filas les llamaremos «registros»<br />
y a las columnas, «campos». En este caso en concreto, cada fila corresponde a<br />
un contacto distinto.<br />
30
<strong>Microsoft</strong><br />
<strong>Access</strong><br />
www.ideaspropiaseditorial.com<br />
www.ideaspropiaseditorial.co<br />
<strong>Microsoft</strong>® <strong>Access</strong>® no es solo un sistema de gestión<br />
de bases de datos, sino también un entorno de desarrollo<br />
rápido de aplicaciones. El contenido de este<br />
libro está orientado precisamente al aprendizaje de<br />
esas posibilidades de desarrollo.<br />
Está concebido como una guía de iniciación en la que<br />
se explican los conceptos, objetos y mecanismos que<br />
en su conjunto forman una aplicación. En el momento<br />
de escribir el libro, ya se había lanzado una nueva<br />
versión, <strong>Access</strong> 2010, también con grandes mejoras.<br />
No es problema; desde el principio, la perspectiva<br />
está puesta en el futuro, de manera que, cuando algo<br />
cambia, se explica cómo es en una y otra versión.<br />
Además, este material didáctico incorpora un CD, en<br />
el que se incluyen videotutoriales que le servirán de<br />
apoyo educativo para dominar esta aplicación y, así,<br />
poder gestionar cualquier tipo de información sin la<br />
menor dificultad.<br />
José Bengoechea Ibaceta, reconocido por <strong>Microsoft</strong><br />
como MVP (Most Valuable Professional) desde 2003<br />
hasta 2011 por su labor como líder excepcional dentro<br />
de la comunidad tecnológica, es el autor de esta<br />
obra didáctica publicada por <strong>Ideaspropias</strong> <strong>Editorial</strong>.