Función del Formulario "Productos" en un sistema de compra y venta

Actualmente, estoy desarrollando un sistema para el registro de las compras y ventas de insumos. En varios de los sistemas visualizo la utilización de la tablas y formularios "Productos" pero no comprendo hasta el momento que utilidad tendría a mas de ser el que se utilice para crear y dar de altas las diferentes cuentas de productos.

1.- ¿Quisiera entender cual es la idea de ingresar en el campo "cantidad" del formulario "Productos"? De la nueva cuenta creada, si tomamos en cuentos tres aspectos:

a.- Se tiene un formulario "compras" con el campo cantidad

b.- De que vale el registro de la cantidad en el formulario "productos" si la misma cuenta en ocasiones es cambiante por las distintas compras en facturas a distintos proveedores

c.- En que afecta al inventario.

¿Lo mismo sucede con el valor de precio de compra?

Pregunta:

El formulario "productos" que injerencia tiene en el formulario "compras" y en formulario "inventario"

Saludos

César Bustos

ECUADOR

1 Respuesta

Respuesta
1

En principio el campo cantidad de la tabla producto sólo te es útil si lo vas actualizando (bien por vba o por consultas de actualización) cada vez que registras una compra o salida.

A efectos de inventario, lo mejor es llevarlo mediante consultas. Puedes ver aquí unos ejemplos de cómo calcular stocks mediante consultas (son los ejemplos Gestión de Almacen):

http://siliconproject.com.ar/neckkito/index.php/ejemplos-explicados/aplicaciones

Hola:

3 Cosas:

Primero:

Estoy manejando una tabla llamada "Inventario" el cual me permite registrar en este ingresar las compras y extraer valor para efectuar una venta? Es conveniente tener esta tabla?.

Segundo:

Para registrar las entradas de productos, tengo 3 formularios:

1.- Mediante el formulario "compras" el cual registra la entrada de mercaderías por concepto de "Facturas"

2.- Mediante el formulario "guía de remisión" el cual registra la entrada de mercaderías por concepto envío de productos solicitados de urgencias a la espera de su facturación

3.- Mediante el formulario "liquidación de compras" el cual registra la entrada de mercaderías por adquisición a personas que por su actividad rudimentaria no poseen de RUC.

Estos 3 modos de entradas, me registra y suman sus valores a la cuenta que corresponde de la tabla "inventario", ejemplo

Ingreso desde la el formulario: "compras"

Producto Cantidad Asignar localización

Sevin 80 10 Exhibición

Ingreso desde la el formulario: "guía de remisión"
Producto Cantidad Asignar localización
Sevin 80 20 Exhibición

Ingreso desde la el formulario: "liquidación de compras"
Producto Cantidad Asignar localización
Sevin 80 5 Exhibición

Todos estos valores se me suman en la tabla Inventario en la cuenta que corresponde y le asignan el valor al lugar de localización

Me funciona el concepto, pero el problema surge cuando haya un mal ingreso de un valor en unas de las entradas, CLARO ESTA QUE SE PUEDE ACTUALIZAR pero el valor ya ingresado en la cuenta de la tabla "inventarios" ya no.

En caso de manejar la opción de llevar el stock a través de consulta, como puedo hacer para que estos 3 tipos de ingresos o entradas se UNAN Y SUMEN SUS VALORES, CLARO ESTA POR CUENTA INDIVIDUAL PARA ASÍ SABER CUANTO SE TIENE DE STOCK POR CADA PRODUCTO

Tercero:

Cual es el método a seguir si deseo utilizar el formulario o tabla "productos" para hacer útil los campos "cantidad" y "precio de compra", es decir:

Si hoy compro un nuevo producto llamado "SEVIN 80" en el formulario "productos" registro lo siguiente:

ID_Producto Producto Cantidad Precio de compra

4 Sevin 80 20 $ 12

y en formulario "compras" me pregunto cual es la finalidad??????? de volver a ingresar una segunda vez el mismo proceso?????? si la idea en los sistemas es ahorrar tiempo

Me podrías sugerir algún método para que se utilicen bien los formularios, estos sean útiles y reduzcan el trabajo duplicado.

Saludos

A ver, que me parece que no tienes claros los conceptos:

Los formularios no almacenan valores, los valores se almacenan en las tablas. .

Primero: si utilizas el método de inventario por medio de consultas, esa tabla te sobra.

Segundo: Si los tres formularios que dices, se basan en la tabla compras, puedes aplicar el ejemplo que te sugerí sin problema. Si cada uno se basa en un tabla distinta, tendrás que adaptar el ejemplo a tus tres tablas.

Siempre se pueden actualizar los valores si te equivocas, bien por vba o con consultas. Igual que lo haces para registrar, lo hacer para modificar.

Tercero: en mi opinión, en la tabla productos te sobran los campos cantidad y precio de compra, pues esos conceptos ya los recoges en Compras.

Te comprendo: solo tres cosas finales:

Primero:

a.- Como podría mediante consulta unir las tres tablas de entradas "compras"-"guías de remisión"-"liquidación de compras" para que guarde un solo valor, y poder utilizar el ejemplo que me diste, que me parecio muy bueno.

b.- Se me ha ocurrido mejor utilizar una sola tabla y un formulario de entreda, pero quisiera en éste tener la opcion de identificar si es el ingreso a traves de "Factura" - "Guía de remisión" o "Liquidación de Compras", pero que a su vez me arroje el numero consecutivo del tipo de documento, no unido sino separado, es por ese motivo que opte por hacer tres tablas distintas que me identifique si fue la primera entrada de factura o de los demas tipos, ejemplo:

En un mismo formulario de entrada, pueda seleccionar mediante un cuadro combinado si es "Factura" - "Guía de Remisión" o "Liquidación de Compras" y a su vez si es factura me arroje el consecutivo de factura, si es guia de remisión su consecutivo o si es liquidacion de compras su consecutivo, lo que no deseo es que solo existe un solo consecutivo, espero haberme hecho entender.

Segundo:

Que hago si tengo la entrada de un mismo producto con dos diferentes precio de compras, ahi viene la utilidad del campo "precio de compra" que me da la referencia del ultimo costo del producto, pero como hacer que este se actualice y guarde el valor mayor

Tercero:

Disculpa por las molestias generadas, comprendo que tengas otras actividades mas importantes, de antemano gracias por tus referencias para solucionar inquietuves que surgen en el aprendizaje.

Saludos

Es decir un mismo formulario, que me permita hacer entradas con tres opciones de ingresos distintas "Factura", "Guía de Remisión" , "Liquidación de compras" con tres diferentes campos autonuméricos consecutivos, dependiendo el tipo de comprobantes, hay que tomar en consideración el subformulario

Saludos

Hola,

Favor ayudame con este tema, lo necesito , para avanzar con el resto de formularios que se relacionan, disculpa la molestia

"Es decir un mismo formulario, que me permita hacer entradas con tres opciones de ingresos distintas "Factura", "Guía de Remisión" , "Liquidación de compras" con tres diferentes campos autonuméricos consecutivos, dependiendo el tipo de comprobantes, hay que tomar en consideración el subformulario"

En conclusión: Que en el formulario único de entradas de compras: haya una opciones para seleccionar tres opciones: "Factura"; "Guía de remisión" y Liquidación de compras; y a la vez que selecciono la opción me muestre el campo autonumérico que continua de acuerdo a su uso, si elijo la opción "factura" y ya haya realizado 10 ingresos, al momento que lo selecciono me salga el campo autonumérico # 11, y si eh utilizado la opción "guía de remisión" y eh realizado 3 ingresos, al momento de seleccionarlo me arroje el # 4 como su ingreso.

Espero haberme entendido.

Amigo, por fa ayudame en este tema, estoy paralizado, es vital este tema para avanzar con el resto, de antemano gracias,

Saludos

Saludos

Primero:

a) Para unir las tres tablas en una sola (siempre que tengan los mismos campos y del mismo tipo), utiliza una consulta de datos anexados. Otra opción es un simple copia-pega de los registros de una tabla a otra.

b) Mirate esta pregunta, que creo que es parecido a lo que pides:

http://www.todoexpertos.com/categorias/tecnologia-e-internet/bases-de-datos/microsoft-access/respuestas/6nykzr1dcm4nq/autonumerico-con-series-de-datos

Segundo:

Lo único que se me ocurre es que hagas dos entradas, cada una con su precio.

No comprender la primera parte

y la segunda, habría una opción que cuando registro una nueva compra de un producto en el subformulario " compras_detalle" que en primera instancia ya haya sido ingresada en el formulario "productos" su cuenta y su valor respectivo, me permita dirigirme a este ultimo para actualizar el precio de compras y el que me muestra en el subformulario sea menor al que intento ingresar????

Te consulto hay la posibilidad de hacer lo que te intento realizar con un solo formulario con tres opciones y tres campos autonuméricos consecutivos?

Cito: "Te consulto hay la posibilidad de hacer lo que te intento realizar con un solo formulario con tres opciones y tres campos autonuméricos consecutivos?"

Si, pero tienes que crear tu el autonumérico, de la misma forma que en el ejemplo que te ponía en el post anterior (la pregunta que respondió Angeles Sebas)

Cito: "a.- Como podría mediante consulta unir las tres tablas de entradas "compras"-"guías de remisión"-"liquidación de compras" para que guarde un solo valor, y poder utilizar el ejemplo que me diste, que me parecido muy bueno."

Hay una clase de consultas, que son las de datos anexados, que sirven para eso, anexar datos de una tabla a otra.

Otra forma es copiar los registros de una tabla a la otra, manualmente.

Cito: "habría una opción que cuando registro una nueva compra de un producto en el subformulario " compras_detalle" que en primera instancia ya haya sido ingresada en el formulario "productos" su cuenta y su valor respectivo, me permita dirigirme a este ultimo para actualizar el precio de compras y el que me muestra en el subformulario sea menor al que intento ingresar????"

Aquí no se me ocurre nada, lo siento.

Hola:

Primero:

Eh optado por utilizar la tabla inventarios para ingresar desde las tres tablas los valores de compras, y cuando exista algún error, lo corregiré con un formulario denominado "ajuste de inventario" el cual me servirá para evaluar a la persona que maneja el sistema, tomando en cuenta que uno antes de cerrar algún registro deberá estar seguro de lo que se hace.

Segundo:

Con la tabla inventario la utilizare como mi tabla de entrada para proceder a realizar el ejercicio del stock.

Tercero:

Como podría hacer para inmovilizar el tamaño de las columnas del subformulario "compras_detalle", es para que el usuario no este moviendo y no distorsione su diseño

Cuarto:

Que código debo utilizar en el campo precio unitario del subformulario "compras_detalle", para que me traslade al formulario "productos" en caso de requerirlo.

Adicional; que código podría utilizar para que en el formulario para que no se me vaya al siguiente registro una vez efectuado el ingreso, lo que pasa es que muchas veces con las direccionales envía al siguiente registro, y me cuenta un registro mas sin que este haya sido llenado.

Saludos, y creo que esto es lo ultimo en esta consulta.

http://www.filebig.net/files/bLBreb5wp4

Saludos

Hola:

Una consulta URGENTE!!!!!!!!!!!!!!

Que debo hacer si necesito desde el Formulario "Productos" para los valores ingresados en los campos:

ID_Producto 1

Cantidad_Mínima 100

Cantidad_Máxima 200

a la tabla "Inventarios" con los campos parecidos:

FID_Producto

Cantidad_Mínima

Cantidad_Máxima

es decir copiar los valores ingresados en los campos del formulario "Productos" a los campos de la tabla "Inventarios", el ejemplo debería ser algo así:

Formulario "Productos" ---------copiar a -------------- Tabla "Inventarios"

Campos Valor Campos

ID_Producto 1 FID_Producto 1
Cantidad_Mínima 100 Cantidad_Mínima 100
Cantidad_Máxima 200 Cantidad_Máxima 200

Ya realicé una consulta de "datos anexados" y me funciona, pero lo malo es que cuando necesito ingresar otro dato nuevo, se me copian los valores anteriormente ingresados y se me duplican, hay como solucionarlo o existe mejor un código o evento?

FAVOR TU AYUDA DE URGENCIA.

Saludos

Mira:

Intente que con este código:

Dim bd As DAO.Database

Dim rst As DAO.Recordset
Set bd = CurrentDb

Set rst = bd.OpenRecordset("Inventarios", dbOpenDynaset)

rst.AddNew
rst.Fields("FID_Producto") = Me.ID_Producto.Value

rst.Fields("Cantidad_Mínima") = Me.Cantidad_Mínima.Value

rst.Fields("Cantidad_Máxima") = Me.Cantidad_Máxima.Value
rst.Update

Me sirve la primera vez, pero luego me arroja el siguiente error:

Se ha producido el erro '3201' en tiempo de ejecución
No se puede agregar o cambiar el registro porque se necesita un registro relacionado en la tabla "Productos"

QUE DEBO HACER, ESTE OPCIÓN ME PARECE INTERESANTE, AYUDAME LO MAS URGENTE POSIBLE.

Saludos

Hasta el lunes no va a poder ser, pues no estoy en casa y no tengo forma de mirar tu BD para ver que puede estar fallando.

El error que te da, que no indicas donde te lo da (la linea que te aparece marcada al darle a "depurar") me lleva a pensar que tienes relacionadas ambas tablas de algún modo, por lo que te haría falta en el recordset añadir el campo que las relaciona...

En cuanto a lo que preguntabas ayer:

Tercero: si el formulario lo tienes como Hoja de datos, no hay manera, o al menos yo no la conozco.

Para que el formulario no te vaya a un nuevo registro, en sus propiedades, le pones Permitir agregar a No, y Ciclo e Registro activo. Esto te obliga a dos cosas:

1º poner un botón para añadir un nuevo registro

2º al llegar al ultimo campo, volver a deshabilitar añadir registros.

Esto lo harías con Me.AllowAditions=True/False

Y por favor, usa una pregunta para cada duda, sobro todo si no están relacionadas con la pregunta original.

Hola ayudame antes de que se acabe el día:

El error me envía a la linea

rst.Update

la relación de la tabla están entre el campo

Productos ID_Producto

Inventario FID_Producto

Favor, para poder avanzar hoy

Saludos

Pon rst. Addnew, pues estas creando un registro nuevo, no actualizando uno que ya existe

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas