Mostrando entradas con la etiqueta Access. Mostrar todas las entradas
Mostrando entradas con la etiqueta Access. Mostrar todas las entradas

viernes, 6 de noviembre de 2009

Relaciones en Access: Uno a uno

Dado el desarrollo del tema dejamos para otra entrada la relación varios a varios. Aqui vamos a tratar de explicar un poco en que consiste la relacion uno a uno entre dos tablas. La relación, más común, uno a varios la vimos en una entrada anterior.

La relación de uno a uno es la relación menos común de todas. Es dificil encontrar este tipo de relación. Debido a que es escasa su presencia, creo que esta entrada pretende aclarar un poco en que consiste y como se construye.

Esta relación indica una relación en la que un registro de una tabla solo puede estar relacionado con un solo registro de la tabla en el otro lado de la relación y viceversa.

Esta relación puede servir para representar, por ejemplo, cierta actividad que realizan determinados trabajadores de una empresa.

Realmente este tipo de relación se tiende a evitar introduciendo los datos de una tabla en la otra.


Vamos a ver ahora como se construye en Access una relación de uno a uno. Para ello en primer lugar creamos dos tablas: aulas y cañones. Con ellas se pretende representar la realidad de un centro educativo. En cada aula existe un cañon. La clave principal de la tabla Aulas es IdAula. La clave principal de la tabla Cañones es IdCañon.

Para construir esta relación vamos a la ventana relaciones. Se abre pinchando en el botón Relaciones . Si ambas tablas no están las incorporamos desde la ventana Mostrar tabla.
Arrastramos la clave principal Idaula al campo IdCañon. En ese momento se abre la ventana Modificar relaciones que es como la que se ve en la siguiente figura. En la misma marcamos la opción Exigir integridad referencial. No es necesario marcar las opciones de actualizar y eliminar puesto que los campos que intervienen en la nueva relación son clave principal de sus respectivas tablas.


Al relacionar de esta forma ambas tablas, la ventana de la relacion recién creada muestra nos dice que tipo de relación es, lo podemos observar en la parte final de la misma.
A contnuación pulsamos en el botón aceptar, la ventana se cierra y se muestra la nueva relación en la ventana Relaciones tal como vemos en la siguiente imagen:

Los unos en negrita que aparecen nos indican como están relacionadas ambas tablas. Ahora podremos saber en que aula está cada cañon.
Resumiendo, podemos decir que este tipo de relación es la menos habitual. Por eso es interesante mostrar como se construye este tipo de relación. Entre dos tablas que tienen este tipo de relación un registro o fila de una de ellas está relacionado con un solo registro o fila de la tabla. En el otro sentido ocurre exactamente lo mismo.

martes, 20 de octubre de 2009

Como dar color a un campo en una tabla de Access

Para mejorar la presentación de una tabla, podemos cambiar su aspecto a través del menú formato. Podemos modificar las propiedades del fondo, del color o de las líneas que establecen la división entre las distintas celdas que componen la tabla. No importa donde tengamos el cursor, la propiedad que se aplique afecta a toda la tabla.

Puede ocurrir, en un momento dado, que nos interese que solo un campo adquiera el color que nos interesa, pero que no afecte a los demás campos. La siguiente imagen nos muestra lo que pretendemos lograr:


En esta entrada pretendemos mostrar como lograr esto. El campo NombreProducto está en azul. Vamos a ver como lograr este efecto.
En primer lugar vamos a la vista diseño de la tabla Productos. En la mitad superior seleccionamos el campo sobre el que deseamos cambiar el color. A continuación vamos a la mitad inferior y nos posicionamos en la propidedad formato. Para establecer el color se abren corchetes y se escribe el color. Se cierra el corchete quedando el nombre del color dentro. Solo nos queda asociar el color a las mayúsculas o minúsculas. En este caso optamos para el contenido del campo NombreProducto aparezca en mayúsculas. Por tanto, ponemos el símbolo > antes del primer corchete como se ve en la imagen:




Guardamos estos cambios y pinchamos en el botón vista Hoja de datos. El resultado es:

Si quisiéramos que el primer carácter de los datos de NombreProducto esté en mayúsculas y el resto de caracteres estén en minúsculas la propiedad de formato deberá ser así:

El resultado que producirá será la primera imagen de esta entrada. Si ponemos solo el color entre corchetes no producirá ningún efecto sobre el campo:

Recordamos que el color aplicado debe acompañarse siempre sobre poner el campo en mayúsculas o minúsculas.

miércoles, 7 de octubre de 2009

Concepto de base de datos

En la sociedad que vivimos la información juega un papel primordial. Resulta interesante que dicha información esté ordenada, disponible.

Normalmente las empresas gestionan gran cantidad de información. Para una correcta utilización de sus recursos, hay que obtener y gestionar sus datos rápida y eficientemente. En estos tiempos, hacerlo a mano, resulta claramente ineficiente y pueden cometerse errores con cierta frecuencia debido a la gran cantidad de datos que nos puede tocar procesar.

Ese volumen de datos los podemos gestionar con un software adecuado, que permita añadir, eliminar o modificar la información guardada. La gestión de datos es llevada a cabo de lo que denominamos Sistema de Gestión de Base de Datos, también conocido por sus iniciales, SGBD.

Dicho gestor hace de base de datos (contiene los datos), y además es el programa o software que nos gestionará los datos de la base de forma adecuada.

El SGBD más conocido y utilizado es Microsoft Access.

Características de Access:

  • Es relacional
  • Es persistente
  • Es estructurado
Cuando se dice que es relacional, estamos diciendo que los datos se distribuyen en tablas, y que éstas están relacionadas. La persistencia nos habla de que los datos se almacenan en archivos y por tanto, los tenemos perfectamente guardados. Al ser un sistema gestor relacional nos indica que los datos se almacenan en distintas tablas relacionadas, y en éstas, los datos se distribuyen en distintos registros. La información está estructurada.

Podemos recordar que una base de datos relacional trata de representar una realidad determinada. Los datos almacenados se distribuyen en distintas tablas, y para obtener la información que nos interesa de esa base de datos se usa el sistema gestor, Access.

sábado, 29 de agosto de 2009

Relacionar tablas en Access (II)

En este post se pretende aclarar un poco más la relación de uno a varios explicado en una entrada anterior.


En dicha entrada comentábamos que un registro de la tabla Proveedores puede estar relacionado con varios registros de la tabla productos pero un registro de la tabla productos solo puede estar relacionado con un registro de la tabla proveedores.


Visualmente se observa en la siguiente imagen:


Como se observa, el proveedor Frutas del Norte (Idproveedor = 1) hasta ahora, ha suministrado 3 productos distintos. Lo podemos observar en las tablas por el campo Idproveedor. En productos, tenemos el campo Idproveedor que nos dice que proveedor, ya introducido en la tabla proveedores, suministra ese producto. Y de la misma forma con el resto de productos. El segundo proveedor los siguientes 3 productos y el proveedor cuyo id es 3 suministra los 3 últimos productos (ver imagen anterior).



Una vez establecida la relación entre las dos tablas, lo que no se podrá hacer es introducir un idproveedor en la tabla productos que no exista previamente en la tabla productos. La razón es que en la relación la tabla proveedores es el lado de uno y la de productos es la de el lado de varios.

viernes, 21 de agosto de 2009

Como relacionar tablas en Access (I)

Access es un tipo de bases de datos relacional. Esto significa que los datos se guardan en distintas tablas, y las mismas están relacionadas entre si. Existen varios tipos de relaciones entre las tablas. En este post nos vamos a centrar en el tipo de relación más habitual, de uno a varios. Además vamos a ver como se construye, que significa y que nos va permitir trabajar con varias tablas a la hora de elaborar consultas o formularios.

Existen básicamente tres tipos de relaciones entre tablas:
  • De uno a uno
  • De uno a varios
  • De varios a varios
En Access los datos se almacenan en distintas tablas. Para tener bien diseñada la base de datos debemos relacionar adecuadamente las distintas tablas que componen la base de datos.

La relación de uno a varios es la más común de las relaciones, supone el 90% de todas las relaciones que se hacen. Nos va a permitir relacionar dos tablas.

En este tipo de relación, un registro de una tabla puede estar relacionada con varios registros de otra tabla.

En cambio, un registro de la segunda tabla solo puede estar relacionado con un registro de la primera tabla. La mejor forma de entender esto mostrando un ejemplo.

Tenemos una base de datos a la que he llamado Datos. Contiene dos tablas: Proveedores y Productos. Suponemos que cada proveedor puede suministrar varios productos y que cada producto solo puede tener origen en un solo proveedor.

Eso significa que cada proveedor puede estar relacionado con varios productos. Dicho de otro modo, un registro (o fila) de la tabla Proveedores puede estar relacionado con varios registros de la tabla Productos.

Así mismo, por el otro lado, un producto solo puede estar relacionado con un proveedor, es decir, un registro de la tabla Productos solo puede estar relacionado con un registro de la tabla Proveedores.

Por tanto, la tabla Proveedores tiene una relación de uno a varios con la tabla Productos. En la relación, el lado 1 es la tabla Proveedores y el lado de varios es la tabla Productos (un proveedor puede suministrar varios productos).

Construcción de la relación en Access

Ahora vamos a ver como se implementa esta relación con la base de datos Access.
Tenemos una base de datos de Access llamada Datos. En la misma tenemos dos tablas, Proveedores y Productos.
Para crear una relación, del tipo que sea, abrimos la ventana de Relaciones donde estableceremos la relación entre productos y proveedores. Para abrirla, pinchamos con el botón derecho en el fondo blanco de la ventana de la base de datos, como se observa en la siguiente imagen:


Al hacerlo se abren dos ventanas, Relaciones y mostrar tabla.

En la ventana mostrar tabla seleccionamos con el ratón la tabla proveedores y pulsamos en el botón Agregar. Hacemos lo mismo con la tabla Productos. Ahora cerramos la ventana mostrar tabla.
Para poder establecer este tipo de relación vamos a abrir la vista diseño de la tabla Productos (es la tabla del lado de varios en la relación que estamos construyendo). Pulsamos con el botón derecho en Productos y seleccionamos Diseño de la tabla, mostrándose la vista diseño de productos:

Para poder establecer la relación con proveedores, vamos a añadir un nuevo campo en la tabla productos. Será un campo del mismo tipo que Idproveedores de la tabla proveedores, número. Después de añadir el nuevo campo la vista diseño queda así:



Cerramos la vista diseño, guardamos los cambios y volvemos a visualizar la ventana relaciones. Ahora ya podemos crear la relación. Llevaremos con el ratón idproveedores (de proveedores) al campo recién creado idproveedor de la tabla producto. Ahora se visualiza la ventana modificar la relación donde marcamos Exigir integridad referencial, Actualizar... y Eliminar...


Pulsaremos en el botón Crear y la relación ya está creada. La imagen de la nueva relación se muestra a continuación:

Cerramos la ventana relaciones guardando los cambios y ya podemos seguir trabajando en la base de datos.
En los siguientes posts veremos la relación de varios a varios y de uno a uno.

martes, 28 de julio de 2009

Evitar que un campo supere el valor de otro campo en Access

En Access los datos se distribuyen en distintas tablas. Cada tabla, a su vez, se compone de varios campos o columnas que almacenan los datos que va a gestionar Access. Cada campo almacena datos de un tipo de datos concreto. Podemos determinar que propiedades va a tener ese campo, tipo de datos, como se a visualizar ese campo, valor predeterminado, etc.

También existe la propiedad Regla de validación que va permitir limitar los valores a introducir en el campo. Pero lo que no podemos hacer es establecer una regla de validación que afecte a varios campos al mismo tiempo. La regla de validación que vemos en la vista diseño de una tabla solo afecta al campo que tenemos seleccionado en ese momento.

En este post vamos a ver una forma de resolver este tema. Supongamos una tabla que en vista diseño presenta esta imagen:



Como vemos, hay dos campos de tipo Moneda, preciomax y preciomin. Evidentemente va a ver un rango de precios que va a estar entre estos dos valores. Ahora queremos que si, por error, introducimos un valor en el campo preciomin superior a preciomin, Access no debe dejarnos hacerlo. Esto no podemos hacerlo con la propiedad regla de validación de uno de los dos campos. La propiedad regla de validación está presente en Propiedades del campo en la mitad inferior de la vista diseño de la tabla.

La siguiente figura nos muestra las propidedades de un campo, donde podemos observar la propiedad regla de validación del campo que está seleccionado en ese momento.




Para establecer una regla de validación que permita limitar los valores de preciomax y preciomin pulsaremos en el botón propiedades . Nos aparece la ventana propiedades de la tabla, donde se ve que también existe la propiedad regla de validación. En la misma si que podemos relacionar como nos interese los valores introducidos en más de un campo. Como nos interesa que los valores de preciomax no sean inferiores al valor del campo preciomin, colocaremos una regla como se observa en la figura:





Siempre que se hace referencia en una propiedad a un campo, este debe ir siempre entre corchetes ([]).


Siempre que se introduce unos valores que no cumplen la regla automáticamente Access introduce un mensaje que nos indica el error cometido. Podemos personalizar ese mensaje a nuestro gusto. Para ello, completaremos la propiedad Texto de validación como muestra la siguiente imagen:




Cerramos la ventana Propiedades de la tabla, salimos de vista diseño guardando los cambios realizados, y vamos a comprobar ahora la regla que acabamos de crear.


En preciomax colocamos un valor inferior al valor de preciomin, inmediatamente Access responde con una ventana en el que aparece el texto de validación que acabamos de diseñar.


Pulsamos en aceptar y corregimos el error. Ya podemos continuar introduciendo datos en la tabla.

Actualizar tablas en Excel

En el siguiente ejercicio vamos a ver como actualizar tablas en excel. Nos centraremos en modificar unos precios con código VBA. Modificare...