Rebajar valor de campo en formulario

A ver si me pueden ayudar.

Tengo un formulario con un campo (metros) que coge el valor de otro formulario abierto

El objetivo del formulario es partir a trozos una pieza de tejido con una longitud de metros (y otros datos) que hemos cogido de otro formulario abierto.

En este segundo formulario se trata de ir cortando trozos de distintas longitudes y ir rebajando esos trozos de los metros originales hasta agotar la pieza. (O sea que el valor de los metros sea 0) y a su vez, generar un registro con cada uno de los trozos que vamos cortando y que los metros actualizados después de generar cada registro se reflejen en un control del formulario.

No se si me he explicado con suficiente claridad.

1 respuesta

Respuesta
2

Habría que saber como tienes construida la base, pero supongamos que tienes una tabla Productos, con IdProducto, tipotela,..., Existencias(para los metros)

Y supongamos que tienes otra tabla Cortes, donde tienes, por ejemplo, Idproducto(numérico),... Metros

En el evento Después de actualizar del cuadro de texto Metros puedes poner

Docmd.setwarnings false

docmd.runsql"update Productos set existencias=existencias-" & me.metros & " where idproducto=" & me.idproducto & ""

Así, cuando en este formulario Cortes, elijas un idproducto y luego pongas los metros que cortas(usas) te restará de las existencias de ese producto la cantidad de metros que has gastado(cortado)

Gracias por tu rápida respuesta Icue.

Perdona mi demora en contestar pero he estado fuera y no me lo he podido mirar.

Al grano.

como ya me suponía me he expresado poco y mal. En realidad lo quiero es tener un control que originalmente ponga los metros totales de la pza (eso lo tengo solucionado porque importo los datos de otro formulario) y a medida que reparto esa pza en distintos clientes, el valor se vaya descontando de ese control [resto] pero solo a nivel informativo para yo saber cuanto metros quedan disponibles en cada momento. los registros importantes son los que voy creando a medida que dispongo la pza. o sea, el registro original se da de baja y a su vez se crea otro nuevo con cada venta parcial de la pza.

ejemplo:  en principio tengo una pza de 50 mts y el control marca 50 mts. Paso un pedido de un cliente que quiere 20 mts y cuanto entro el registro, el control [resto] marca el resto o sea 30 mts.

paso otro pedido de otro cliente de 25 mts y el control [resto] marca 5 mts. y paso un tercer pedido de 5 mts para otro cliente y el control [resto] marca 0.

a todo esto, el control debe ir comprobando que la venta por cliente no supere el valor del control [resto] y en caso contrario de error.

creo que visualmente ahora queda mas claro, o por lo menos eso me parece a mi.

muchas gracias

Te decía que al no saber como tienes construidas las tablas y formularios tengo que suponerlo. Supongamos que tengo una tabla Productos

Y tengo un formulario Pedido con un subformulario DetallePedido

Te pongo el control Total Pedido en amarillo para que veas como funciona(no es punto de tabulación). Si en el subformulario elijo un producto, en precio me va a poner el que tiene ese producto, en ANTES pondrá los metros que hay antes de vender y el cursor se va a Cantidad. Una vez puesta una, en Despues me pone las que quedan de ese producto. En caso de que quedaran 5 o menos el cuadro Después se pone en rojo. Si en el siguiente registro pusieras una cantidad mayor que la que aparece en ANTES(lógicamente no puedes vender lo que no tienes), te aparece un mensaje advirtiéndote y el cursor se vuelve al cuadro de texto cantidad para que lo modifiques.

Y en el cuadro de texto TotalPedido te va poniendo la suma acumulada de los diferentes subtotales, para que sepas lo que cuesta el pedido.

El código de los diferentes controles es

muchas gracias Icue,

mi formulario y el planteamiento es diferente a tu propuesta pero tu código lo he podido aplicar y me funciona perfectamente. 

muchas gracias de nuevo por tu ayuda.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas