Esta entrega hasta ahorita "Las Pantallas de Inventarios", quizás vaya a ser una de las que mas contenido haya que explicar. Por lo que tendré la necesidad de dividirlo en 2 partes La Funcional y la Lógica, para cada una de estas he preparado un vídeo por separado, para así comprender con mas claridad como funciona este Modulo de Inventarios.
La Parte FUNCIONAL: Pantalla de Inventarios
Empezare por explicar que hay 2 pantallas y 2 Tablas de Inventarios:
- INVENTARIOS "Esta sera la lista Principal de Inventarios"
- ENTRADAS_INV "Las Entradas Individuales de Inventario"
TABLA DE INVENTARIOS
En esta Tabla, ademas de los particular tendremos 2 campos calculados, (que ha sido una de las novedades incluidas en la versión 2010 de Access). Uno Bajo el nombre de CANT_DISPONIBLE que almacenara todas cantidades existentes (Cantidad de Exhibición + Cantidad de Localización 1 + Cantidad de Localización + Cantidad de Localización 3), El segundo campo Calculado sera BAJO_INVENTARIO este campo tiene una condición que evalúa si la Cantidad Disponible Total es Menor a la Cantidad Mínima estipulada para el producto, se colocara un "SI" para indicarnos que el inventario es bajo para este producto y sera necesario adquirir mas, y un "NO" cuando nuestra cantidad disponible sea mayor a la cantidad mínima estipulada para el Producto.
PANTALLA DE INVENTARIOS
En esta Pantalla (de formato Dividido) mostrar la lista principal de Inventario y podremos ahí notar todos lo cambios realizados en las cantidades, así como también poder capturar nuevos productos a la lista.
En esta Tabla "Entradas de Producto", va a ser la tabla donde quedaran registradas cada una de las entradas de cada producto en particular, sera como una especie de Log de Entradas (o lo que es lo mismo Detalles de Registros de Entradas), Aquí quedaran registradas las nuevas cantidades que se ingresaran a la lista principal de inventarios (por ende actualizándolo)
PANTALLA DE ENTRADAS DE INVENTARIO
Esta Pantalla de Entradas de Inventarios, sera la interfaz donde el usuario podrá capturar todos los productos , sus cantidades y localizaciones de asignación para cada producto en particular.
La Parte LÓGICA: Pantallas de Inventarios
- Todos los Campos de Cantidades para las Tablas INVENTARIO e INVENTARIO_ENT seran de Tipo "Doble" eso para permitir cantidades y fracciones
- La expresion del Campo Calculado : CANTIDAD_DISPONIBLE es la siguiente:
[CANT_LOC1]+[CANT_LOC2]+[CANT_LOC3]+[CANTIDAD_EN_EXHIBICION]
- La expresión del Campo Calculado: BAJO_INVENTARIO es la siguiente:
SiInm([CANT_DISPONIBLE]<[CANTIDAD_MINIMA],"SI","NO")
- EL CODIGO DEL BOTON [Guadar y Continuar] Nombre del Boton :CmdGuardarInv
Insertar este Código en en evento Clic
Descargar esta Entrega Aqui
(importa estos objetos a tu base de datos como se explica en este Video )Private Sub CmdGuardarInv_Click() On Error GoTo err: 'Variables de ejecucion Dim idprod As Integer Dim CantEnt As Double Dim Loc As String Dim CantActualInv As Double Dim CantExhibicion As Double Dim NvaCantExhibicion As Double Dim CantLoc1 As Double Dim NvaCantLoc1 As Double Dim CantLoc2 As Double Dim NvaCantLoc2 As Double Dim Cantloc3 As Double Dim NvaCantLoc3 As Double 'Anular valores nulos en la asignacion de valores idprod = Nz(Me.FID_PRODUCTO.Value, 0) CantEnt = Nz(Me.CANTIDAD_ENTRADA.Value, 0) Loc = Nz(Me.ASIGNAR_LOCALIZACION.Value, "") 'Buscar datos en Lista de Inventarios Dim Rst As DAO.Recordset Dim sql As String sql = "SELECT * FROM [INVENTARIOS] US WHERE US.[FID_PRODUCTO]=" & idprod Set Rst = CurrentDb.OpenRecordset(sql) If Rst.BOF And Rst.EOF Then MsgBox "Producto No Encontrado en la Lista de Inventario" Else 'Accion al Encontrar el producto en lista de inventario 'Actualizar Cantidad de Inventario segun la localizacion Seleccoionada Select Case Loc Case "EXHIBICION" CantExhibicion = Rst![CANTIDAD_EN_EXHIBICION] NvaCantExhibicion = CantExhibicion + CantEnt Rst.Edit Rst![CANTIDAD_EN_EXHIBICION] = NvaCantExhibicion Rst.Update Case "LOCALIZACION_1" CantLoc1 = Rst![CANT_LOC1] NvaCantLoc1 = CantLoc1 + CantEnt Rst.Edit Rst![CANT_LOC1] = NvaCantLoc1 Rst.Update Case "LOCALIZACION_2" CantLoc2 = Rst![CANT_LOC2] NvaCantLoc2 = CantLoc2 + CantEnt Rst.Edit Rst![CANT_LOC2] = NvaCantLoc2 Rst.Update Case "LOCALIZACION_3" Cantloc3 = Rst![CANT_LOC3] NvaCantLoc3 = Cantloc3 + CantEnt Rst.Edit Rst![CANT_LOC3] = NvaCantLoc3 Rst.Update End Select Rst.Close Set Rst = Nothing End If DoCmd.GoToRecord , , acNext Exit Sub err: MsgBox err.Description End Sub
PANTALLA DE INVENTARIOS
ENTRADAS DE INVENTARIOS
Hey muchas gracias por esta entrega estare al pendiente del curso y en lo q pueda colaborare, mil gracias nuevamente....
ResponderBorrarsaludos me interesa mucho el tutorial, saben estoy interesando en como facturar en el formato de facturacion electronica del sat.
ResponderBorrarBuenas, hoy he terminado de armar este "taller" el cual es muy bueno y me ha demostrado de que se puede hacer muy buenas cosas con ello, muchas gracias y esperando la próxima entrega que espero sea pronto. Un abrazo
ResponderBorrarhola me llamo carlos!! muy interesante tu tutorial muy claro!!
ResponderBorrarPero me gustaria saber cuando serán las proximas entregas?? Saludoz
QUISIERA SABER COMO INSERTASTE LOS BOTONES DE GUARDAR SALIR CERRAR.
ResponderBorrarRESPONDEN POR FAVOR
Los botones se insertan de la siguiente manera:
Borrar-primero pones tu formulario en vista de diseño
-Vas a la ficha de menu "Diseño"
-Seleccionas del cuadro de herramientas el objeto boton
-haces click sobre el formulario para posicionar el boton
-automaticamente se iniciara el asistente de botones
-Seleccionas la opcion "operacion con registros"
-asi para cada boton
muy bueno. espero con ansias la proxima entrega..
ResponderBorrarmuchas gracias
hola me llamo miguel y soy aficionado a la programacion en access pero soy novato y me propuse hacer una base de datos para un Tintoreria me podrias ayudar.
ResponderBorrarHola Miguel, entiendo tu necesidad pero no dispongo de tiempo libre para asesorarte con esto. lo que si puedo hacer es asignarte a algunos de mis colaboradores para que te pongas en contacto con él, en cuanto al desarrollo de tu sistema y sus honorarios.
BorrarHola ¿como estas?. me gustaria me ayudaras al responder mi inquietud.
ResponderBorraral al abrir las entradas de inventario me vuelve a ingreasar todas las entradas
nuevamente. ¿como hacer para que al abrir la pantalla me ingrese solo la entada
actual? sin repetir lo ingresado anteriormente. Saludos.
Necesito un poco mas de detalles para poder ayudarte... no entiendo bien lo que dices respecto a ..."me vuelve a ingreasar todas las entradas
Borrarnuevamente"
saludos!
Buenas noches maestro Arturo, mi inquietud es la siguent: en la pantalla de entadas de inventario, e ingresado unos productos, y sierro la base.
ResponderBorraral dia siguiente cuando la buelvo a abrir, me aparece en la pantalla el producto que ingrese el dia anterior, le doy guardar y continuar y me ingresa de nuevo todos los productos ya ingresados sumandolos hasta que me aparece de nuevo la pantalla en blanco lista para ingresar de nuevo los productos.
Quisiera saber como Hacer para que la pantalla me aparezca vacia lista para ingresar productos. gracias por la atención prestada.Salusdos
Asegurate de lo siguiente,,
BorrarEl formulario ENTRADAS_INV tiene un evento AL ABRIR ahi debe tener esta macro colocada
https://dl.dropbox.com/u/60558202/web/alabrir_ENTINV.JPG
asi el macro hara el trabajo cada vez que abra el formulario, ira a un registro nuevo.
Buenas tardes profesor.Le agradezco su ayuda.
BorrarColoque la macro y funciono.
que dios lo bendiga gracias por todo.
Un saludo afectuoso.
Hola ARTURO... soy JOAQUIN... he estado siguiendo este Tutorial y me resultó un error al capturar los datos del ejemplo en la "Pantalla de Entradas de Inventario" doy clic en el botón "Guardar y Continuar" y aparece un cuadro de mensaje que dice "Pocos parametros, se esperaba 1" y no me deja guardar los datos y si cierro el formulario y lo abro nuevamente en lugar de aparecer los campos en blanco... traen los datos que capturé ........ solicito tu ayuda Gracias !!!.... Saludos !!!
ResponderBorrarHola Joaquin,,, te puedo dar un par de recomendaciones:
Borrar1.- Asegurate que el codigo Visual Basic que esta en el boton GUARDAR Y CONTINUAR este exactamente al ejemplo mostrado,,, si es asi y quieres descubrir donde tienes el error,,coloca un punto de interrupcion en en codigo solo haciento un click en la barra izquierta, justo donde empieza el procedimiento quedaria asi...
https://dl.dropbox.com/u/60558202/web/punto_de_interrupcion_EntradasdeInv.JPG
vas nuevamente a tu formulario lo llenas y le das click al boton guardar y continuar y te va a aparecer la primer linea de codigo marcada en amarillo (significa que esta detenida la ejecucion) para avanzar solo presiona F8 para avanzar de linea en linea y asi descubriras donde tienes el error.
2.- El formulario ENTRADAS_INV tiene un evento AL ABRIR ahi debe tener esta macro colocada
https://dl.dropbox.com/u/60558202/web/alabrir_ENTINV.JPG
asi el macro hara el trabajo cada vez que abra el formulario, ira a un registro nuevo.
Hola Arturo... Quedó solucionado, Muchas Gracias !!! ... y te FELICITO por ser un Excelente Maestro !!! ...... Saludos !!! ...... Joaquín
BorrarHola Arturo soy tu Alumno Virtual Joaquín.... ya he terminado los tutoriales hasta la entrega No. 6 ..... quisiera saber los temas y fechas de las próximas entregas ??? .... Saludos !!!
ResponderBorrarExcelente tu ayudo, voy siguendo tus videos y hasta ahorita va todo bien y sobre todo estoy aprendiendo mucho.
ResponderBorrarsaludos
Excelente curso virtual, profesor Arturo.
ResponderBorrarFelicitaciones.
Hola amigo gracias por su material es bueno
ResponderBorrarTengo un problema, estoy tratando de hacer entrada de datos y me sale error de desbordamiento, podrías ayudarme a entender porque sale ese error?.
Saludos
Frecuentemente los desbordamientos se deben a los datos numericos que revasan la capacidad segun el tipo numerico. por ejemplo
Borrarpara tipo byte solo acepta rangos de (0 a 255)
para tipo Entero acepta rangos desde (-32,768 a 32767)
para entero largo acepta rangos desde(-2,147,483,648 a 2,147,483,647)
Buenas tardes, profe
ResponderBorrarEstoy trabajando en mi base de datos en un mac, con una aplicación parallels desktop,
para utilizar access, en el escritorio remoto funciona bien, pero cuando utilizo el mismo archivo en otro computador, no me abre la base de datos y me presenta el siguiente error: No se reconoce el formato de bases de datos ".....".accdb.
Sabria usted como se puede resolver.
Muchas gracias
Hola Francisco, este error siempre aparece cuando intentas abrir una base de datos de access en una version de access distinta con la que fue creada, por ejemplo si yo creo una base de datos en access 2010 y luego deseo abrirla con otra computadora donde tengo access 2007, me daria este tipo de error. Verificate que tus versiones de access sean iguales en ambas computadoras.
BorrarPROFESOR ARTURO CHAPA SIGO SU CURSO Y ME ESTA SIENDO DE MUCHA AYUDA PERO TENGO UN PEQUEÑO PROBLEMA AL INTODUCIR LA FORMULA EN EL CAMPO CALCULADO DE BAJO INVENTARIO NI AUN COPIANDOLO DEL CODIGO SiInm([CANT_DISPONIBLE<[CANTIDAD_MINIMA],"SI","NO")
ResponderBorrarSIEMPRE ME DA ERROR DE FALTA
Hola Juan Jose, efectivamente tienes un error "fijate bien"
BorrarAsi lo tienes
SiInm([CANT_DISPONIBLE<[CANTIDAD_MINIMA],"SI","NO")
Asi debe ser
SiInm([CANT_DISPONIBLE]<[CANTIDAD_MINIMA],"SI","NO")
te falta cerrar el corchete de [CANT_DISPONIBLE] <<--
Saludos
Ante Todo gracias por atenderme Efectivamente el error es al hacerle el comentario que lo escribi a falta del corchete aunque lo e copiado tal como lo a expuesto Silnm([CANT_DISPONIBLE]<[CANTIDAD_MINIMA],"SI","NO") me sigue dando el error y despues de probar e dado con la tecla no es coma si no punto y coma y funciona perfectamente gracias por atenderme tan pronto
ResponderBorrarhola muy buenas noches tengo un problema en esta entrada que es la numero cuatro el detalle es que en el formulario entradas_inv, en cantidad a entrar no puedo agregar datos cuando abro el formulario y selecciono el produto tiene una sumatoria en de cantidad a entrar que cada vez que voy a utilizarlo le agrega uno
ResponderBorrarJaime, podrias decirme en quen tipo de movimiento te pasa eso? ya sea cuando agregas una cantidad a EXHIBICION o LOCACION 1,2 o 3
BorrarHola arturo el mejor dia:
ResponderBorrarsucede que mi campo codigo de producto es texto cuando le doy clic en guardar me da error en la siguiente linea Set Rst = CurrentDb.OpenRecordset(sql)y dice no coinciden los tipos de datos en la expresion de criterio, no se como corregirlo, favor ayudame.
verifica que tengas exactamente los mismos campos, nombres y tipos en la tabla, ya que si has cambiado de aquin se puede originar tu error.
BorrarHOLA GRACIAS POR LO DEL CODIGO DE BARRAS MUY BUENO. MIRA EL NUEVO PROBLEMA ES QUE CUANDO VOY A INGRESAR AL INVENTARIO ME SALE "DESBORDAMIENTO" Y YA MIRE LO DE TAMAÑO DE CAMPO PERO NO SE CUAL ES EL DEBIDO A COLOCAR ME PUEDES A YUDAR
ResponderBorrarnecesito saber en que parte del codigo ocurre el desbordamiento, mandame una imagen de cuando pasa el error y la base de datos a mi correo achapa03@gmail.com
Borrarhe verificado tu base,y tu error es que has cambiado en la tabla de productos el ID_PRODUCTO de la tabla de productos de tipo autonumerico a numero,,, el codigo de barras que tu colocas supera por valor el rango del tipo de campo long,, sigue la pracita con los mismos campos y tipos de datos.
Borrarsiii yo lo cambie para poder colocar el codigo de barras de los productos pero no hay alguna forma para que acepte esa longitud ...gracias
Borraren las entregas de la 7 en adelante, se integra el codigo de barras de forma funcional, solo sigue las entregas y podras integrar el codigo de barras sin problemas.
Borrarmuchas gracias bueno lo voy a arreglar... gracias por tu a yuda
BorrarBuen Día maestro Arturo soy Ulises tengo el siguiente problema cuando doy clic en Guardar y continuar del formulario Entradas Inventario me aparece el siguiente mensaje "No coinciden los tipo de datos en la expresión de criterios." De antemano gracias por su ayuda.
ResponderBorrarUlises, descargate de nuevo los objetos de esta entrega,, ya estan disponibles.
Borrarhola arturo. tengo office 2007 y en la tabla de inventarios que le pongo para remplazar calculado?? por que no lo tengo.
Borrarsaludos
Juan, este campo no va ha hacer el unico inconveniente que vas a tener por usar version 2007,, vas a necesitar cambiar a la version 2010
Borraroka, ya migre y ahi estomos encaminando. muchas gracias. muy bueno los videos, la verdad que te pasaste. un genioooooo
Borrar