12.05.2013 Views

Microsoft Access - Ideaspropias Editorial

Microsoft Access - Ideaspropias Editorial

Microsoft Access - Ideaspropias Editorial

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!