You are on page 1of 39

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 -> 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 -> registra las altas y bajas que tiene cada producto y en cada operacin
se apunta 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 dos 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

Desde el escritorio, pulsamos en el icono de Relaciones para establecer las relaciones entre los
campos de las tablas. Si no aparece el cuadro de mostrar tabla, pulsamos en el icono
correspondiente (el icono con el signo +), segn muestra la siguiente imagen:

Agregamos una a una nuestra tablas en el escritorio para poder establecer las relaciones entre
los campos.

Al arrastrar la vinculacin del campo id_pro entre las tablas Productos y Movimientos,
establecemos una integracin referencial con las debidas 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 a varios 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 la lista de los nombres de los productos ordenada alfabticamente:

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 simplicar la
explicacin del proceso.

You might also like