Professional Documents
Culture Documents
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:
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:
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.
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.
id_mov
fecha_mov
id_pro
cantidad_mov
nombre_pro
Despus de desplazar algunos campos y las etiquetas, el formulario en vista diseo es:
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:
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.
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.
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:
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.
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.
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:
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:
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:
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.
Posicionados sobre la accin AbrirConsulta, en la parte inferior seleccionamos las opciones que
se muestran:
Seleccionamos del cuadro de herramientas (estando resaltada la varita mgica del asistente) el
botn:
Pulsamos en siguiente y seleccionamos un botn con letras (en vez de imagen) y le damos como
etiqueta Aceptar:
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:
Access nos informar que se actualizar cero (0) filas como se muestra en el cuadro siguiente:
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.