leecion i

Anuncio
MICROSOFT
ACCESS
INDICE
I. INTRODUCCION ............................................................................................................................................4
1.1 Qué es una base de datos ...........................................................................................................................4
1.2 Iniciar una sesión de Access........................................................................................................................4
1.3 La primera base de datos ............................................................................................................................4
1.4 Objetos de una base de datos .....................................................................................................................4
1.5 Creación de una base de datos ...................................................................................................................5
1.6 Introducción de datos...................................................................................................................................7
II. OBJETIVO DE UNA BASE DE DATOS ........................................................................................................8
2.1 Caso práctico ...............................................................................................................................................8
2.2 Ejercicio .......................................................................................................................................................8
III. RELACIONES...............................................................................................................................................11
3.1 Concepto......................................................................................................................................................11
3.2 Tipos ............................................................................................................................................................11
3.3 Práctica ........................................................................................................................................................12
IV. MANEJO DE DATOS, TABLAS Y REGISTROS .........................................................................................13
4.1 Indrucir datos ...............................................................................................................................................13
4.2 Añadir registros ............................................................................................................................................13
4.3 Modificar registros........................................................................................................................................13
4.4 Modificar el ancho de una columna..............................................................................................................13
4.5 Borrar un registro .........................................................................................................................................13
4.6 Búsqueda de datos ......................................................................................................................................14
4.7 Ordenamiento de datos................................................................................................................................14
4.8 Copiar una tabla...........................................................................................................................................14
V. CONSULTAS ................................................................................................................................................15
5.1 Concepto......................................................................................................................................................15
5.2 Tipos de consultas .......................................................................................................................................15
5.3 Ejemplo ........................................................................................................................................................15
5.4 Consultas con criterios.................................................................................................................................16
5.5 Expresiones .................................................................................................................................................17
5.6 Caracteres comodín.....................................................................................................................................17
VI. CAMPOS CALCULADOS ............................................................................................................................18
6.1 Concepto y ejemplo .....................................................................................................................................18
6.2 Creación de una tabla nueva con campos de otras tablas...........................................................................18
VII. FORMULARIOS ..........................................................................................................................................19
7.1 Creación de formularios utilizando el asistente ............................................................................................19
7.2 Creación y personalización de formularios paso a paso ..............................................................................20
7.3 Control de cálculo de campos en un formulario ...........................................................................................22
VIII. TECNOLOGIA OLE ...................................................................................................................................23
IX. COMPACTACION Y REPLICA DE UNA BASE DE DATOS .......................................................................25
9.1 Compactar una base de datos .....................................................................................................................25
9.2 Crear una réplica de la base de datos .........................................................................................................25
2
ANEXO I. EJERCICIO DE REPASO. CONTROL DE UNA CLÍNICA ...............................................................27
Consultas a la base de datos .............................................................................................................................29
Introducir un nuevo campo.................................................................................................................................30
Introducción de dos campos nuevos..................................................................................................................30
Consulta de actualización de campos................................................................................................................30
Actualización del coste del tratamiento ..............................................................................................................30
Consulta de agrupación .....................................................................................................................................31
ANEXO II. REPASO DE TABLAS, RELACIONES Y FORMULARIOS ...........................................................32
Utilizar listas desplegables.................................................................................................................................33
ANEXO III. ACCESS Y VISUAL BASIC............................................................................................................34
Conceptos básicos de Visual Basic en Access ..................................................................................................34
Cambio del foco del cursor ................................................................................................................................35
Protección de un campo ....................................................................................................................................35
ANEXO IV. INTRODUCCION AL LENGUAJE SQL..........................................................................................37
Contraseñas en la base de datos.......................................................................................................................37
Acceso por usuarios a la base de datos ............................................................................................................38
Crear archivos MDE...........................................................................................................................................39
Access e Internet ...............................................................................................................................................39
Incluir Hipervínculos...........................................................................................................................................39
Importar y exportar en HTML .............................................................................................................................40
3
I. INTRODUCCION
1.1 Qué es una base de datos
Una base de datos es una colección de información ordenada que está relacionada entre sí, la cual se encuentra
estructurada como una tabla, es decir se conforma por filas y columnas donde las filas se conocen como registros y
las columnas como campos.
Una base de datos permite gestionar y organizar una serie de datos. Por ejemplo, podemos utilizar Access para
llevar la gestión de fichas de los artículos de nuestro almacén, introduciendo, modificando, actualizando, sacando
informes por impresora, etc. Además, podemos realizar consultas tales como ¿qué artículo se ha vendido más este
mes? ¿qué clientes compran un determinado artículo? ¿cuál es la ganancia total del mes? etc.
Access proporciona al usuario de un asistente para la creación de sus bases de datos. El asistente es un programa
que nos va guiando paso a paso a la hora de crear una tabla, un formulario, una consulta, etc.
1.2 Iniciar una sesión de Access
Cuando ponemos en funcionamiento el programa, nos aparece una pantalla de inicio donde se nos pregunta si
queremos:
•
•
•
Crear una base de datos en blanco.
Utilizar el asistente para crear una base de datos
Abrir una base de datos existente
Escogeremos la opción Base de datos en blanco. Seguidamente aparecerá la típica ventana donde se nos pide el
nombre de la base de datos que se creará.
1.3 La primera base de datos
Vamos a comenzar creando una sencilla base de datos que podría servir para gestionar un gimnasio. Esta primera
base de datos servirá como ejemplo para comenzar a ver muy por encima los pasos necesarios para trabajar con
ella. A lo largo del curso crearemos otra base de datos más completa y veremos opciones avanzadas utilizando esa
base de datos. Esta primera base nos irá familiarizando con el programa. Colocaremos un nombre a nuestra base de
datos como por ejemplo, Gimnasio y aceptaremos el cuadro de diálogo. Access colocará automáticamente al
archivo la extensión MDB. Seguidamente, aparecerá la pantalla inicial para empezar a crear nuestra base de datos:
Observemos que en la ventana aparecen unas pestañas en la parte superior:
1.4 Objetos de una base de datos
•
Tablas: unidad donde crearemos el conjunto de datos de nuestra base de datos. Estos datos estarán
ordenados en columnas verticales. Aquí definiremos los campos y sus características. Más adelante
veremos qué es un campo.
4
•
Consultas: aquí definiremos las preguntas que formularemos a la base de datos con el fin de extraer y
presentar la información resultante de diferentes formas (pantalla, impresora...)
•
Formulario: elemento en forma de ficha que permite la gestión de los datos de una forma más cómoda y
visiblemente más atractiva.
•
Informe: permite preparar los registros de la base de datos de forma personalizada para imprimirlos.
•
Macro: conjunto de instrucciones que se pueden almacenar para automatizar tareas repetitivas.
•
Módulo: programa o conjunto de instrucciones en lenguaje Visual basic
Una base de datos comienza con el diseño de una tabla. Para ello, es necesario plantearse primero qué datos
necesitamos. En nuestro ejemplo, necesitaremos:
Matrícula
Nombre, apellidos, dirección, etc, del alumno
Actividad que realiza
Cuota mensual
Observaciones
Evidentemente que esta base de datos es demasiado sencilla, pero nos servirá para nuestro objetivo. Vamos a ver
primero unos conceptos básicos en el diseño de una BD .
•
Campo: unidad básica de una base de datos. Un campo puede ser, por ejemplo, el Nombre de una
persona
•
Registro: conjunto de campos. Un registro vendría a ser algo así como una ficha.
•
Base de datos: conjunto de registros total.
Este sería el primer registro de una base de datos compuesto
por 4 campos: (nombre, apellido1, teléfono y provincia)
El número total de registros podemos verlo en la parte inferior
(1 de 9)
1.5 Creación de una base de datos
Para crear una tabla sigue estos pasos:
I. Pulsa Click en el botón Nuevo situado a la derecha de la ventana
Aparece una ventana con varias opciones:
•
•
•
•
Vista Hoja de Datos: podemos introducir directamente los datos
Vista diseño: para definir los campos y sus características
Asitente para tablas: un programa nos guia automáticamente en la creación de los campos de la tabla
Importar y Vincular tablas: para cargar una tabla externa
5
II. Escoge la opción Vista diseño
Ahora aparece la ventana principal del diseño de los campos de la BD. Desde aquí podemos definir qué tipo de
campos aparecerán en la BD. Observamos tres columnas: Nombre de campo, Tipo de datos y Descripción. Para
comenzar:
III. Escribe como nombre de campo: Nombre y pasa a la columna siguiente pulsando Intro, con la flecha de
desplazamiento o con un simple Click del ratón.
En la segunda columna aparece una lista desplegable. Puedes desplegarla y observar que aparecen varias opciones
correspondientes a los diferentes tipos de campo que podemos crear. Por ejemplo, nuestro primer campo (Nombre)
servirá para introdudir el nombre de una persona, es decir, introduciremos simples caracteres como letras o
números. Por tanto, será del tipo Texto. Si por ejemplo definimos un campo del tipo Numérico, nos aseguramos que
posteriormente sólo podremos introducir números en dicho campo. Las características de cada campo son las
siguientes:
•
•
•
•
•
•
•
•
•
•
Texto: para introducir cadenas de caracteres hasta un máximo de 255
Memo: para introducir un texto extenso. Hasta 65.535 caracteres
Numérico: para introducir números
Fecha/Hora: para introducir datos en formato fecha u hora
Moneda: para introducir datos en formato número y con el signo monetario
Autonumérico: en este tipo de campo, Access numera automáticamente el contenido
Sí/No: campo lógico. Este tipo de campo es sólo si queremos un contenido del tipo Sí/No, Verdadero/Falso,
etc.
Objeto OLE: para introducir una foto, gráfico, hoja de cálculo, sonido, etc.
Hipervínculo: podemos definir un enlace a una página Web
Asistente para búsquedas: crea un campo que permite elegir un valor de otra tabla o de una lista de
valores mediante un cuadro de lista o un cuadro combinado.
IV. Introduce los siguientes nombres de campos (observa el tipo de dato de cada uno)
Cuando introducimos un campo, en la parte inferior de la ventana aparecen unos campos para definir otro tipo de
características. Más adelante se verá cómo modificarlos. Ahora vamos a guardar la tabla.
Antes de guardar la tabla vamos a ver qué es un campo clave.
Un campo clave es un campo con una característica especial (la clave) que hace que ese campo no se repita en
ningun registro de la BD. Un campo clave incrementa además la velocidad de los procesos del tipo Consultas o
Formularios. Lógicamente, no podemos introducir como campo clave el campo Nombre, por ejemplo.
V. Selecciona con un Click la fila del campo Nombre (el cuadradito gris a la izquierda del nombre) de forma que se
seleccione toda la fila. Después, pulsa un Click en el botón Clave principal situado en la barra de menús. Aparecerá
como aquí:
VI. Para guardar la tabla, se puede cerrar la ventana directamente o bien escoger la opción Archivo - Guardar.
Sea como sea, pedirá un nombre para la tabla. Colócale como nombre: Alumnos y acepta.
6
1.6 Introducción de datos
La forma de introducir datos es sumamente sencilla:
I. Pulsa Click en el botón derecho Abrir
Aparece una pantalla en forma de tablas de columnas (al estilo de Excel) donde podemos introducir los datos de los
campos. Para desplazarnos, pulsaremos la tecla de tabulación o un click en la siguiente casilla. Para el primer
campo no hace falta escribir nada, ya que es autonumérico. Introduce algunos registros para probar. Para pasar de
un registro a otro, simplemente pulsa Intro.
Para salir de la tabla, utiliza alguno de los dos métodos anteriormente descritos (cierra la ventana o accede a
Archivo - Guardar). Una vez guardada la tabla podemos modificar el contenido de los campos pulsando de nuevo el
botón Abrir para añadir más registros o modificar los ya existentes.
7
II. OBJETIVO DE UNA BASE DE DATOS
Antes de comenzar a crear una base de datos algo más compleja que la de nuestro primer ejemplo, convendría
establecer un croquis o borrador en papel de los objetivos de la misma. Si es una base de datos para otra persona o
empresa, es conveniente pirmero hablar con los que van a utilizar la BD para determinar qué uso se va a dar de la
misma. Si fuese por ejemplo una base de datos para gestionar un comercio, estas preguntas podrían ser:
Posibilidad de introducir, modificar, consultar y listar los datos
Informes sobre artículos más vendidos
Etiquetas postales para clientes
Existencias de artículos
Pedidos a proveedores, etc
A partir de las preguntas, correcciones y apuntes que hagamos, podemos comenzar a construir las tablas que
formarán nuestra BD. Es muy importante no introducir 200 campos por ejemplo en una misma tabla, sino dividir la
información en varias tablas que puedan gestionarse por separado, pero enlazarse cuando sea necesario.
2.1 Caso práctico
La BD que construiremos a continuación tratará de gestionar una ficticia empresa, "EL ABETO" dedicada al alquiler
de propiedades. Esta empresa posee dos oficinas situadas en Rubí y Terrassa que abarcarán propiedades de la
provincia de Barcelona. Utilizando el ejemplo anterior, ¿qué necesitaremos para construir la DB?
Datos del cliente (Nombre, apellidos, etc...)
Datos de la propiedad (Tipo de propiedad, metros cuadrados, dirección, número de aseos, etc)
Supongamos que hemos hecho un estudio de la situación y decidimos incluir los siguientes campos en la BD:
Código de la propiedad (Número que identificará a la propiedad alquilada)
Nombre, apellidos, DNI, y dirección
Fecha de alquiler del contrato
Fecha de expiración del contrato
Alquiler mensual que paga el cliente
Tipo de propiedad (Casa, apartamento, chalet...)
¿Tiene garaje?
Número de aseso, habitaciones, dirección de la propiedad, ciudad, provincia y Código
postal
Superficie en m/2
Extras (observaciones, extras instalados, situación privilegiada, etc...)
Evidentemente, en una BD siempre nos olvidaremos de algún campo, o tendremos que modificar las características
de otro, pero esto siempre podremos solucionarlo. Bien, en concreto hemos calculado que necesitamos 20 campos
para nuestra base de datos.
Si hiciésemos una sola tabla incluyendo todos los campos, podríamos gestionar perfectamente pero sería una
barbaridad tener tantos campos en una sola tabla. A veces necesitaríamos modificar o introducir por ejemplo los
datos de una propiedad, y los del cliente no nos servirían para nada. Por ello, crearemos dos tablas; una controlará
los datos del cliente y otra los de la propiedad.
2.2 Ejercicio
I. Crea una BD nueva desde la opción Archivo - Nueva base de datos
y colócale como nombre: ABETO
Pulsa en el botón Nuevo y escoge la opción Vista diseño
A continuación crea los siguientes campos:
8
Observa que hemos colocado como campo clave el campo Código propiedad. De esta forma nos aseguramos que
no repetimos dos veces un mismo código. Cada propiedad tendrá un único código que la identificará.
Fíjate que a medida que vamos introduciendo nuevos campos, nos aparece en la parte inferior de la pantalla una
ventana especial:
Desde esta ventana podemos ampliar y mejorar las características de cada campo. Sus opciones son:
•
•
•
•
•
•
•
•
•
•
Tamaño del campo: define el tamaño máximo de caracteres que podemos introducir. Hasta 255
Formato: dependiendo del tipo de campo, podemos escoger un formato. (P.Ejemplo monetario, fecha,
etc....)
Máscara de entrada: access coloca una serie de signos automáticamente para facilitarnos la introducción
de los datos. P.Ejmplo, podemos introducir una fecha tecleando sólo los números del dia, mes y año, y
access nos colocará automáticamente las barras de separación. 12/abr/98
Título: se utiliza para dar un título al campo para posteriormente utilizarlo en formularios
Valor predeterminado: si deseamos que por defecto este campo contenga un valor que se repite a
menudo para no tener que teclearlo.
Regla de validación: podemos obligar al usuario a que introduzca los datos según unos criterios.
P.Ejemplo, podemos obligar a que se introduzcan datos numéricos inferiores a una cantidad, etc....
Texto de validación: cuando se incumplen las reglas de validación al introducir los datos, aparece un texto
explicativo. Desde aquí podemos definir qué texto aparecerá.
Requerido: si esta opción está en Sí, el usuario está obligado a introducir datos.
Permitir logitud cero: si esta opción está en Sí, se permite la introducción de cadenas de longitud cero.
Indexado: los campos indexados permiten acelerar las búsquedas. Podemos hacer que un dato se repita o
no en la tabla con las opciones permitir duplicado si o no.
III. A continuación, coloca en Sí la opción Requerido de los campos Nombre y Apellido
IV. En el campo Alquiler mensual, cambia las propiedades siguientes:
Formato: Moneda
Regla de validación: <150000
Texto de validación: El precio de alquiler no debe pasar de 150.000
V. Selecciona el campo Fecha de contrato y sitúa el cursor en la casilla Máscara de entrada.
Deberás pulsarlo. Access te dirá si quieres guardar la tabla. Responde
Aparecerá un botón en la parte derecha:
afirmativamente y colócale como nombre: Clientes. A continuación te aparecerá una ventana con ejemplos de
máscaras. Escoge la opción Fecha corta y pulsa en el botón Terminar. En la casilla aparecerán unos símbolos
correspondientes a la máscara.
VI. Haz exactamente lo mismo para el campo Fecha de expiración
VII. Cierra la ventana de Diseño de tabla. Guarda los cambios.
VIII. Seguidamente crea una nueva tabla. La llamarás PROPIEDADES y tendrá las siguientes características:
9
CAMPO
TIPO
TAMAÑO
OTROS
Código propiedad
Texto
3
Campo clave
Garaje
Sí/No
Tipo de propiedad
Texto
15
Superficie en m/2
Numérico
Entero
Dirección
Texto
40
Población
Texto
20
Provincia
Texto
15
Código Postal
Texto
5
Habitaciones
Numérico
Entero
Aseos
Numérico
Entero
Extras
Memo
10
III. RELACIONES
Hemos preparado dos Tablas: una para llevar el control de los clientes y otra para llevar el control de las
propiedades. Hemos definido en común un campo: Código de propiedad. ¿Por qué?, Porque necesitamos un
campo en común para las dos tablas de forma que en la tabla PROPIEDADES podamos introducir las propiedades
que sean, cada una con su código único que las identificará. Pero también necesitamos introducir datos en la tabla
clientes de forma que le asignemos una propiedad a cada uno de ellos. Posteriormente podemos realizar consultas y
crear formularios de las dos tablas, gracias a este campo en común. De esta forma, podemos introducir datos en la
tabla CLIENTES pero asegurándonos que existen en la tabla PROPIEDADES. Así no habrá lugar a equivocaciones.
Lo que vamos a hacer es una relación.
3.1 Concepto
Una relación es una característica especial de Access que hace que podamos trabajar con varias tablas
relacionadas a través de un campo en común.
3.2 Tipos
Existen tres tipos de relaciones:
•
Relación de uno a uno: En este tipo de relación, un registro de la tabla 1 sólo puede estar enlazado con
un único registro de la tabla 2 y viceversa. Este tipo de relación es la que menos se utiliza. Un ejemplo
podría ser éste, en el que cada persona tiene un único DNI:
•
Relación de varios a varios: Cada registro de la tabla 1 puede estar enlazado con varios registros de la
tabla 2 y viceversa. En el siguiente ejemplo, en la tabla 1 en cada película pueden trabajar varios actores y,
en la tabla 2, un mismo actor puede trabajar en varias películas:
•
Relación de varios a varios: Cada registro de la tabla 1 puede estar enlazado con varios registros de la
tabla 2, pero cada registro de la tabla 2 sólo puede estar enlazado con un registro de la tabla 1. En el
siguiente ejemplo, un equipo puede tener varios jugadore, pero cada jugador sólo puede jugar en un
equipo:
11
3.3 Práctica
I. Con la base de datos de nuestro ejemplo abierta, pulsa en el botón Relaciones o bien accede desde
Herramientas - Relaciones.
Ha aparecido una nueva ventana con las dos tablas preparadas para crear la
relación. Arrastra el campo Cödigo de propiedad desde una tabla hasta otra:
Aparece una nueva ventana donde podemos definir algunas características de la
relación. Observa en la parte inferior que Access nos coloca automáticamente el
tipo de relación como de Uno a uno, pues los dos campos son campos clave, por
lo que sus datos serán únicos.
Otras opciones de esta ventana son:
•
Exigir integridad referencial: Se utiliza para asegurarnos de que los datos se mantendrán correctamente
relacionados cuando se establezca la relación. Si esta casilla se activa, podemos escoger dos opciones
más:
•
Actualizar o eliminar en cascada los campos relacionados hace que cuando se modifique un dato en
una de las dos tablas, éste también será modificado en la tabla relacionada.
Desde el botón Tipo de combinación podemos acceder a más características de la relación.
II. Deja activada la casilla Exigir integridad referencial y sus dos opciones, y seguidamente pulsa en el botón
Crear.
Aparecen unas líneas que reflejan la relación entre ambas tablas.
III. Cierra la ventana contestando afirmativamente a la pregunta de Access de guardar la relación.
Ya están a punto las dos tablas para introducir los datos. Para ello, simplemente tendremos que pulsar el botón
Abrir y Access mostrará una tabla formada por columnas donde podremos introducir los datos.
Mientras introduces un dato en un campo, Access muestra un lápiz en la parte izquierda de la fila. En la introducción
de datos es importante no dejar en blanco el campo clave, o Access no nos dejará terminar el proceso. Cuando
terminamos de introducir toda una fila, pulsaremos Intro para pasar a introducir el segundo registro. Si queremos
cancelar la introducción de datos en una fila, pulsaremos la tecla Escape.
12
IV. MANEJO DE DATOS, TABLAS Y REGISTROS
4.1 Introducir de datos
Recuerda que había una relación entre las dos tablas de Uno a Uno, desde la tabla CLIENTES a la tabla
PROPIEDADES. Esto significa que primero tendremos que dar de alta algún cliente y posteriormente darlo de alta
en la tabla PROPIEDADES. La relación que hemos establecido nos evita la introducción de errores en la tabla
PROPIEDADES, ya que, para introducir una propiedad, previamente tendremos que tener dado de alta el cliente en
la tabla CLIENTES.
4.2 Añadir registros
Para añadir nuevos registros podemos:
•
•
Acceder a la opción del menú Insertar - Nuevo registro
Pulsar un click directamente bajo el último registro:
Es importante fijarse en el símbolo de la izquierda (el triángulo negro). Cuando estemos introduciendo un dato, el
símbolo se convertirá en un lápiz. Al finalizar la introducción de los datos del registro en el último campo, si pulsamos
Intro, introduciríamos un nuevo registro. Si estamos introduciendo un registro y queremos cancelar la introducción de
los datos, pulsaremos la tecl Escape y el lápiz desaparecerá para volver a visualizar el triángulo negro.
4.3 Modificar regristros
Para modificar los datos de un registro, únicamente pulsaremos un click en el interior del campo que queramos
modificar.
4.4 Modificar el ancho de una columna
Para modificar la anchura de una columna y así poder visualizar el contenido del campo, podemos situar el ratón en
medio de la cabecera del campo y "estirar" el ancho. También podemos pulsar un click en la cabecera del campo y
la columna entera se seleccionará.
Una vez seleccionada, podemos acceder al menú Formato - Ancho de
columna - Ajuste perfecto y Access ajustará el ancho automáticamente al
contenido de la columna.
4.5 Borrar un registro
Si lo que deseamos es borrar un registro, pulsaremos un click en el número de la fila del registro que queramos
borrar. Una vez seleccionado, accederemos al menú Edición - Eliminar registro y Access, tras perdirnos
confirmación, borrará el registro de la tabla.
13
4.6 Búsqueda de datos
Una opción muy útil es la de buscar algún dato en toda la tabla. Existe un botón en la barra de herramientas, o bien
podemos acceder al menú Edición - Buscar. Nos aparecerá la típica ventanita para buscar una frase. Podemos
decirle a Access que busque en el registro, en toda la tabla, de arriba a abajo, etc.
4.7 Ordenamiento de datos
Esta opción es muy útil, ya que a veces nos interesará un listado por ejemplo, de la tabla CLIENTES ordenada por
fecha de expiración del contrato, o un listado de la tabla PROPIEDADES ordenada por Tipos de Propiedad, etc.
Simplemente tenemos que situar el cursos dentro de un campo por el que queramos ordenar la tabla. Seguidamente
podemos pulsar los botones Orden Ascendente u Orden Descendente, según queramos ordenar. También
podemos acceder desde el menú Registros - Ordenar. Access ordenará la tabla por ese campo. Ordenar la tabla
por un campo en concreto no significa que Access cambie la posición de los campos de la tabla. De hecho, si
después de ordenar intentamos cerrar la tabla, Access nos avisará si queresmo guardar los cambios, es decir, si
queremos que la tabla se guarde con el nuevo orden.
4.8 Copiar una tabla
Es muy importante crearse copias de todo lo que consideremos importante. Es pues, necesario, crearse una copia
de alguna tabla dentro de la propia base de datos. Ten en cuenta que en Access, hay opciones un poco... digamos...
delicadas, que pueden hacer que los datos de la base cambien por completo. Si tienes una copia, NO PROBLEM. Si
no tenías copia, lo más seguro es que comienzes a acordarte del tio segundo de Billy Puertas o quien sabe.
Para hacerte una copia de una tabla, debes tener cerrada la tabla. Desde la pantalla principal:
•
•
•
•
Selecciona la tabla
Pulsa el botón Copiar de la barra de herramientas, o bien Edición - Copiar
Pulsa el botón Pegar de la barra de herramientas, o bien Edición - Pegar
Cuando Access te pida un nuevo nombre, escribe el que creas oportuno.
14
V. CONSULTAS
5.1 Concepto
En muchas ocasiones tendremos la necesidad de saber qué clientes viven en tal o cual ciudad, cuantas propiedades
del tipo chalet existen, quién paga más de 100.000 pts de alquiler, o cualquier otra pregunta que se nos ocurra.
Evidentemente, tenemos el listado completo en forma de tabla, pero según el tipo de preguntas que queramos
realizar a la BD nos puede llevar bastante tiempo localizar algún dato en concreto. Para ello están las consultas.
Las consultas son preguntas preparadas que podemos diseñar para utilizar cuando sea necesario. Casi todo el
trabajo en Access se basa en las consultas. Si queremos hacer un informe de unos datos determinados, podemos
hacerlo a partir de una consulta. Si queremos un listado por pantalla o por impresora, lo haremos de una consulta.
5.2 Tipos de consultas
Las consultas pueden ser de varios tipos:
•
•
•
•
Consulta de selección: es la más utilizada: Permite ver los datos de una o varias tablas, analizarlos,
imprimirlos, etc.
Consultas de tablas de referencia cruzadas: presenta los datos en forma de filas y columnas
Consultas de acciones: se utilizan para crear nuevas tablas a partir de consultas, eliminar o actualizar
registros, añadir o modificar registros, etc.
Consultas de unión: combinan campos coincidentes o duplicados de una o varias tablas
5.3 Ejemplo
Vamos a crear una sencilla consulta. Imaginemos que queremos saber algunos datos de los inquilinos que tienen
alquilado un Apartamento. No queremos saber los datos de todos los campos: sólo algunos.
I. Con la Base de Datos ABETO.MDB abierta, pulsa click en la pestaña de Consultas:
II. Pulsa click en el botón Nuevo. Te aparecerá una ventana donde podremos escoger el tipo de consulta a realizar.
III. Escoge la opción Vista Diseño y acepta
Seguidamente aparece una pequeña ventana para escoger la tabla o tablas sobre las que realizar la consulta.
IV. Selecciona la tabla CLIENTES y pulsa en Agregar
V. Haz lo mismo con la tabla PROPIEDADES
VI. Pulsa el botón Cerrar
Nos encontramos en la pantalla de Vista Diseño de la consulta. Desde esta pantalla podemos escoger qué campos
queremos incluir en la consulta, así como otras opciones (orden, criterios de consulta, etc).
Supongamos que queremos realizar una consulta sólo de los campos Código de propiedad, Alquiler, Nombre y
Apellidos de la tabla CLIENTES, y el campo Tipo de Propiedad de la tabla PROPIEDADES.
Lo que debemos hacer es "cargar" el campo que necesitemos, desde la casilla de la tabla hasta la cuadrícula
inferior. Vamos a hacerlos de dos formas:
15
I. Pulsa doble click en el campo Código de propiedad de la tabla CLIENTES
El campo ha de aparecer en la parte inferior.
II. "Arrastra" el campo Nombre de la tabla CLIENTES a la primera casilla de la segunda fila, al lado del campo
anterior.
III. Ahora carga utilizando el método que quieras, los campos Apellidos y Alquiler de la tabla CLIENTES, y el
campo Tipo de propiedad de la tabla PROPIEDADES.
Ahora vamos a ver el resultado:
I. Pulsa click en el botón Vista, situado en la barra de botones superior izquierdo.
En pantalla aparece un listado con los campos de las dos tablas, tal y como hemos preparado. Podríamos ahora
volver a la vista Diseño pulsando el mismo botón Vista que ahora aparece como una regla azul, pero lo que vamos a
hacer es guardar la consulta.
II. Cierra la ventana de la consulta. Access te pedirá si quieres guardarla. Responde afirmativamente y ponle como
nombre: Consulta sencilla.
Si quisiéramos modificar la consulta, deberíamos pulsar el botón Diseño. Si quisiéramos ejecutarla para ver su
contenido, pulsaremos el botón Abrir.
5.4 Consultas con criterios
La consulta anterior fue una consulta normal, de todos los registros de la Base de Datos. Una de las mayores
ventajas de las consultas es la de introducir criterios de consulta. Mediante los criterios podemos seleccionar
registros que cumplan unas condiciones determinadas. Veamos cómo crear una consulta que nos muestre datos
sobre los inquilinos que pagan más de 85.000 pts de alquiler mensual.
I. Crea una nueva consulta de la tabla CLIENTES y carga los campos Código de propiedad, Nombre y Alquiler
mensual
II. En la casilla Criterios del campo Alquiler mensual, escribe: >85000
III. Visualiza el resultado de la consulta con el botón Vista
Observa que aparecen los tres campos de los clientes que pagan más de 85.000 pts al mes
IV. Vuelve al modo Diseño desde el mismo botón
V. Agrega el campo Oficina vendedora y añade el siguiente
criterios:
VI. Visualiza el resultado
En este último caso tenemos dos condiciones que se tienen que cumplir. Sólo veremos los campos de los registros
que cumplan las dos condiciones: que pagen más de 85.000 pts y cuya oficina vendedora esté en la ciudad de
Terrassa.
VII. Guarda la consulta con el nombre: Oficina Terrasa - Más de 85000
16
5.5 Expresiones
En las consultas que hemos hecho, hemos introducido expresiones para los criterios muy sencillas. Entre los tipos
de expresiones avanzadas podemos utilizar para los criterios se encuentran:
•
Expresiones de fecha: Podemos utilizar operadores de comparación típicos de programas informáticos
como mayor que, menor que, igual, distinto, etc. Para la cuestión de fechas, podemos utilizar esos mismo
operadores. Por ejemplo, imaginemos que queremos saber los registros con un campo cuya fecha se
menor al 12 de Junio del 97. Podemos hacerlo de las siguientes formas:
<12 Junio 1997
<#12/06/97#
<12 Jun 97
<12-Jun-97
<12/06/97
•
Expresiones de números, moneda y contador: Cuando utilizemos campos de este tipo, tan sólo
tendremos que escribir los daots y si contienen decimales, el separador de decimales.
•
Expresiones de texto: En este tipo de criterios, bastara con escribir el texto utilizando mayúsculas o
minúsculas indistintamente.
•
Expresiones lógicas tipo Sí/No: Para valores tipo Sí podemos escribir las siguientes expresiones en la
casilla de criterios:
"Sí"
"Verdadero"
"Activado"
"-1"
Para valores del tipo No podemos usar las siguientes expresiones:
"No"
"Falso"
"Desactivado"
"0"
5.6 Caracteres comodín
Como en MS-DOS o la mayoría de programas de Windows, podemos incluir los dos caracteres comodín (el
asterisco * y el interrogante ?) para crear una expresión. El interrogante puede sustituir un solo caracter en la
posición que esté. El asterisco podrá sustituir a más de un caracter en la posición en que se encuentre. Por ejemplo:
M?? buscará los datos que comienzen por M y luego tengan dos letras más
?a?a buscará los datos cuya segunda y cuarta letra sea una a
*/12/97 buscará los datos de cualquier dia del mes de diciembre del 97
An*
buscará los datos de lo que comienze por la palabra An
17
VI. CAMPOS CALCULADOS
6.1 Concepto y ejemplo
En ocasiones tendremos la necesidad de realizar operaciones matemáticas con algún campo. Podemos crear
campos vacíos y rellenarlos con datos provenientes de alguna operación entre dos o más campos.
Lo que vamos a hacer a continuación es lo siguiente:
Supongamos que hemos subido la cuota mensual a todos los inquilinos en 500 pts. Es evidente que sería una paliza
modificar uno a uno todos los campos de los precios. Realizaremos una operación matemática:
I. Abre la Base de Datos Abeto.MDB y sitúate en la pestaña de las Consultas
II. Crea una nueva Consulta en modo Vista Diseño
III. Carga la tabla Clientes
IV. Carga los campos Código de Propiedad y Alquiler mensual
V. En la barra de herramientas superior hay un botón llamado Tipo de consulta. Ábrelo y escoge el tipo
Actualización
VI. Sitúa el cursor en la casilla Actualizar a y escribe:
VII. Cierra la consulta. Guardala con el nombre Aumento de
precio en 500pts
Observa que el icono de la nueva consulta ha cambiado. Esta es una consulta de actualización. Lo que significa que
cuando la ejecutemos, cambiará los datos de la tabla. Por eso hemos de tener cuidado en preparar adecuadamente
la consulta; un error podría traer consecuencias imprevisibles. Observa que hemos puesto entre corchetes el nombre
del campo Alquiler mensual al que hemos sumado el número 500. No vendría mal hacerse una copia de la tabla
Clientes por si acaso.
I. Selecciona la consulta y pulsa en el botón Abrir. Access nos avisará de que se van a modificar datos de una tabla.
Acepta el mensaje que aparece.
II. Access vuelve a pedir confirmación con un segundo mensaje. Vuelve a aceptar.
III. Ve a la pestaña Tablas y abre la tabla Clientes. Observa el campo Alquiler mensual. Tiene que aparecer con un
incremento de 500 pts.
6.2 Creación de una tabla nueva con campos de otras tablas
A continuación vamos a ver cómo podemos crear una tabla nueva con campos proveniente de otras tablas.
Imaginemos que necesitamos una nueva tabla con sólo algunos campos de las otras dos (Clientes y Propiedades).
Evidentemente sería una "pasada" crearla nueva e introducir los datos uno por uno. Por ello, vamos a tomar campos
de las dos tablas y construir una nueva.
I. Crea una consulta nueva escogiendo las dos tablas.
II. Añade de la tabla Clientes, los campos Nombre, Apellidos, y Alquiler mensual
III. Añade de la tabla Propiedades los campos Tipo de propiedad, Dirección, Población y Provincia
IV. En la barra de herramientas superior hay un botón llamado Tipo de consulta. Ábrelo y escoge el tipo Consulta
de creación de tabla.
V. Se pedirá un nombre para la nueva tabla que se creará más tarde. Pon el nombre: Clientes y Propiedad y
acepta.
VI. Cierra la consulta. Grábala con el nombre: Consulta de creación de tabla
VII. Observa que aparece otro tipo de icono.
VIII. Selecciona la consulta recién creada y ábrela. Access te avisa que se creará una nueva tabla. Acepta.
IX. Ve a la pestaña de Tablas y observa que la nueva tabla se ha creado.
18
VII. FORMULARIOS
7.1 Creación de Formularios utilizando el Asistente
Un formulario es un objeto de Access que nos permitirá introducir y modificar los datos de una forma más "amable" y
cómoda. Los formularios tienen la ventaja de poder:
•
•
•
•
Mostrar datos de varias tablas al mismo tiempo
Calcular campos
Crear y utilizar gráficos
Utilizar fuentes especiales, colores, títulos, etc.
Los formularios podemos crearlos mediante un asistente o bien en blanco y diseñarlos a nuestra medida. Para ver
cómo se crean, hemos de estar situados con una base de datos abierta en la pestaña Formularios. y pulsar el botón
Nuevo. Nos aparecerá una ventana pidiéndonos el tipo de formulario a crear y la tabla o consulta a partir de la cual
se creará. En esta primera lección dedicada a los formularios, vamos a crear uno sencillo utilizando un assitente que
nos irá guiando en su creación.
I. Con nuestra base de datos abierta (Abeto.MDB) accede a Formularios Nuevo y escoge la tabla Clientes y la opción Asistente para formularios
II. Acepta la ventana.
En esos momentos, se ejecutará un asistente de Access que nos irá
guiando paso a paso en la creación del formulario. En el primer paso,
Access nos pide qué campos queremos incluir en el formulario.
En la parte izquierda aparece una ventana con los campos de la base de datos y en la parte dereche otra con los
campos que se incluirán en el formulario. En medio de las dos ventanas aparecen unos botones que servirán para
incluir o borrar campos desde la ventana izquierda a la ventana derecha.
Carga el campo seleccionado desde la ventana izquierda a la ventana derecha
Carga todos los campos desde la ventana izquierda a la ventana derecha
Borra el campo seleccionado de la ventana derecha
Borra todos los campos de la ventana derecha
III. Carga todos los campos y pulsa el botón Siguiente.
En el siguiente paso, Access nos pregunta qué tipo de formulario y la distribución de los campos a través del mismo.
Si pulsas un click en las diversas opciones, verás una simulación en la ventana de la izquierda de cómo quedará.
IV. Acepta el tipo En columnas y pulsa el botón Siguiente
Para los fondos, prueba igual que antes el estilo que te guste. En nuestro caso, escogeremos el estilo Mundo
V. Escoge el estilo que prefieras y pulsa Siguiente
VI. Acepta el último paso (nombre del formulario) con el botón Termimar, y el formulario ya estará creado.
La utilización del formulario es sumamente sencilla. Podemos observar que cada registro se visualiza como una
ficha independiente. En la parte inferior del formulario se aprecian unos botones:
Estos botones sirven para: Desplazarse al primer registro, desplazarse hacia atrás, hacia adelante, al último registro
y añadir un nuevo registro.
19
Desde el formualrio podemos modificar el contenido de un campo, borrarlo, añadir nuevos registros, y todos los
cambios que realizemos en el formulario, se realziarán en la tabla relacionada, así como todos los cambios
efectuados en la tabla, se visualizarán si abrimos el formulario.
Podemos cerrar el formualrio, buscar un dato (Edición Buscar), borrar un registro completo (Edición - Eliminar
registro), etc. Si tenemos el formulario cerrado, para utilizarlo
sólo debemos pulsar el botón Abrir. De igual forma, con el
botón Diseñar accedemos al diseño del formulario, que es una
pantalla especial donde podemos cambiar las posición de los
campos, características, añadir campos calculados, títulos,
colores, etc, pero eso ya es otra lección. De momento, puedes
probar a crear varios formularios escogiendo distintas
opciones del primer cuadro del asistente (tabular, columnas u
hoja de datos).
7.2 Creación y Personalización de Formularios Paso a Paso
En el punto anterior vimos cómo crear con el asistente de Access un formulario automático. En este punto vamos a
ver cómo se puede personalizar un formulario. Crearemos un formulario de la tabla Propiedades de forma manual:
I. Con la base de datos Abeto.MDB abierta y situados en la pestaña Formularios, pulsa el botón Nuevo.
II. Escoge de la lista la tabla Propiedades y como tipo de formulario escoge Vista Diseño.
Aparece una ventana en blanco (o en gris) donde podemos "cargar" los campos de la tabla y situarlos a nuestro
gusto. Observa que la zona gris es la zona que veremos cuando estemos utilizando el formulario. Esta zona se
puede ensanchar con el mouse "estirando" su esquina inferior derecha para que ocupe más zona de pantalla. Para
cargar los campos existe un botón situado en la barra de herramientas llamado Lista de campos.
desde el que podemos escoger el campo que queramos.
III. Pulsa dicho botón y te aparecerá una pequeña ventana con los nombres de los campos
IV. "Arrastra" el primer campo hasta situarlo más o menos en la esquina superior izquierda:
Si sitúas el puntero del ratón sobre el campo cargado, verás que
aparece una mano si está sobre un borde del campo. Esta mano
sirve para mover el campo. También podemos observar unos
controles (puntitos negros) para modificar el tamaño del campo. Es
importante anotar que hemos cargado dos cosas: a la izuquierda el
nombre del campo y a su derecha (en blanco) el campo en sí.
Observa también que posicionando el puntero del ratón sobre uno
de los dos cuadrados más grandes, aparece un dedo que servirá
para mover sólo una parte del campo (el nombre o el campo)
V. Termina de cargar el resto de campos y sitúalos de forma más o
menos coherente.
20
Observa que en las barras de herramientas que
disponemos en esta pantalla, hay botones para cambiar
los colores de los campos, tipos de letra, bordes, efectos
de relieve, etc. Puedes seleccionar algún campo y hacer
diferentes pruebas con esta barra. EL formulario puede
quedar más chulo, pero tampoco hay que abusar de
demasiados colorines de forma que quede demasiado
"chillón".
Cuando te guste el resultado, puedes hacer una prueba para ver cómo quedará con el botón Vista situado en la
parte superior izquierda de la barra de herramientas. Para volver a la pantalla de diseño, pulsa el mismo botón.
Puedes cerrar el formulario y ponerle un nombre (Formulario de Propiedades, p.ej).
Si tienes que realizar alguna acción con varios campos a la vez (cambiar el color, mover, borrar, etc) puedes hacerlo
seleccionándolos con el mouse en forma de selección de ventana como harías con cualquier otro objeto. También
puedes ir pulsando un click uno a uno manteniendo pulsada la tecla Shift (mayúscula).
Existe otra barra de herramientas que se activa pulsando el botón Cuadro de Herramientas. Ésta sirve para crear
textos, títulos o controles especiales como listas desplegables, botones programables, etc. Veamos un ejemplo. En
esta pantalla hay un campo llamado Tipo de Propiedad cuyo contenido siempre es fijo, es decir, que siempre será un
Chalet, Casa o Apartamento. Cuando estemos introduciendo un registro nuevo o bien cuando estemos modificando
alguno existente, sería un "latazo" teclear siempre el contenido del campo. Lo que haremos será crear una lista
desplegable para poder seleccionar el contenido de una forma más sencilla y rápida.
I. Debes activar la barra Cuadro de herramientas desde el botón correspondiente
La lista desplegable que vamos a crear podemos hacerla de dos formas: con un asistente que nos guiará paso a
paso o bien "a mano". Observa que en la barra que tenemos activa (Cuadro de herramientas) hay un botón con
forma de varita mágica llamado Asistente para controles. Si está pulsado (hundido) significa que está activado, por
lo que si creamos la lista desplegable, se pondrá en marcha automáticamente el asistente. Para crear un control
manualmente, hemos de desactivarlo pulsando un click.
I. Asegúrate de que el botón mencionado está desactivado y pulsa después en el botón Cuadro combinado de la
misma barra de herramientas.
II. Dibuja en la zona de los campos un rectángulo no muy grande. No te preocupes del tamaño; se puede cambiar
posteriormente.
III. Te habrá aparecido un campo sin nombre. Ahora hay que configurarlo.
IV. Accederemos a las propiedades del campo. Para ello, pulsa doble click en un borde del campo, o bien pulsa el
botón Propiedades de la barra de herramientas superior. También puedes acceder desde el menú VerPropiedades.
Te aparecerá una ventana especial. Desde esta ventana podemos cambiar las propiedades de cualquier campo,
como el nombre, color, eventos especiales, etc.
V. Cambia los datos de la ventana de la siguiente forma:
Nombre: Tipo de propiedad. Este será el nombre de la etiqueta que se visualiza a la izquierda del campo
Origen del control: Tipo de propiedad (puedes escogerlo de la lista desplegable)
La propiedad Origen del control define qué campo real de la tabla almacenará el valor introducido
posteriormente.
Tipo de origen de la fila: Lista de valores (puedes escogerlo de la lista desplegable)
Origen de la fila: Chalet;Casa;Apartamento (atención al punto y coma separador)
Aquí definimos una lista de valores. En Tipo de origen de la fila podríamos escoger una tabla o consulta o
bien escribir a mano los datos de la lista como hemos hecho. Estos datos hay que escribirlos separados por
punto y coma.
VI. Cierra la ventana de Propiedades y accede a las propiedades del nombre del campo para cambiarlo. En vez de
Cuadro combinado... colócale como nombre: Tipo de popiedad.
21
VII. Cierra el cuadro, ajusta si es necesario el tamaño y posición del campo y
realiza una vista previa del formulario. Prueba a desplegar la lista recién creada
confirmando que funciona.
7.3 Control de Cálculo de Campos en un Formulario
En este punto vamos a ver cómo colocar un control de cálculo de campos en un formulario. Lo que haremos será
utilizar el formulario de la tabla Clientes que hicimos con el Asistente para formularios. I. Con la ventana de formularios a la vista, selecciona el formulario Clientes y pulsa el botón Diseñar.
Observa la siguiente imagen: hemos ampliado un poco la zona de diseño
y movido el campo Alquiler. Vamos a insertar un campo calculado para
el IVA y otro para el total del alquiler. Podríamos crear dos campos
nuevos para ese fin. Para ello, tendríamos que ir al diseño de la tabla e
insertarlos como dos campos nuevos del tipo numérico. En este caso no
los crearemos, sino que insertaremos dos campos independientes que lo
único que harán será realizar un cálculo matemático de otros campos.
II. Hemos añadido dos casillas de texto con el botón Cuadro de texto
y hemos cambiado el nombre de las
etiquetas por el de IVA 16% y TOTAL alineando los campos. Para cambiar el nombre de la etiqueta, debes
seleccionarla y pulsar doble click para acceder a sus propiedades.
III. Ahora debes seleccionar con un click el campo gris del IVA 16% y acceder a sus propiedades (con doble click, o
con el botón derecho y la opción Propiedades)
IV. En el cuadro que te aparece, sitúa el cursor en el campo Origen del control. Aquí definimos de donde vienen los
datos. Éstos pueden venir de algún campo de alguna tabla, o bien pueden ser el fruto de alguna operación de
cálculo con campos. A la derecha verás dos cuadraditos. Pulsa el de la derecha (puntos suspensivos)
V. Aparecerá otra ventana. Se trata del Generador de Expresiones. Aquí podemos definir fórmulas o funciones que
realizan ciertas operaciones.
VI. Escoge de la ventana izquierda las opciones Formularios - Formularios cargados - Clientes.
VII. Escoge de la ventana central Alquiler mensual
VIII. Pulsa el botón Pegar
IX. Pulsa click en la ventana superior y termina de escribir la fórmula: [Alquiler mensual] *16/100
X. Cierra la ventana del generador de expresiones desde el botón Aceptar
XI. Abre la lista del campo Formato y escoge la opción Moneda
XII. Cierra la ventana de propiedades
XIII. Prueba una vista previa desde el botón Vista situado en la barra de herramientas en la parte superior izquierda
Observa que el campo tiene que aparecer ya con el cálculo hecho:
XIV. Configura tú mismo el campo TOTAL con la fórmula: [Alquiler mensual] + [IVA]
Esto significa que el último campo sume el contenido del campo Alquiler mensual más el campo IVA. Este último
será el campo de texto que creamos anteriormente. Es importante señalar que el nombre de IVA se lo hemos puesto
al campo desde la ventana de propiedades. Si no es así, Access no lo encontrará.
El resultado final será que cuando introduzcamos el precio de la propiedad, los dos campos
que acabamos de crear mostrarán automáticamente el cálculo del impuesto de IVA.
Es importante señalar que los dos últimos campos nos existen como tales en la tabla
Clientes ni en la de Propiedades. Son sólo campos calculados.
22
VIII. TECNOLOGIA OLE
La tecnología OLE (Object Linking and Embedding) es un sistema de compartir ficheros entre aplicaciones que nos
permitirá transferir información de una a otra. A través de esta tecnología podremos, por ejemplo, insertar un objeto
gráfico en un formulario de Access como si fuera un campo más. Estos objetos pueden insertarse de dos formas:
•
Incrustación: el objeto es almacenado en la base de datos, pero si el objeto original sufre algún cambio, en
la base de datos no se reflejará el cambio.
•
Vinculación: el objeto es almacenado igual en la base datos, pero se establece un vínculo con el archivo
original de forma que si modificamos el objeto desde el formulario, los cambios afectarán al archivo original.
Tanto si incrustamos como si vinculamos, el objeto debe crearse en el formulario mediante el control llamado marco
de objeto. Podemo utilizar estas opciones para insertar una imagen de una persona como si fuese un campo más
de la base de datos. Existen dos tipos de marcos:
•
Marco de objeto independiente: para incluir objetos que no están almacenados en una tabla. Por ejemplo,
un logotipo.
•
Marco de objeto dependiente: para incluir gráficos y objetos OLE que están almacenados en la tabla
como un campo más. En el siguiente ejemplo vemos un marco de objeto dependiente en sus vistas de
formulario y de diseño pertenecientes a la base de datos de ejemplo que contiene Access (Neptuno).
A continuación te mostramos algunos consejos para saber cuando utilizar cada uno de los diferentes tipos de
marcos:
Tipo de marco
Tipo de enlace
Objeto independiente
Incrustación
Objeto independiente
Vinculación
Objeto dependiente
Incrustación
Objeto dependiente
Vinculación
Se usa...
Para añadir un objeto que forme parte
de un formulario, pero que no
dependa de ningún campo y que sea
independiente de su original. Por
ejemplo, un gráfico en un informe
Objeto que forma parte del formulario
pero no depende de ningún campo.
Por ejemplo, una hoja de cálculo que
se actualize cada vez que se
modifique el archivo original
Gráfico en campos de una tabla. Por
ejemplo, una imagen de una persona
que puedan modificarse y visualizarse
desde el formulario
Objetos en un campo de la tabla, pero
que se mantienen en archivos
separados.
23
Existen dos botones en el modo de vista de Diseño de formulario para crear este tipo de controles: Marco de objeto
dependiente y Marco de objeto independiente. Ambos botones están situados en las barras de herramientas.
En el siguiente ejemplo, tenemos una tabla en la parte izquierda con tres campos; Nombre (tipo Texto), Apellidos
(tipo Texto) y Foto (tipo OLE). En el modo de introducción de datos en tabla, en el campo Foto hemos insertado un
gráfico (Insertar - Objeto) que teníamos almacenado en formato BMP.
Posteriormente, en el modo de Diseño de formulario hemos incluído el campo como uno más. En la ilustración de la
derecha puede observarse que el gráfico izquierdo a modo de logotipo está creado con la opción Marco de objeto
independiente, sin embargo, el gráfico de la derecha corresponde al campo Foto de la tabla. En este caso,
aparecerá la foto de cada persona.
24
IX. COMPACTACION Y REPLICA DE UNA BASE DE DATOS
9.1 Compactar una base de datos
Si borras, modificas y crear tablas a menudo, la base de datos puede fragmentarse, lo que provoca un uso deficiente
del espacio en disco. Al compactar la base de datos, se hace una copia de la misma y se reorganiza el espacio que
ocupa en el disco. Es algo parecido a la acción del comando Defrag
Para compactar la base de datos actual:
I. Accede Herramientas - Utilidades de la base de datos - Compactar base de datos.
Para compactar una base de datos que no está abierta en Access
I. Cierra la base de datos actual.
II. Accede Herramientas - Utilidades de la base de datos - Compactar base de datos.
III. En el cuadro de diálogo Base de datos a compactar, especifica la base de datos que deseas compactar y haz
clic en Compactar.
IV. En el cuadro de diálogo Compactar la base de datos en, especifique el nombre, unidad y carpeta donde desea
almacenar la base de datos compactada.
V. Haz clic en Guardar.
Si utilizas el mismo nombre, unidad y directorio y si la base de datos se compacta con éxito, Access reemplazará el
archivo de origen por la versión compactada.
Importante:
Si eliminas registros del final de una tabla que contiene un campo Autonumérico, cuando compactes la base de
datos, Access te dará al próximo campo Autonumérico el valor del último contador sin borrar, más 1.
La compactación de una base de datos de Access de una versión previa no la convierte al formato de Access 97.
9.2 Crear una réplica de la base de datos
Vimos cómo se hacía una copia de una tabla para obtener un duplicado de seguridad. Ahora veamos cómo hacer
una copia de una base de datos completa. Imaginemos que no sólo queremos duplicarla para tener una copia de
seguridad, sino también para que otros usuarios la utilicen. Imaginemos que varios usuarios situados en distintos
lugares van a utilizar la base de datos. Podemos crear lo que se llama una Réplica de la base de datos y
posteriormente unir los datos introducidos desde todas las réplicas que se hagan.
Cada réplica es miembro de un conjunto de réplicas que se pueden sincronizar con otras réplicas del mismo grupo,
es decir, los cambios realizados en una réplica se aplican a las otras réplicas y al Diseño principal o base de datos
original.
Veamos cómo crear una réplica de nuestra base de datos:
I. Abre la base de datos ABETO (o de cualquier base de datos que tengas)
II. Accede a Herramientas – Réplica – Crear réplica. Aparecerá un
mensaje de aviso:
III. Contesta afirmativamente.
Se mostrará otro mensaje que nos avisa que la base de datos original se convertirá en el Diseño principal. Además
se indica el nombre con el que se guardará la réplica y la carpeta donde se almacenará ésta.
IV. Pulsa en Sí
25
V. Acepta el nombre que ofrece Access
Al aceptar, Access crea la réplica y nos muestra un mensaje que la única copia donde podremos modificar la
estructura original será la copia original de la base de datos. Sin embargo, los datos podremos editarlos en
cualquiera de las réplicas que hayamos realizado.
VI. Acepta el último cuadro de diálogo que ha aparecido.
Ahora fíjate que en los nombres de las tablas aparece un nuevo icono y en el título aparece la palabra Diseño
principal.
VII. Añade un nuevo cliente en la base de datos principal para probar la sincronización entre bases de datos.
VIII. Accede a Herramientas – Réplica – Sincronizar ahora
IX. Acepta el cuadro de diálogo que aparece.
Por último, Access avisa que no serán visibles los cambios hasta
que cerremos y abramos la tabla.
X. Acepta
XI. Abre la tabla Réplica de ABETO y observa los cambios.
Hay que señalar que en el proceso de sincronización de datos
entre réplicas primero se actualizan los cambios en el diseño y después en los datos. El intercambio entre dos
réplicas puede ser en los dos sentidos, es decir, de la principal a la réplica o viceversa.
Por último, después de sincronizar dos réplicas, es conveniente revisar la base de datos en busca de posibles
errores desde la opción Herramientas – Réplica – Resolver conflictos.
26
ANEXO I.
Ejercicio de repaso. Control de una clínica
Realizaremos un ejercicio general de repaso. Crearemos una base de datos que controlará una supuesta clínica.
Necesitaremos tres tablas para el control de los pacientes, ingresos en clínica y médicos. Relacionaremos las tablas,
crearemos consultas, formularios, y repasaremos conceptos.
La clínica "SAN PATRÁS" necesita llevar un control informatizado de su gestión de pacientes y médicos. Para ello
se crearán tres tablas con las siguientes características:
•
•
•
Tabla PACIENTES: llevará un control de los datos de los pacientes como el Nº de S.S., Nombre, Apellidos,
Nº de Historial, etc.
Tabla INGRESOS: llevará el control de la fecha del ingreso, número de planta, número de cama,
diagnóstico, etc.
Tabla MEDICOS: código del médico, Nombre, Apellidos, Especialidad, etc.
A continuación tienes las características de cada campo de las tablas:
TABLA PACIENTES:
Campo
N Seguridad Social
Nombre
Apellidos
Domicilio
Población
Provincia
Código Postal
Teléfono
Número de Historial
Sexo
Tipo
Texto
Texto
Texto
Texto
Texto
Texto
Texto
Texto
Texto
Texto
Largo
15
15
30
30
25
15
5
12
9
1
Otros
Campo Clave
Regla de validación: "H" o "M"
TABLA MEDICOS:
Campo
Codigo identificación
Nombre del Médico
Apellidos del Médico
Especialidad
Fecha de ingreso
Cargo
Número de Colegiado
Observaciones
Tipo
Texto
Texto
Texto
Texto
Fecha
Texto
Número
Memo
Largo
4
15
30
25
Otros
Campo Clave
Máscara fecha corta
25
27
TABLA INGRESOS:
Campo
Número de Ingreso
Número de Historial
Fecha de Ingreso
Código de Identificación
Número de planta
Número de cama
Alérgico
Observaciones
Coste del tratamiento
Diagnóstico
Tipo
Autonumérico
Texto
Fecha
Texto
Número
Número
Sí/No
Memo
Número
Texto
Largo
Otros
Campo Clave
9
Máscara fecha corta
4
Formato Moneda
40
Este será el aspecto que tendrán las relaciones de las tablas:
Hemos creado una relación de Uno a Varios del campo Número de Historial de las tablas Pacientes e Ingresos.
Esto significa que primero debemos introducir los datos del paciente y luego los de la tabla de Ingresos. La relación
uno a varios nos permitirá introducir varios ingresos para un mismo paciente, pero siempre que primero el paciente
esté dado de alta en la tabla Pacientes. Asímismo, hemos definido como campo clave de la tabla Pacientes el
campo Número de Historial porque serán datos únicos que no se repetirán en la misma tabla. Como campo clave de
la tabla Ingresos no hemos escogido el mismo campo Número de Historial, sino el campo Número de Ingreso, ya
que cada número de ingreso será único. Además, no nos permitiría introducir más de un Número de Historial en
Ingresos ni establecer la relación.
Como campo clave de la tabla Médicos hemos escogido el campo Código de identificación y hemos establecido
una relación de uno a varios con el mismo campo de la tabla Ingresos. Esto significa que primero hemos de
introducir los datos del médico, y posteriormente, en la tabla Ingresos asignarle el ingreso de un paciente a un
médico determinado.
Resumiendo: primero introduciremos los datos de los médicos y de los pacientes. Posteriormente, cuando se
produzca un ingreso, asignaremos un número de ingreso (único) a un paciente (Número de Historial) y le
asignaremos un médico (Código de Identificación). En la tabla Ingresos podremos introducir varios pacientes, y
asignárselo a uno de los médicos de la tabla Médicos.
Veamos una parte de la tabla Pacientes con sus datos:
N Seguridad Social
Nombre
Apellidos
Domicilio
Población
08/7888888
José Eduardo
Romerales Pinto
C/ Azorín, 34 3º
Móstoles
08/7234823
Ángel
Ruíz Picasso
C/ Salmerón, 212
Madrid
Provincia
Código Postal
Teléfono
Número de Historial Sexo
Madrid
28935
91-345-87-45
10203-F
H
Madrid
28028
91-565-34-33
11454-L
H
28
Veamos una parte de los datos de la tabla Médicos:
Código de Ident.
Nombre del Médico
Apellidos del Médico Especialidad
Fecha de Ingreso
AJH
Antonio
Jaén Hernández
Pediatría
12-08-90
CEM
Carmen
Esterill Manrique
Psiquiatría
13-02-92
Cargo
Número de Colegiado
Observaciones
Adjunto
2113
Está próxima su retirada
Jefe de sección
1231
Veamos finalmente una parte de los datos de la tabla Ingresos:
Número de Ingreso
Número de Hist.
Fecha de Ingreso
Código de Identi.
Número de planta
1
76327-H
23/01/94
SVT
5
2
1212-A
24-02794
CSM
1
Número de cama
Alérgico
Observaciones
121
No
23/01/94
5
Sí
Alérgico a la penicilina
Una vez los datos introducidos, vamos a realizar varias consultas a la base de datos. Daremos una serie de
supuestos y la solución de cómo se diseña la consulta.
Consultas a la Base de Datos
A continuación mostraremos unos supuestos de consultas y su solución.
1) Necesitamos un listado de los nombres de los médicos y su especialidad.
I. Ir a la pestaña Consultas - Nuevo - Vista Diseño y agregar la tabla Médicos
II.Visualizaremos su contenido con el botón Vista previa para asegurarnos de que funciona correctamente y
cerraremos la Consulta grabándola.
2) Qeremos saber los el Nombre y Apellidos de los pacientes que ingresaron
entre Enero y Marzo del 94 y que son alérgicos.
3) Queremos saber los Nombres y Apellidos de los pacientes que viven en
Getafe o Alcorcón.
29
Introducir un nuevo campo
Ahora debemos introducir un nuevo campo en la tabla INGRESOS llamado Fecha de Alta que controlará la fecha en
la que el paciente es dado de alta de la clínica. Para ello:
I. Accede a la pestaña de Tablas, selecciona la tabla INGRESOS y pulsa en el botón Diseño.
II. Pulsa un click a la izquierda del campo Código de Identificación. Su fila deberá quedar resaltada en su totalidad.
III. Abre el menú Insertar y escoge la opción Filas.
IV. Pulsa un click en la casilla del campo y escribe: Fecha de Alta
V. Dota al campo del formato Fecha corta a través de la máscara
VI. Cierra la tabla (guardándola)
VII. Ahora deberás abrir la tabla para introducir los nuevos datos. El nuevo campo está al lado del campo Fecha de
Ingreso. Debes introducir fechas. Inventate las fechas. Puedes introducir fechas posteriores a la de Ingresos en unos
cuantos días.
Introducción de dos campos nuevos
Ahora daremos de alta dos campos nuevos que posteriormente haremos servir para realizar cálculos automáticos.
Los campos serán: Días de Ingreso, que controlará automáticamente los días que el paciente ha estado ingresado
a través de una sencilla operación matemática entre dos fechas, y el campo Coste Total del Tratamiento, que
multiplicará el Coste del Tratamiento por los días que ha estado ingresado, dando como resultado el coste total.
I. Inserta dos campos nuevos: Días de Ingreso será del tipo numérico, y Coste total del
tratamiento será también del tipo numérico pero con formato Moneda
Consulta de actualización de campos
Seguidamente crearemos una nueva consulta, pero esta vez no será una consulta para ver por pantalla, sino que
será una consulta que cuando se ponga en marcha, cambiará los datos de la tabla. Este tipo de consultas reciben el
nombre de Consultas de actualización. Debemos tener cuidado con este tipo de consultas, pues al ejecutarlas ya
hemos dicho que modificará los datos de alguna tabla.
I. Crea una nueva consulta en modo Vista diseño utilizando la tabla Ingresos.
II. Carga el campo Días de Ingreso
III. Abre la lista (botón desplegable) Tipo de consulta situado en la barra superior de herramientas, y escoge la lo
opción Consulta de actualización.
IV. Pulsa un click en la casilla Actualizar a: y escribe la siguiente fórmula: [Fecha de Alta]-[Fecha de Ingreso]
Con esto lo que hacemos es una resta de dos fechas. Observa que encerramos los campo entre corchetes.
I. Cierra la consulta grabándola y ejecutala. Access nos avisa que se va a ejecutar una consulta de actualización de
datos. Acepta. Posteriormente, nos avisa por segunda vez de que se actualizarán varias filas. Vuelve a aceptar.
II. Accede a la pestaña de las tablas y verifica abriendo la tabla Ingresos que el campo Días de Ingreso se ha
actualizado automáticamente.
Actualización del coste total del tratamiento
Ahora actualizaremos de forma similar el campo Coste total del tratamiento multiplicando los campos Días de
Ingreso y Coste del tratamiento. Podríamos crear una nueva consulta de actualización como hemos hecho
anteriormente, pero aprovecharemos la que tenemos creada para añadir la nueva fórmula:
I. Edita con el botón Diseño la consulta anterior y añade el siguiente
campo con la siguiente fórmula:
II. Cierra guardando la consulta y ábrela para verficar su funcionamiento.
30
Consulta de agrupación
La clínica quiere saber el número de pacientes que existen por población. Crearemos una consulta que nos muestre
las poblaciones y que cuente el número de pacientes de cada una.
I. Crea una nueva consulta de la tabla Pacientes y carga los campos Nombre, Apellidos y Población
II. Pulsa en el botón Totales situado en la barra superior de herramientas
Observa que en la cuadrícula de los campos cargados ha aparecido una nueva fila llamada Total.
III. Carga en la cuarta fila otra vez el campo Población y abre la lista desplegable de la fila Total seleccionando la
opción Cuenta tal y como aparece en la ilustración:
IV. Visualiza como queda. Deberías ver una columna llamada CuentaDePoblación donde se observa el número
de habitantes por población de la base de datos.
31
ANEXO II.
Repaso de Tablas, Relaciones y Formularios
Una de las ventajas de los formularios es que podemos utilizar campos de las tablas creadas de forma más cómoda
a través de los controles (botones, listas desplegables, etc) de la caja de herramientas de un formulario en modo
diseño. Vamos a crear dos pequeñas tablas. Imaginemos una escuela que gestionará los cursos de los alumnos.
Obviamente, y por problemas de espacio y tiempo, hemos omitido gran cantidad de campos que se podrían utilizar.
El objetivo de este ejercicio es tan sólo observar las posibilidades de repartir el número de campos de forma que
puedan aprovecharse para posteriores acciones que simplificarán la gestión de la base de datos. Hemos creado tres
tablas. La primera contiene datos del alumno, la segunda del curso y la tercera servirá para controlar el curso que
está realizando dicho alumno. Observa el diseño y características de los campos.
La tercera tabla servirá como nexo de unión de las dos anteriores. Repetimos los campos Código alumno y Código
curso. Observa el tipo de relación que hemos creado. Un alumno puede hacer varios cursos:
A continuación crearemos un formulario que nos permita introducir unos cuantos registros para las dos primeras
tablas. Para el primer formulario hemos optado por el asistente eligiendo el tipo Autoformulario: columnas. Igual
hemos hecho para el segundo formulario de la tabla Cursos.
Para la creación del formulario Nuevo curso sigue los pasos:
I. Desde la ficha Formularios elige crear uno nuevo
II. Elige el tipo Asistente para formularios y la tabla de la lista Nuevo curso. Acepta
III. Carga con el botón de la doble flecha todos los campos a la casilla derecha.
IV. Acepta el resto de las pantallas del asistente, avanzando hasta el final del mismo.
El formulario que se ha creado, podría servir perfectamente para controlar los nuevos cursos. En la introducción de
un nuevo curso, podemos escribir el número de alumno y el número de curso. Al haber una relación Uno a Varios,
Access nos obligará a introducir códigos de alumno y códigos de cursos que previamente existan en las otras dos
tablas. Al introducir los datos de los campos, se modificará el contenido de la tabla Nuevo curso con el contenido de
los campos del formulario. No olvidemos que hemos utilizado exactamente todos los campos de la tabla Nuevo
curso.
32
Vamos a ver ahora cómo podemos variar la creación de formularios para obtener el mismo resultado. Crearemos un
formulario-subformulario para ver cuanta gente está haciendo un curso.
I. Crea un nuevo formulario de la tabla Cursos y del tipo Asistente para formularios
II. Carga todos los campos de la tabla Cursos, elige de la lista superior la tabla Alumnos y carga también todos los
campos.
III. En el paso siguiente, podemos elegir entre ver la información por cursos (qué alumnos están haciendo un curso)
o por alumnos (qué cursos está haciendo un alumno). Elegiremos por Cursos y pulsaremos siguiente.
IV. Sigue avanzando por el asistente hasta el último paso donde daremos al formulario el nombre Alumnos por
curso
Observa el resultado. Si has introducido varios cursos y alumnos, verás que el curso que muestra el formulario, se
corresponde con los alumnos del sub-formulario. Si no se ven todos los datos, puedes acceder al modo diseño y
"estirar" los campos.
Utilizar listas desplegables
Uno de los controles que nos puede ahorrar trabajo y que además
sirve para visualizar varios campos de una tabla en un formulario,
son las listas desplegables. Estos controles se crean en modo
diseño de un formulario. Se pueden crear con el asistente o sin él.
Supongamos que una de las tablas de una base de datos es la
siguiente:
I. Crea una tabla como la del ejemplo, e introduce 4 ó 5 registros de ejemplo.
II. Accede a la pestaña Formularios y crea uno nuevo de esta tabla y del tipo Asistente para formularios
III. Carga todos los campos y continúa hasta el final del asistente.
IV. Una vez a la vista, accede al modo Diseño del formulario.
V. Estira la zona de trabajo de forma que quepan más campos y haya más sitio para actuar.
VI. Selecciona los campos Código usuario, Nombre y Apellidos y bórralos (siiiii has oído bieeeeen).
VII. Pulsa en el botón Cuadro combinado asegurándote de que la varita mágica del asistente está activada.
VIII. Dibuja un pequeño rectángulo (no te preocupes del tamaño, luego se puede ajustar)
IX. En el primer paso del asistente, elige la opción Buscar un registro en el formulario... y pulsa en Siguiente.
X. La tabla donde buscaremos los datos será Usuarios. Pulsa en Siguiente.
XI. Carga los campos Código usuario, Nombre y Apellidos y pulsa en Siguiente.
XII. Asegúrate de que la casilla Ocultar la columna clave está activada.
XIII. Siguiente y elegir la opción Almacenar este valor en el campo (Código
usuario).
XIV. Pulsa en Siguiente y colócale como etiqueta: Alumnos. Pulsa finalmente en Terminar.
XV. Ahora sólo es cuestión de arreglar la etiqueta y el contenido, alinearlos,
etc.
XVI. Accede al modo Vista y observa el resultado: cuando seleccionas un
alumno, cambian y se visualizan los campos Curso y Nota.
Esto ocurre porque el campo elegido al crear la lista desplegable es un campo
clave.
33
ANEXO III
Access y Visual Basic
Conceptos básicos de Visual Basic en Access
Como hemos visto en ateriores lecciones, es posible personalizar operaciones en Access de forma que nos agilice el
trabajo. Sobre todo, esta circunstancia se da en los formularios a través de listas desplegables, casillas de
verificación, etc. No obstante, es posible llegar a personalizar aún más los controles del formulario de forma que
respondan a una acción determinada de una forma u otra. Todo esto podemos conseguirlo "programando" algunos
controles a nuestro gusto y necesidad. Aunque este pequeño tutorial no pretende dominar el lenguaje Visual Basic,
sí que os daremos algunos consejos y trucos para agilizar vuestro trabajo con los formularios. Antes que nada,
veamos algunas definiciones básicas:
•
Programa: secuencia de instrucciones que se ejecutan en un orden lógico y que realizan acciones.
•
Código de programa: lenguaje basado en instrucciones que nos servirá para comunicarnos con el
ordenador y escribir las órdenes que formarán el programa.
•
Módulo: conjunto de órdenes utilizando el lenguaje de programación Visual Basic.
•
Procedimiento: parte de un programa que realiza una función determinada.
•
Evento: acción que podemos realizar sobre algún objeto del programa (botón, casilla, cuadro de texto...)
•
Objeto: cualquier unidad visual que forme parte de un programa (botón, casilla...)
Imaginemos un botón de un formulario que al pulsarlo, se realiza una acción determinada. Nosotros debemos
programar el comportamiento del botón escribiendo el código del programa. Ésta parte del programa es un
procedimiento. El botón es un objeto. Al pulsar click, se genera un evento (abre un formulario, añade un registro...)
Para nuestro ejemplo, utilizaremos una sencilla base de datos formada por dos tablas: clientes y comerciales, con
una relación de uno a varios por el campo IdComercial, es decir, que un mismo comercial puede tener asignados
varios clientes. Abre la base de datos y observa las tablas, relaciones y formularios que hemos creado. Desde el
formulario Comerciales damos de alta nuevos comerciales asignándoles a cada uno un código. En la tabla Clientes
hemos cargado también los campos de la tabla Comerciales, de forma que cuando demos de alta un cliente, le
asginaremos un código de comercial y automáticamente aparecerán los datos de éste último en los campos situados
a la derecha.
I. Añade un botón de comando con el asistente, que realice la acción de agregar un nuevo registro.
II. Accede a sus propiedades pulsando doble click sobre él.
III. Accede a su pestaña superior Eventos
IV. Sitúa el cursor en el campo de la propiedad Al hacer clickAy pulsa en el botón
Generador (puntos suspensivos) situado a su derecha.
Observa el código del programa que aparece. Al crear el botón y asignarle la
acción de agregar un nuevo registro, Access ha creado automáticamente el código
en Visual Basic que hará que se ejecute la acción mencionada.
Este es el código que se ejecuta en lenguaje VB cada vez que
pulsamos el botón recién creado. Si no has programado nunca,
la primera sensación que tendrás al ver el código es que te
sonará a "chino". De momento no te preocupes demasiado.
Veamos las partes del procedimiento, y observa sobre todo las
partes del mismo, comentadas en una línea de texto a su
izquierda:
34
Por si has pensado en pedir hora con el psiquiatra, vamos a explicar un poco lo que hace el código: al pulsar click,
se genera el procedimiento agregar_registro_Click(). Este nombre viene del nombre que le dimos al botón en el
momento de crearlo. Quizá tú tengas otro nombre. Ten cuidado con este detalle. A continuación comienza la rutina
del programa con la orden Private_Sub. La acción que realiza, la observamos en DoCmd.GoToRecord , ,
acNewRec. La orden DoCmd viene del inglés Do Command, o ejecutar comando, y se utiliza a menudo en Access
para realizar acciones. La acción en sí, será GoToRecord, es decir, Access se desplazará a un registro concreto,
pero, ¿cual?. La orden acNewRec es la orden para añadir un nuevo registro. Access añade código extra. Es un
código auxiliar que permite gestionar posibles errores.
Cambio del foco del cursor
Si pruebas el botón recién creado, observarás que al añadir un nuevo registro, el foco continúa en el mismo registro.
Para comenzar a introducir datos, el usuario debería pulsar un click en el interior del primer campo, o del campo que
nos interese. Veamos como modificar el programa para que el cursor se sitúe en el campo deseado:
I. Accede al código del programa y añade la siguiente línea:
DoCmd.GoToRecord , , acNewRec
IdCliente.SetFocus
IdCliente_ se refiere al nombre del campo. Seguramente al teclear Set te habrá aparecido un pequeño menú rápido
para seleccionar la orden deseada.
II. Comprueba el funcionamiento del formulario y añade un nuevo registro. El cursor debería situarse en el campo
IdCliente.
Protección de un campo
Podríamos proteger el contenido de un campo ante cualquier metedura de pata colocando la propiedad Permitir
ediciones en No, pero entonces no podríamos introducir ni modificar datos.
I. Accede a las propiedades del formulario y cambia la propiedad Permitir
ediciones en no.
II. Desactiva el asistente para creación de controles (varita mágica) y crea un
nuevo botón:
III. Accede a las propiedades del nuevo botón y al generador de código. Escribe la siguiente línea de código:
Private Sub Comando45_Click()
Me.AllowEdits = True
IdCliente_.SetFocus
End Sub
Cuidado con el nombre del botón que acabas de crear. En nuestro ejemplo se llama Comando45 porque no le
hemos puesto ningún nombre. La propiedad AllowEdits (permitir ediciones), coloca en Verdadero esa propiedad
del formulario, es decir, que temporalmente volvemos a tener el formulario listo para editar sus campos. Con el fin de
que el foco vuelva al primer control del formulario, repetimos la línea de la posición del foco en el primer campo. Si
ahora intentas cambiar algún dato, Access no lo permitirá. Pero si pinchas en el nuevo botón, Access pasará al
modo Permitir ediciones Sí del campo en cuestión.
IV. Crea un tercer botón (éste con al asistente activado)...
V. Y asígnale el siguiente código:
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
MeAllowEdits = False
MsgBox "El registro se ha guardado"
35
Con esto lo que pretendemos es que al pinchar en el botón, la propiedad Permitir edición vuelva a estar en No, y
que, además, Access nos avise con un mensaje. La orden MsgBox hace que aparezca un cuadro con un mensaje
personalizado. Pruébalo todo (os prometo que funciona).
36
ANEXO IV.
Introducción al lenguaje SQL
SQL es un lenguaje de Consulta Estructurado que se usa para consultar y actualizar bases de datos relacionales.
Vamos a ver el aspecto general de este lenguaje y nos servirá para familiarizarnos con el mismo.
Cuando creamos una consulta de datos, Access permite mostrarnos esa consulta de tres formas:
•
•
•
Vista: Permite ver el resultado de la consulta
Diseño: Es la vista que ya conocemos para construir la consulta.
SQL: Vista en formato de instrucciones SQL
I. Abre cualquier consulta en modo diseño
II. Abre el botón vista y elige Vista SQL.
Las palabras en mayúsculas corresponden a instrucciones SQL.
III. Cierra la ventana de la consulta y accede en el modo vista SQL a otras consultas que tengas grabadas de forma
que puedas ver su estructura.
Ya que el aprendizaje de SQL requiere un estudio en profundidad que escapa a los propósitos de este curso, sólo se
pretende que conozcas las acciones de las principales instrucciones SQL:
•
CREATE TABLE: crea una nueva tabla. Debe ir seguida del nombre de tabla y de los campos a crear. Se
puede especificar opcionalmente el tipo de campo y un índice de campo.
•
INSERT INTO insertar registros con sus correspondientes valores en una tabla.
•
UPDATE: actualiza los valores de los campos de la tabla.
•
FROM: tras esta instrucción debemos indicar la tabla a partir de la cual se extraerán los datos.
Esta instrucción tiene varias cláusulas, las más importantes son:
•
WHERE: determina qué registros de las tablas de FROM aparecerán en los resultados de la instrucción
SELECT
•
ORDER BY: ordena los datos mostrados en el orden especificado
•
DELETE FROM: elimina los registros de una tabla.
•
SELECT.... FROM: realiza consultas sobre tablas.
Contraseñas en la base de datos
Los datos que tenemos en una base de datos puede llegar a ser muy valiosa. De hecho, cualquier accidente o
pérdida de datos, aparte de llegar a suponer una pérdida económica considerable, puede llegar a "cabrearnos"
bastante después de tantas horas de trabajo.
La pérdida de la información puede prevenirse de varias formas:
•
•
•
Realiza copias de seguridad de los archivos MDB con frecuencia.
Haz copias de las tablas. A veces, una consulta de actualización puede desembocar en resultados
catastróficos.
Crea réplicas si es necesario.
37
•
Protege con contraseñas la base de datos.
Nunca te fíes de un ordenador. Es una máquina, y como tal, falla. El día menos pensado te quedas sin un fichero, se
introduce un virus, borras accidentalmente información o cualquier otra situación similar y es cuando nos acordamos
de porqué no hemos hecho una copia en disquete de nuestros archivos.
Access dispone de dos sistemas para asegurar la información de una base de datos:
•
Contraseña: el acceso a la base de datos por completo está restringido por contraseña. Hay que tener en
cuenta que, aunque la contraseña está encriptada para que no pueda leerse mientras se escribe, una vez
abierta podemos acceder a todos los objetos, incluso anular o cambiar la contraseña.
•
Seguridad a nivel de usuario: se limita el acceso para cada usuario. Éste tendrá acceso sólo a
determinadas partes de la base de datos.
I. Cierra cualquier base de datos que tengas abierta.
II. Accede a Archivo - Abrir para abrir una base de datos.
III. Selecciona cualquier base de datos que tengas y activa el botón Exclusivo
IV. Ábrela
Hemos utilizado la opción Exclusivo porque si estamos trabajando en red, ningún otro usuario podrá acceder a la
base de datos.
V. Accede a Herramientas - Seguridad - Establecer contraseña para la base de datos.
VI. Escribe en las dos casillas la misma contraseña. Una cualquiera y acepta.
Si no hubiésemos abierto la base de datos en modo Exclusivo, Access nos hubiese mostrado un mensaje indicando
que debemos abrirla en este modo, y nos impediría asignar una contraseña.
VII. Cierra la base de datos.
VIII. Vuelve a abrirla. (Access pregunta por la contraseña:)
Si no la introducimos correctamente, no podremos acceder a la base de datos.
IX. Prueba a introducir cualquier carácter que no coincida con la contraseña asignada.
X. Prueba a introducir la contraseña correcta.
Para eliminar la contraseña bastará con acceder a la opción Herramientas - Seguridad - Anular contraseña
establecida para la base de datos1
Acceso por usuarios a la base datos
Cuando se trabaja en red, cualquier usuario que conozca una contraseña podrá igualmente acceder a todas las
opciones de la base de datos así como modificar o borrar datos.
En red, lo más apropiado es restringir el acceso de forma específica indicando qué usuarios pueden acceder a
determinadas partes del programa.
I. Accede a Herramientas - Seguridad - Cuentas de usuario y de grupo
Si has trabajado en red, sobre todo con Windows NT, el cuadro de diálogo te resultará familiar. Aunque en esta parte
no podemos realizar prácticas, echaremos no obstante un vistazo a las principales opciones:
•
Un permiso especifica el tipo de acceso que tiene un usuario.
•
Un grupo de trabajo es un grupo de usuarios que comparten datos en un entorno multiusuario en red.
•
Administradores son aquellos que tienen permisos completos a todas las bases de datos. Estos, se crean
desde Windows NT y el servidor central y se les asigna la tares de administradores.
38
•
Usuarios son el conjunto de usuarios de un grupo de trabajo, a los cuales se les otorga una serie de
permisos para el acceso a según qué partes del programa.
II. Cancela el cuadro y accede a Herramientas - Seguridad - Permisos de usuario y grupo
En Lista podemos elegir entre Grupos o Usuarios para establecer los permisos. En la parte inferior, en el cuadro
Permisos, podemos activar o desactivar las casillas para establecer los permisos para leer, modificar, etc.
Por ejemplo, para permitir leer la información de dos de las tablas, pero no actualizarla, borrarla, ni modificar su
diseño, seleccionaremos primero las tablas en la lista Nombre del objeto y después activaremos sólo la opción Leer
datos.
III. Cancela el cuadro.
Podemos proteger también la base de datos con la opción Heramientas - Seguridad - Codificar o descodificar base
de datos. Esta opción hará una copia de la base de datos en información indescifrable.
Crear archivos MDE
También podemos proteger la base de datos contra cambios en el diseño del formulario, informes y
módulos haciendo una copia de la base de datos en formato MDE. Para ello:
I. Accede a Herramientas - Utilidades de la base de datos - Crear archivo MDE.
II. Elige una carpeta y acepta el nombre que propone Access.
III. Cierra la base de datos.
IV. Pulsa en Abrir.
V. Abre la lista desplegable Tipo de archivo y elige Archivos MDE
VI. Abre la base de datos que hemos creado en formato MDE.
VI. Intenta acceder al modo Diseño de cualquier formulario.
Access e Internet
Mediante Access podemos insertar en nuestras bases de datos hipervínculos que funcionen en Internet. De esta
forma, el usuario no solo comparte datos con otros usuarios de la red local, sino con un público mucho mayor (todo
el mundo) a través de la World Wide Web.
Para compartir bases de datos con otros usuarios, Access incorpora dos herramientas:
•
•
El asistente para páginas Web, utilizado para crear documentos Web.
Posibilidad de guardar documentos de bases de datos en formato HTML, transformando el documento en
una página Web que pueda ser visualizada y consultada en Internet desde cualquier parte del mundo.
Incluir Hipervínculos
Un hipervínculo es un elemento (texto, imagen) que tiene la facultad de responder ante un click del usuario y
acceder a otra zona del mismo documento, un documento distinto o bien una dirección Web.
I. Abre una tabla cualquiera.
II. Añade el campo: Dirección Web del tipo Hipervínculo
III. Cierra el diseño de la tabla guardando los cambios.
IV. Accede a Abrir
V. Sitúa el cursor en el nuevo campo y pulsa el botón Insertar hipervínculo situado en
la barra de herramientas.
VI. Introduce una dirección Web de muestra:
VII. Acepta.
39
Observa el contenido del campo. Se trata de un enlace a una dirección Web. Si en estos momentos estuviésemos
conectados a Internet, se ejecutaría el navegador por defecto y entraríamos en la página Web indicada. Disponemos
también de una barra de navegación al estilo de Internet Explorer.
Importar y exportar en HTML
El formato HTML es con el que se crean las páginas Web que vemos en Internet. Está formado por comandos que
son reconocidos por navegadores como Internet Explorer o Netscape Navigator.
Access permite crear un documento y prepararlo para su publicación en Internet.
I. Accede a Archivo - Guardar como o exportar
En el cuadro de diálogo debemos seleccionar los objetos que queramos exportar. Tras aceptar, aparecerá un cuadro
de diálogo desde donde seleccionaremos el formato HTML.
Para exportar un objeto (tabla, consulta, etc) en formato HMTL, debemos seleccionar la carpeta donde queramos
guardar el archivo. Si lo que queremos es indicarle una dirección FTP para envío de ficheros, debemos desplegar la
lista Guardar en y seleccionar Agregar o modificar ubicac. Aparecerá un cuadro de diálogo. El FTP permite
transferir archivos de una ubicación a otra dentro de Internet. Normalmente se utiliza para envíos de ficheros de
nuestra página a nuestro servidor. Para importar datos en formato HTNL debemos acceder a Archivo - Obtener
datos externos - Importar y elegir en Tipo de archivo los Documentos HTML.
40
Descargar