Como recalcular campos en subformulario.

Tengo una base de recetas, en el formulario principal selecciono mediante cuadro combinado la receta cuyos ingredientes se muetran en un subformulario, el cual tiene 4 campos. Ingrediente, cantidad, unidad, costo, costounitario (a este lo traigo desde la tabla con precios actualizados). El calculo ya lo hice. Pero lo que no le encuentro la vuelta es que al seleccionar la receta y cargue los datos en suformolario me realice nuevamente el calculo de "costo" entre costounitario y cantidad, según la condición puesta en "unidades" (kg, grs, uds, ml). Tengo una tabla donde actualizo el valor del costounitario, por eso al ver la receta debe recalcular el "costo".

1 Respuesta

Respuesta
1

No se como tienes construida la base, así que te pongo un ejemplo sencillo. Supongamos que tengo una tabla Productos como la de la imagen(obvio lo de las unidades, etc)

Y tengo un formulario con subformulario

Verás que el subformulario tiene un botón Actualizar.

Supongamos que en la tabla cambio los precios

Si en el subformulario pulso el botón de Actualizar

Ha actualizado los precios y el Subtotal

El código del botón es

En realidad quería que sea lo más automatizada posible y que con solo seleccionar la receta en el cuadro combinado cargue los ingredientes y realice los cálculos por las dudas haya actualizado los precios en otra tabla donde están todos los ingredientes.

Lo hice así: realicé un procedimiento function donde realizo la comparación y dependiendo si es kg, grs, lts, ml realice los cálculos pertinentes.

Lo que hacia era llamar a ese procedimiento desde un SUB y así no lograma que al cambiar de receta no realizaba los cálculos. Lo que hice fue llamar al procedimiento desde origen de datos del campo "costo". Y ahora si realiza los cálculos cada vez que selecciono una receta. Lo único que en el registro vacío me aparece #tipo! (Escribo desde el celular y no tengo abrir exclamación).

Ojala se entienda porque soy malo explicando ya que son mis primeros pasos.

Gracias por ayuda ;)

Honestamente, no entendí absolutamente nada

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas