Vous êtes sur la page 1sur 17

Caso prctico 2 de Access: Movimientos de entradas y salidas en un almacn

Objetivo: Elaborar una base de datos que permita registrar los movimientos de entradas y salidas de los productos, como si se tratara de mantener al da el inventario con las existencias de los productos. Se trata de disear una base de datos que presenta las siguientes caractersticas: a)Mediante un formulario, registra los movimientos donde el campo de la fecha del movimiento muestre por defecto la fecha actual, y el nombre del producto pueda ser seleccionado de una lista de productos ordenada alfabticamente. b)La entrada de productos se expresa con nmeros en positivo, mientras que la salida de productos se expresa en nmeros negativos. c)La actualizacin del stock de los productos se realiza mediante una consulta de actualizacin. 1) Crear las tablas de la base de datos Las tablas de la base de datos son 3, la tabla de los productos (tan slo registra el nombre del producto y la clave que lo identifica), la tabla de movimientos (registra las entradas y salidas con nmeros positivos o negativos) y la tabla del stock (registra las existencias de cada producto). Tabla Productos que registra el nombre de cada producto y su identificador (clave principal de la tabla):

Decidimos establecer el tipo autonumrico al campo id_pro para que la base de datos identifique en secuencia los productos del almacn y no haya lugar a repeticiones por tratarse de ser la clave principal de la tabla. Tabla Movimientos que registra las altas y bajas que tiene cada producto y en cada operacin se registra un identificador y la fecha en que se realiza la operacin. En esta tabla hemos decidido como claves principales los campos id_mov y id_pro:

Para seleccionar ms de una clave principal en una tabla, seleccionamos con el puntero del ratn ambos campos (si no son consecutivos podemos hacerlo con la tecla Control) y una vez seleccionados pulsamos sobre el icono de la llave:

La fecha del movimiento lo expresaremos en el formato de Fecha corta, para lograrlo situamos el puntero en el campo y en su ficha General (parte inferior del escritorio) seleccionamos este tipo de formato de fecha:

Tabla Stock presenta 2 campos, uno para identificar el producto (que proviene de la tabla Productos y tambin ser la clave principal en la tabla) y el otro campo expresa el nmero de existencias del producto:

2) Establecer las relaciones entre las tablas Al pulsar el icono de Relaciones se muestra el siguiente cuadro:

Agregamos una a una nuestras tablas en el escritorio para poder establecer las relaciones entre las tablas y sus campos.

Al arrastrar la vinculacin del campo id_pro entre las tablas Productos y Movimientos, establecemos una relacin referencial con la debida actualizacin en las actualizaciones y eliminaciones:

Similar entre el campo id_pro de las tablas Productos y Stock.

Vemos al final que Access muestra las relaciones entre las tablas de la siguiente forma: Hay una relacin 1 a1 entre las tablas Productos y Stock porque cada producto tendr una y solo una cantidad de existencias. En cuanto a la relacin 1 avarios entre las tablas Productos y Movimientos, cada producto puede tener infinitas operaciones para dar de alta o de baja cantidades de dicho producto. 3) Preparar las tablas de Productos y Stock En la tabla Productos ingresamos una lista de productos que existen en el almacn. Vamos a suponer que se trata de artculos de papelera y completamos manualmente los nombres pues el campo del ID se rellena automticamente:

En forma similar la tabla Stock, en donde la existencia de todos los productos los establecemos en cero (0):

3)Elaborar el formulario Para elaborar el formulario que nos permitir registrar las operaciones de alta o de baja de los productos, elegimos hacerlo con la opcin Crear un formulario utilizando el asistente. De la tabla Movimiento seleccionamos los campos: id_mov fecha_mov id_pro cantidad_mov

De la tabla Productos seleccionamos el campo: nombre_pro

De la tabla Stock sleccionamos el campo total_pro:

Ya tenemos nuestros campos seleccionados y pulsamos en Siguiente.

Elegimos una distribucin del formulario en columnas:

Elegimos un estilo estndar:

Le damos el nombre al formulario de FormularioMovimientos y finalizamos.

Despus de desplazar algunos campos y las etiquetas, el formulario en vista diseo es: En vista formulario, se muestra de la siguiente manera:

4) Adaptaciones en el formulario Para lograr que la fecha actual se muestre por defecto al aadir nuevos registros, nos vamos a la vista diseo del formulario y seleccionamos el campo fecha_mov as:

Sobre la casilla del campo, pulsamos en Propiedades en el men desplegable del botn derecho del ratn:

Nos situamos en la ficha Datos y en la fila Valor predeterminado, pulsamos sobre los 3 puntos y se muestra el siguiente cuadro:

Buscamos la opcin Ahora(), pulsamos doble clic y vemos en pantalla algo parecido a la siguiente imagen:

Con Aceptar volvemos a nuestro formulario. Si accedemos a la vista del formulario, comprobamos que la fecha del da ya se muestra por defecto:

Ahora, vamos a trabajar para que el usuario pueda seleccionar desde una lista el nombre del producto y as evitar errores o duplicaciones en la base de datos. En vista diseo, activamos el asistente en el cuadro de herramientas y se muestra resaltada la varita mgica as: Seleccionamos la opcin de Cuadro combinado en el cuadro de herramientas:

Se muestra el asistente para cuadros combinados:

Seleccionamos la primera opcin:

En la prxima pantalla seleccionamos la tabla Productos:

Seleccionamos ambos campos porque los vamos a necesitar:

Seleccionamos mostrar alfabticamente:

la

lista

de

los

nombres

de

los

productos

ordenada

Dejamos tal cual se muestra el siguiente cuadro:

Aparecer oculto el campo id_pro en el cuadro combinado porque no lo necesitamos. Seleccionamos el campo id_propara guardar los datos en la tabla:

Seleccionamos el mismo campo para almacenar la seleccin que haga el usuario:

Damos el nombre a la etiqueta y finalizamos:

En vista diseo ahora el formulario se muestra as:

Hemos realizado algunos cambios en la vista diseo para lograrlo. Borramos la etiqueta y la caja del campo que haba. Al cuadro combinado lo situamos en el orden correpondiente y le damos proporcin con respecto a los dems campos que aparecen en el formulario as como tambin adaptamos el nombre de la etiqueta. En vista diseo, el formulario se muestra como en la imagen:

4) Comprobar que el formulario funciona Ahora vamos a probar el funcionamiento del formulario al aadir nuevos registros. Hacemos un movimiento de entrada (alta):

Guardamos los cambios y nos vamos a la tabla de movimientos para comprobar el registro de la operacin:

Volvemos al formulario para probar con un movimiento de salida (baja):

Es importante detenerse en este punto: las cantidades de salidas siempre se apuntarn como cantidades negativas, para que funcione posteriormente la actualizacin de las existencias. Guardamos los cambios y cerramos del formulario. En la tabla de Movimientos aparecen las operaciones de entrada y salida efectuadas con el mismo producto:

Podemos comprobar, adems, que la tabla de Stock no ha sufrido ningn cambio, est tal cual la creamos. Su actualizacin la haremos mediante una consulta que crearemos en el paso siguiente. 5)Crear la Consulta de Actualizacin para los movimientos Para que las actualizaciones no se dupliquen, es decir no se apliquen ms de una vez, tendremos que hacer algunos cambios en la tabla Movimientos. Agregaremos un campo ms que llamaremos actualizar el cual ser del tipo S/No que nos permitir tener el control sobre las actualizaciones.

Nos vamos a la tabla Movimientos en vista diseo y agregamos el nuevo campo actualizar:

Ya tenemos nuestro controlador de actualizaciones. Las operaciones de entradas y salidas que realicemos mediante el formulario deben actualizarse en la tabla de Stock. Para lograrlo, crearemos una consulta de la siguiente manera. Seleccionamos en Consultas la opcin Crear una consulta en vista Diseo. Aparece la cuadrcula y la posibilidad de mostrar las tablas con las cuales vamos a trabajar.

Agregamos todas las tablas, una por una, para tener una visin de todos los campos, hacemos que la consulta se convierta en una consulta de actualizacin. Para esto, hay varias vas, desde el men consulta seleccionar Consulta de actualizacin o hacer clic sobre el escritorio y en el men desplegable, botn derecho, seleccionarla. Una vez aplicada la accin, en la cuadrcula de la consulta aparecer una nueva fila de Actualizar a. Vamos a realizar los cambios siguientes: primero, queremos actualizar el campo total_pro que reflejar las existencias de cada producto segn se den las operaciones de entradas o salidas en el campo cantidad_mov; segundo, queremos establecer como criterio que se ejecute la consulta cuando el campo actualizar no est seleccionado (sea falso) y que adems, despus de realizarse la actualizacin, el campo actualizar cambie a su estado de seleccionado (verdadero). En la prxima imagen se ven los cambios

Con respecto a la tabla Stock hemos arrastrado el campo total_pro a la cuadrcula y con el Generador hemos seleccionado de las tablas los campos y adems utilizado la operacin de sumar:

Por otra parte, con respecto al campo actualizar de la tabla Movimientos hemos establecido el criterio que se ejecute la consulta de actualizacin cuando el campo tenga un valor Falso (es decir, no est seleccionado con el check) y que posteriormente se cambie su valor a Verdadero o lo que es igual el valor del campo pase a ser seleccionado con el check. De esta manera no volvern a aplicarse las entradas o salidas de nuevo, lo cual pudiera ocurrir por equivocacin u olvido. A modo de ilustracin, el campo con valor Verdadero (s est seleccionado) es como sigue:

El campo con valor Falso (no est seleccionado) es el siguiente:

Nuestra consulta de actualizacin aparece en el panel de la base de datos:

6)Comprobar que la Consulta de actualizacin funciona Vamos a ejecutar la consulta de actualizacin para comprobar que en la tabla Stock se actualizan los movimientos. Para ejecutar la consulta, hacemos doble clic sobre su nombre. Access nos informa que se va a ejecutar una consulta de actualizacin:

Pulsamos que s y se muestra el siguiente cuadro:

Nos indica que se van a actualizar 2 filas (es lgico porque hicimos 2 movimientos, uno de entradas y otro de salida para el mismo producto cuaderno que tiene por ID 2. Pulsamos que s y nos vamos a la tabla Stock para ver los cambios:

Comprobamos que el producto con ID 2 tiene 90 existencias, que corresponde a las operaciones de 100 ejemplares de entrada (alta) menos 10 ejemplares de salida (baja). Estas operaciones se ven a hora en la tabla Movimientos as:

7)Mejorar el formulario con un botn para actualizar el stock Para que el proceso de actualizacin se realice de manera automtica tenemos que: primero, crear una macro con el proceso de ejecucin de la consulta de actualizacin y segundo, crear en el formulario un botn para la ejecucin de la macro. Para crear la macro que incluya el proceso de la ejecucin de la actualizacin, pulsamos en Nuevo de los objetos macros. Pulsamos sobre el icono Condiciones para que se muestre la columna Comentario en la cual apuntaremos la descripcin de cada fila (esto es muy importante para recordar cambios realizados):

La primera fila las configuramos como se muestra en la siguiente imagen:

En la parte inferior, seleccionamos la opcin que corresponde a la accin

La segunda fila de la macro es como sigue:

Posicionados sobre la accin AbrirConsulta, en la parte inferior seleccionamos las opciones que se muestran:

La tercera fila es para que el proceso regrese automticamente al mismo formulario:

La configuracin en la seccin inferior es:

Ya podemos guardar y darle nombre AceptarCambios a nuestra macro. Volvemos al formulario en vista diseo para incorporar ahora el botn de actualizacin. Seleccionamos del cuadro de herramientas (estando resaltada la varita mgica del asistente) el botn:

Seleccionamos Ejecutar macro entre las opciones:

En la prxima pantalla, comprobamos que est seleccionada nuestra macro:

Pulsamos en siguiente y seleccionamos un botn con letras (en vez de imagen) y le damos como etiqueta Aceptar:

Posicionamos el botn en la vista diseo del formulario y adaptamos su apariencia: En vista formulario comprobamos que el botn est presente:

Nos preparamos para hacer otra prueba y comprobar que tanto la consulta de actualizacin como el botn funcionan.

Vamos a realizar una operacin de entrada para el producto carpeta con ID 5. Aadimos un registro nuevo (pulsamos directamente sobre el control >* de la parte inferior del formulario) e ingresamos los datos:

Pulsamos ahora sobre el botn Aceptar y aparecen los cuadros acostumbrados:

Comprobamos en las tablas. En Movimientos aparece registrada la operacin con el ID 5:

Comprobamos que aparece el campo Actualizar seleccionado (valor Verdadero). En la tabla Stock verificamos los cambios:

El producto con ID5 ha incrementado sus existencias a 25 unidades. Qu pasa si volvemos a pulsar el botn de actualizar? Access nos informar que se actualizar cero (0) filas como se muestra en el cuadro siguiente:

Y comprobaremos que no se realiza ningn cambio en las tablas. sta es la nica forma de desarrollar una base de datos de entradas y salidas? Por supuesto que no. Seguramente que en el proceso de este paso a paso habis pensado que algunas acciones podran hacerse de otra manera a las aqu explicadas. Tambin podemos mejorar la apariencia y funcionalidad de la base de datos. En este tutorial se presentan las acciones vitales para que funcione la base de datos de un almacn con el objeto de simplificar la explicacin del proceso.

Vous aimerez peut-être aussi