Access - Actualizaciones

 
Vista:

Actualizaciones

Publicado por Al (4 intervenciones) el 09/11/2001 07:59:17
Tengo dos preguntas:

1) Tengo una tabla "ALMACEN" que contiene articulos con su código "CodMat", descripción, precio, peso, Stock "Stock"... y algunas características más. Luego a parte tengo otras tablas "LOTE DE PIEZAS" y "USAR MATERIAL ALMACEN" que tiene, entre otras cosas, unos codigos, los codigos de los materiales utilizados y la cantidad.
He creado un formulario "F_LOTE DE PIEZAS" con un subformulario "F_USAR MATERIAL ALMACEN" (Relacionado con el F_LOTE DE PIEZAS por el campo CodigoLotePiezas), en este subformulario se pone, el codigo del material del almacen "CodMatAlmacen" y la cantidad utilizada de este material "CantMatAlmacen".

Pues mi pregunta es como puedo actualizar el almacen al introducir los datos en el subformulario. Que decremente el material "CodMatAlmacen" en "CantMatAlmacen" unidades, sin que este abierto este formulario.

Stock de CodMat=Stock de CodMat-CantMatAlmacen de CodMatALmacen

Me han comentado que puedo hacerlo con referencias cruzadas o con "update" si el formulario almacen no esta abierto (y no lo está); pero la verdad es que no se muy bien como implementarlo.

2) La tabla "LOTEDEPIEZAS" está relacionada con otra llamada "PIEZA" mediante el campo NumPieza , pues cada Lote usa una sola pieza). Tengo un formulario "PARTEDETRABAJO" que cuando se introduce el CodigoLotePiezas quiero que me aparezca automáticamente en un campo "Pieza" la pieza a la que se refiere ese Lote. ¿Esto se puede hacer?

Es sólo esto. Espero no haber sido muy extenso. Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Actualizaciones

Publicado por Alejandro (4142 intervenciones) el 19/04/2023 17:40:32
1. Para actualizar el stock del material en el formulario de "LOTE DE PIEZAS" después de introducir la cantidad utilizada en el subformulario "USAR MATERIAL ALMACEN", puedes utilizar una consulta de actualización en el evento AfterUpdate del subformulario. La consulta de actualización sería algo así:

1
2
UPDATE ALMACEN SET Stock = Stock - [Forms]![F_LOTE DE PIEZAS]![F_USAR MATERIAL ALMACEN].Form![CantMatAlmacen]
WHERE CodMat = [Forms]![F_LOTE DE PIEZAS]![F_USAR MATERIAL ALMACEN].Form![CodMatAlmacen];

Esta consulta actualizará el valor del campo "Stock" de la tabla "ALMACEN" restando la cantidad utilizada del campo "CantMatAlmacen" del subformulario "USAR MATERIAL ALMACEN" para el código de material seleccionado en el subformulario. Para ejecutar esta consulta, asegúrate de que el formulario "LOTE DE PIEZAS" está abierto y que el subformulario "USAR MATERIAL ALMACEN" también está abierto y en modo de edición.

2. Para mostrar automáticamente el campo "Pieza" en el formulario "PARTEDETRABAJO" que corresponde al número de pieza utilizado en el lote seleccionado, puedes utilizar una consulta de búsqueda en el evento AfterUpdate del campo "CodigoLotePiezas". La consulta de búsqueda sería algo así:

1
2
3
SELECT PIEZA.Descripcion
FROM PIEZA INNER JOIN LOTEDEPIEZAS ON PIEZA.NumPieza = LOTEDEPIEZAS.NumPieza
WHERE LOTEDEPIEZAS.CodigoLotePiezas = [Forms]![PARTEDETRABAJO]![CodigoLotePiezas];

Esta consulta buscará el número de pieza correspondiente al lote seleccionado en el campo "CodigoLotePiezas" del formulario "PARTEDETRABAJO" y mostrará su descripción en el campo "Pieza". Para ejecutar esta consulta, asegúrate de que el formulario "PARTEDETRABAJO" está abierto y en modo de edición.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar