caso práctico 2 de access (1)

Upload: carlos-manuel-castro-guzman

Post on 13-Apr-2018

228 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/26/2019 Caso Prctico 2 de Access (1)

    1/39

    Caso prctico 2 de Access: Movimientosde 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 e!istencias

    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)a entrada de productos se e!presa con n"meros en positivo, mientras que la salida de

    productos se e!presa en n"meros negativos.

    c)a actuali#aci$n del stoc% de los productos se reali#a mediante una consulta de actuali#aci$n.

    1) Crear las tablas de la base de datos

    #as tablas de la base de datos son $, la tabla de los productos %tan s&lo registra el nombre del

    producto y la clave que lo identi'ca(, la tabla de movimientos %registra las entradas y salidas con

    n)meros positivos o negativos( y la tabla del stoc* %registra las e!istencias de cada producto("

    Tabla Productos+ registra el nombre de cada producto y su identi'cador %clave principal de

    la tabla(:

  • 7/26/2019 Caso Prctico 2 de Access (1)

    2/39

    -ecidimos establecer el tipo .autonumrico/ al campo .id0pro/ para que la base de datos

    identi'que en secuencia los productos del almacn y no 1aya 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 operaci&n

    se apunta un identi'cador y la ec1a en que se reali3a la operaci&n" En esta tabla 1emos

    decidido como claves principales los campos .id0mov/ y .id0pro/:

    4ara seleccionar ms de una clave principal en una tabla, seleccionamos con el puntero del rat&n

    ambos campos %si no son consecutivos podemos 1acerlo con la tecla Control( y una ve3

    seleccionados pulsamos sobre el icono de la llave:

  • 7/26/2019 Caso Prctico 2 de Access (1)

    3/39

    #a ec1a del movimiento lo e!presaremos en el ormato de .5ec1a corta/, para lograrlo situamos

    el puntero en el campo y en su 'c1a .6eneral/ %parte inerior del escritorio( seleccionamos este

    tipo de ormato de ec1a:

    Tabla Stock+ presenta dos campos, uno para identi'car el producto %que proviene de la

    tabla .4roductos/ y tambin ser la clave principal en la tabla( y el otro campo e!presa el

    n)mero de e!istencias del producto:

  • 7/26/2019 Caso Prctico 2 de Access (1)

    4/39

    2) Establecer las relaciones entre las tablas

    -esde el escritorio, pulsamos en el icono de .7elaciones/ para establecer las relaciones entre los

    campos de las tablas" 8i no aparece el cuadro de mostrar tabla, pulsamos en el icono

    correspondiente %el icono con el signo .+.(, seg)n muestra la siguiente imagen:

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

    los campos"

  • 7/26/2019 Caso Prctico 2 de Access (1)

    5/39

    Al arrastrar la vinculaci&n del campo .id0pro/ entre las tablas .4roductos/ y .Movimientos/,

    establecemos una integraci&n reerencial con las debidas actuali3aciones y eliminaciones:

    8imilar entre el campo .id0pro/ de las tablas .4roductos/ y .8toc*/"

    9emos al 'nal que Access muestra las relaciones entre las tablas de la siguiente orma:

  • 7/26/2019 Caso Prctico 2 de Access (1)

    6/39

    ay una relaci&n .; a;/ entre las tablas .4roductos/ y .8toc*/ porque cada producto tendr una

    y solo una cantidad de e!istencias" En cuanto a la relaci&n .; a varios/ entre las tablas

    .4roductos/ y .Movimientos/, cada producto puede tener in'nitas operaciones para dar de alta o

    de baja cantidades de dic1o producto"

    3) Preparar las tablas de Productos Stock

    En la tabla .4roductos/ ingresamos una lista de productos que e!isten en el almacn" 9amos a

    suponer que se trata de artculos de papelera y completamos manualmente los nombres pues el

    campo del

  • 7/26/2019 Caso Prctico 2 de Access (1)

    7/39

    3)Elaborar el !ormulario

    4ara elaborar el ormulario que nos permitir registrar las operaciones de alta o de baja de los

    productos, elegimos 1acerlo con la opci&n .Crear un ormulario utili3ando el asistente/"

    -e la tabla .Movimiento/ seleccionamos los campos:

    id0mov

    ec1a0mov

    id0pro

    cantidad0mov

  • 7/26/2019 Caso Prctico 2 de Access (1)

    8/39

    -e la tabla .4roductos/ seleccionamos el campo:

    nombre0pro

  • 7/26/2019 Caso Prctico 2 de Access (1)

    9/39

    -e la tabla .8toc*/ sleccionamos el campo .total0pro/:

  • 7/26/2019 Caso Prctico 2 de Access (1)

    10/39

    >a tenemos nuestros campos seleccionados y pulsamos en .8iguiente/"

    Elegimos una distribuci&n del ormulario en columnas:

    Elegimos un estilo estndar:

  • 7/26/2019 Caso Prctico 2 de Access (1)

    11/39

    #e damos el nombre al ormulario de .5ormularioMovimientos/ y 'nali3amos"

    -espus de despla3ar algunos campos y las etiquetas, el ormulario en vista dise?o es:

  • 7/26/2019 Caso Prctico 2 de Access (1)

    12/39

    En vista ormulario, se muestra de la siguiente manera:

  • 7/26/2019 Caso Prctico 2 de Access (1)

    13/39

    ") #daptaciones en el !ormulario

    4ara lograr que la ec1a actual se muestre por deecto al a?adir nuevos registros, nos vamos a la

    vista dise?o del ormulario y seleccionamos el campo .ec1a0mov/ as:

    8obre la casilla del campo, pulsamos en .4ropiedades/ en el men) desplegable del bot&n

    derec1o del rat&n:

  • 7/26/2019 Caso Prctico 2 de Access (1)

    14/39

    @os situamos en la 'c1a .-atos/ y en la 'la .9alor predeterminado/, pulsamos sobre los $

    puntos y se muestra el siguiente cuadro:

    uscamos la opci&n .A1ora%(/, pulsamos doble clic y vemos en pantalla algo parecido a la

    siguiente imagen:

  • 7/26/2019 Caso Prctico 2 de Access (1)

    15/39

    Con .Aceptar/ volvemos a nuestro ormulario" 8i accedemos a la vista del ormulario,

    comprobamos que la ec1a del da ya se muestra por deecto:

  • 7/26/2019 Caso Prctico 2 de Access (1)

    16/39

    A1ora, 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 dise?o, activamos el asistente en el cuadro de 1erramientas y se muestra resaltada la

    varita mgica as:

    8eleccionamos la opci&n de .Cuadro combinado/ en el cuadro de 1erramientas:

    8e muestra el asistente para cuadros combinados:

  • 7/26/2019 Caso Prctico 2 de Access (1)

    17/39

    8eleccionamos la primera opci&n:

    En la pr&!ima pantalla seleccionamos la tabla .4roductos/:

  • 7/26/2019 Caso Prctico 2 de Access (1)

    18/39

    8eleccionamos ambos campos porque los vamos a necesitar:

    8eleccionamos mostrar la lista de los nombres de los productos ordenada alabticamente:

  • 7/26/2019 Caso Prctico 2 de Access (1)

    19/39

    -ejamos tal cual se muestra el siguiente cuadro:

    Aparecer oculto el campo .id0pro/ en el cuadro combinado porque no lo necesitamos"

  • 7/26/2019 Caso Prctico 2 de Access (1)

    20/39

    8eleccionamos el campo .id0pro/para guardar los datos en la tabla:

    8eleccionamos el mismo campo para almacenar la selecci&n que 1aga el usuario:

  • 7/26/2019 Caso Prctico 2 de Access (1)

    21/39

    -amos el nombre a la etiqueta y 'nali3amos:

    En vista dise?o a1ora el ormulario se muestra as:

    emos reali3ado algunos cambios en la vista dise?o para lograrlo" orramos la etiqueta y la caja

    del campo que 1aba" Al cuadro combinado lo situamos en el orden correpondiente y le damos

  • 7/26/2019 Caso Prctico 2 de Access (1)

    22/39

    proporci&n con respecto a los dems campos que aparecen en el ormulario as como tambin

    adaptamos el nombre de la etiqueta"

    En vista dise?o, el ormulario se muestra como en la imagen:

    ") Comprobar $ue el !ormulario !unciona

    A1ora vamos a probar el uncionamiento del ormulario al a?adir nuevos registros" acemos un

    movimiento de entrada %alta(:

  • 7/26/2019 Caso Prctico 2 de Access (1)

    23/39

    6uardamos los cambios y nos vamos a la tabla de movimientos para comprobar el registro de la

    operaci&n:

    9olvemos al ormulario para probar con un movimiento de salida %baja(:

  • 7/26/2019 Caso Prctico 2 de Access (1)

    24/39

    Es importante detenerse en este punto: las cantidades de salidas siempre se apuntarn como

    cantidades negativas, para que uncione posteriormente la actuali3aci&n de las e!istencias"

    6uardamos los cambios y cerramos del ormulario"

    En la tabla de .Movimientos/ aparecen las operaciones de entrada y salida eectuadas con el

    mismo producto:

  • 7/26/2019 Caso Prctico 2 de Access (1)

    25/39

    4odemos comprobar, adems, que la tabla de .8toc*/ no 1a surido ning)n cambio, est tal cual

    la creamos" 8u actuali3aci&n la 1aremos mediante una consulta que crearemos en el paso

    siguiente"

    %)Crear la Consulta de #ctuali&aci'n para los movimientos

    4ara que las actuali3aciones no se dupliquen, es decir no se apliquen ms de una ve3, tendremos

    que 1acer algunos cambios en la tabla .Movimientos/" Agregaremos un campo ms que

    llamaremos .actuali3ar/ el cual ser del tipo .8B@o/ que nos permitir tener el control sobre las

    actuali3aciones"

    @os vamos a la tabla .Movimientos/ en vista dise?o y agregamos el nuevo campo .actuali3ar/:

    >a tenemos nuestro controlador de actuali3aciones" #as operaciones de entradas y salidas que

    realicemos mediante el ormulario deben actuali3arse en la tabla de .8toc*/" 4ara lograrlo,

    crearemos una consulta de la siguiente manera" 8eleccionamos en Consultas la opci&n .Crear

    una consulta en vista -ise?o/"

    Aparece la cuadrcula y la posibilidad de mostrar las tablas con las cuales vamos a trabajar"

  • 7/26/2019 Caso Prctico 2 de Access (1)

    26/39

    Agregamos todas las tablas, una por una, para tener una visi&n de todos los campos"

    acemos que la consulta se convierta en una consulta de actuali3aci&n" 4ara esto, 1ay varias

    vas, desde el men) consulta seleccionar .Consulta de actuali3aci&n/ o 1acer clic sobre el

    escritorio y en el men) desplegable, bot&n derec1o, seleccionarla" na ve3 aplicada la acci&n, en

    la cuadrcula de la consulta aparecer una nueva 'la de .Actuali3ar a/"

    9amos a reali3ar los cambios siguientes: primero, queremos actuali3ar el campo .total0pro/ que

    reDejar las e!istencias de cada producto seg)n se den las operaciones de entradas o salidas en

    el campo .cantidad0mov/ segundo, queremos establecer como criterio que se ejecute la

    consulta cuando el campo .actuali3ar/ no est seleccionado %sea also( y que adems, despus

    de reali3arse la actuali3aci&n, el campo .actuali3ar/ cambie a su estado de seleccionado

    %verdadero(" En la pr&!ima imagen se ven los cambios

  • 7/26/2019 Caso Prctico 2 de Access (1)

    27/39

    Con respecto a la tabla .8toc*/ 1emos arrastrado el campo .total0pro/ a la cuadrcula y con el

    6enerador 1emos seleccionado de las tablas los campos y adems utili3ado la operaci&n de

    sumar:

  • 7/26/2019 Caso Prctico 2 de Access (1)

    28/39

    4or otra parte, con respecto al campo .actuali3ar/ de la tabla .Movimientos/ 1emos establecido

    el criterio que se ejecute la consulta de actuali3aci&n cuando el campo tenga un valor .5also/ %es

    decir, no est seleccionado con el c1ec*( y que posteriormente se cambie su valor a .9erdadero/

    o lo que es igual el valor del campo pase a ser seleccionado con el c1ec*" -e esta manera no

    volvern a aplicarse las entradas o salidas de nuevo, lo cual pudiera ocurrir por equivocaci&n u

    olvido"

    A modo de ilustraci&n, el campo con valor .9erdadero/ %s est seleccionado( es como sigue:

    El campo con valor .5also/ %no est seleccionado( es el siguiente:

  • 7/26/2019 Caso Prctico 2 de Access (1)

    29/39

    @uestra consulta de actuali3aci&n aparece en el panel de la base de datos:

    ()Comprobar $ue la Consulta de actuali&aci'n !unciona

    9amos a ejecutar la consulta de actuali3aci&n para comprobar que en la tabla .8toc*/ se

    actuali3an los movimientos" 4ara ejecutar la consulta, 1acemos doble clic sobre su nombre"

    Access nos inorma que se va a ejecutar una consulta de actuali3aci&n:

  • 7/26/2019 Caso Prctico 2 de Access (1)

    30/39

    4ulsamos que s y se muestra el siguiente cuadro:

    @os indica que se van a actuali3ar 2 'las %es l&gico porque 1icimos 2 movimientos, uno de

    entradas y otro de salida para el mismo producto .cuaderno/ que tiene por

  • 7/26/2019 Caso Prctico 2 de Access (1)

    31/39

    )Me*orar el !ormulario con un bot'n para actuali&ar el stock

    4ara que el proceso de actuali3aci&n se realice de manera automtica tenemos que: primero,

    crear una macro con el proceso de ejecuci&n de la consulta de actuali3aci&n y segundo, crear en

    el ormulario un bot&n para la ejecuci&n de la macro"

    4ara crear la macro que incluya el proceso de la ejecuci&n de la actuali3aci&n, pulsamos en

    .@uevo/ de los objetos macros" 4ulsamos sobre el icono .Condiciones/ para que se muestre la

    columna .Comentario/ en la cual apuntaremos la descripci&n de cada 'la %esto es muy

    importante para recordar cambios reali3ados(:

    #a primera 'la las con'guramos como se muestra en la siguiente imagen:

    En la parte inerior, seleccionamos la opci&n que corresponde a la acci&n

  • 7/26/2019 Caso Prctico 2 de Access (1)

    32/39

    #a segunda 'la de la macro es como sigue:

    4osicionados sobre la acci&n .AbrirConsulta/, en la parte inerior seleccionamos las opciones que

    se muestran:

    #a tercera 'la es para que el proceso regrese automticamente al mismo ormulario:

  • 7/26/2019 Caso Prctico 2 de Access (1)

    33/39

    #a con'guraci&n en la secci&n inerior es:

    >a podemos guardar y darle nombre .AceptarCambios/ a nuestra macro"

    9olvemos al ormulario en vista dise?o para incorporar a1ora el bot&n de actuali3aci&n"

    8eleccionamos del cuadro de 1erramientas %estando resaltada la varita mgica del asistente( el

    bot&n:

  • 7/26/2019 Caso Prctico 2 de Access (1)

    34/39

    8eleccionamos .Ejecutar macro/ entre las opciones:

    En la pr&!ima pantalla, comprobamos que est seleccionada nuestra macro:

  • 7/26/2019 Caso Prctico 2 de Access (1)

    35/39

    4ulsamos en siguiente y seleccionamos un bot&n con letras %en ve3 de imagen( y le damos como

    etiqueta .Aceptar/:

    4osicionamos el bot&n en la vista dise?o del ormulario y adaptamos su apariencia:

  • 7/26/2019 Caso Prctico 2 de Access (1)

    36/39

    En vista ormulario comprobamos que el bot&n est presente:

  • 7/26/2019 Caso Prctico 2 de Access (1)

    37/39

    @os preparamos para 1acer otra prueba y comprobar que tanto la consulta de actuali3aci&n

    como el bot&n uncionan"

    9amos a reali3ar una operaci&n de entrada para el producto .carpeta/ con

  • 7/26/2019 Caso Prctico 2 de Access (1)

    38/39

    Comprobamos en las tablas" En .Movimientos/ aparece registrada la operaci&n con el

  • 7/26/2019 Caso Prctico 2 de Access (1)

    39/39

    Access nos inormar que se actuali3ar cero %=( 'las como se muestra en el cuadro siguiente:

    > comprobaremos que no se reali3a ning)n cambio en las tablas"

    /sta es la 0nica !orma de desarrollar una base de datos de entradas salidas.

    4or supuesto que no" 8eguramente que en el proceso de este paso a paso 1abis pensado que

    algunas acciones podran 1acerse de otra manera a las aqu e!plicadas" Iambin podemos

    mejorar la apariencia y uncionalidad de la base de datos" En este tutorial se presentan las

    acciones vitales para que uncione la base de datos de un almacn con el objeto de simplicar la

    e!plicaci&n del proceso"