Como estas, mira yo estoy haciendo en access un programa de inventarios, tengo una base que se llama "articulos" el cual esta compuesto por key, numero, nombre y costo. Otra base que se llama movimiento, cuando yo meto una factura necesito que el costo del articulo se me actualice automáticamente de la base "articulo". ¿Cómo lo hago? No se usar el seek, que píen es el que se utiliza.
Respuesta
1
1
Anónimo
Para eso debes ejecutar una consulta de actualización o crear una macro con la acción: EjecutarSQL En la propiedad "Instrucción SQL" digitar algo como esto: UPDATE Detalle_Factura INNER JOIN Inventario ON Detalle_Factura.Id_Producto = Inventario.Id_Producto SET Inventario.Producto = [Formularios]![Facturas]![Producto] WHERE (((Inventario.Id_Producto)=[Formularios]![Facturas]![Id_Producto])); UPDATE Detalle_Factura INNER JOIN Inventario ON Detalle_Factura.Id_Producto = Inventario.Id_Producto SET Inventario.Producto = [Formularios]![Facturas]![Producto] WHERE (((Inventario.Id_Producto)=[Formularios]![Facturas]![Id_Producto]) AND ((Inventario.Cantidad)=[Cantidad]+[Formularios]![Facturas]![Cantidad])); UPDATE Detalle_Factura INNER JOIN Inventario ON Detalle_Factura.Id_Producto = Inventario.Id_Producto SET Inventario.Producto = Formularios!Facturas!Producto, Inventario.Cantidad = Inventario.Cantidad+[Formularios]![Facturas]![Cantidad] WHERE (((Inventario.Id_Producto)=[Formularios]![Facturas]![Id_Producto])); Lo que significa ejecutar una consuta de actualización donde hay dos tablas (Inner join): 1- Detalle_Factura 2- Inventario Actualizar el campo Producto de Inventario (SET) al valor mostrado en el Formulario Facturas En el campo Producto. Actualizar el campo Cantidad de Inventario al valor mostrado en el Formulario Facturas En el campo Cantidad + el valor que se haya en el campo Cantidad del Inventario. Y donde (WHERE) el Id_Producto del Inventario sea igual al Id_Producto del Detalle de Factura. Guardar la macro con el nombre "Actualizar_Inv" Luego crear un botón en el formulario de Facturas con el "Asistente para botones de comando", seleccionar en categoría = Otras, y en Acciones = Ejecutar Macro, Seleccionar la macro Actualizar_Inv. De manera que cada vez que hagas clic en el botón de Actualizar el inventario cambie el nombre del producto y la cantidad de la factura se agregue a la cantidad en Inventario. Si te parece difícil, deberías probar con averiguar sobre Consultas de Actualización en el Asistente de MS Access y crear una consulta de Actualización con las tablas mencionadas, de la misma forma hay que crear un botón de comando en el formulario de Facturas que llame a una macro la cual llama a esa consulta (ya que no se puede ejecutar directamente).