Guardar campo calculado de un subformulario en una tabla

Tengo una base de datos con las tablas ALBARANES (nºalbaran, fecha, id_cliente, pedido, total_albaran) y DETTALLES_ALBARAN (ancho, alto, total, color) y he creado un formulario de ALBARANES con el subformulario de DETALLES_ALBARAN. En el subformulario se calcula el total haciendo ancho*alto*precio, pero como el precio se obtiene una tabla relacionada con ALBARANES en la tabla DETALLES_ALBARAN no se almacena el resultado del cálculo.

1 Respuesta

Respuesta
1

La estructura que interpreto que quieres montar es idéntica a la que utiliza la la Base de Datos de ejemplo Northwind de Access para los pedidos y para los pedidos de Compra.

Si estás utilizando Access 2007 o Superior la Bd la puedes obtener de las Plantillas de Access al generar Fichero >> Nuevo

Una vez que abres ésta BD, elige >> Nuevo Pedido de Cliente.

Aparecerá el Formulario con el SubFormulario.

En vista de diseño y en las Propiedades del SubFormulario >> Origen del Registro, verás que es una Consulta, no una Tabla directa.

Adáptalo a tus Tablas y Nombres de Campos etc.

Además e ignoro si conoces la BD, tiene cosas muy buenas.

Mis saludos, Jacinto

He estado mirando la BD que me comentas, pero me pierdo en ella. Veo que realiza las consultas, pero no sé cómo almacena los datos realmente en la tabla. Supongo que será mediante código, pero no lo encuentro...

Ruk: Cuando hayas abierto el Fomulario, lo pone en vista de diseño.

Pulsas el cuadradito de la parte superior izquierda. Pulsas Diseño >> Ver Código. Se te abrirá el Editor de VBA y ahí verás el Código del Formulario.

Para ver lo mismo del subformulario obra de igual manera.

Llegados a éste punto te haré una aclaración, por si lo desconoces:

Un subformulario "Siempre está en un Contenedor o Control".

El Nombre de ése contenedor lo adjudica Access de Forma predeterminada cuando Insertas un SubFormulario en un Formulario y por omisión si tu no lo cambias le dá el Nombre del SubFormulario.

En éste caso verás que no es así:

El Nombre del "Contenedor" se llama: sbfOrderDetails, mientras que el Nombre del SubFormulario es:

Subformulario Pedidos para Detalles de pedidos

El Origen de Registro del SubFormulario es como tu puedes ver:

Detalles de Pedidos Ampliados >> Que es una Consulta

Si vas al "Contenedor" igualmente verás que su Objeto Origen es el Subformulario y los Campos de vinculación el Campo Id de Pedido.

Te cuento todo ésto, aunque tu lo puedas ver, porque lo vas a necesitar para tu Aplicaión que tendrá la misma estructura, solo que cambiando los Objetos, (Nombres de Tablas, Campos etc.

Reconozco que se puede simplificar el código, ya que en Northwind sondea si ha producto o no etc.

Igual alguien ve una metodología más sencilla, que yo ignoro.

Ya me contarás. Saludos>> Jacinto

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas