Problema con campo de subformulario en formulario

Estoy realizando una base de datos de gestión de clientes y me encuentro con el siguiente problema:

Tengo un formulario principal llamado clientes donde están los datos del cliente.

Dentro de este, tengo un subformulario llamado Eventos, en el cual se da de alta el evento que contrata cada cliente.

Dentro de este subformulario eventos, tengo otro subformulario llamado Pedidos que simplemente recoge la fecha del pedido.

Y por último tengo dentro del subformulario pedidos otro subformulario llamado pedidolinea el cual recoge el código del artículo, la cantidad y el precio.

Resumiendo seria Clientes-->Eventos-->Pedidos-->Pedidolinea

En el subformulario pedido linea, me gustaria que se calculara el total de todos los productos solicitados. He conseguido insertar un campo calculado que me multiplica el precio*cantidad para que saque el total por línea y a continuación en el pie de este subformulario he creado otro campo que dice =suma([cantidad]*[precio]) que en teoria me debe de sumar el total de todas las lineas para sacarme un "total del pedido".

Bien, pues ahora lo que me gustaria es poner el el subformulario eventos o en el formulario principal clientes (me da igual) un campo que me sacara este total del pedido.

Estoy dándole vueltas ya mucho tiempo y no consigo hacerlo funcionar ya que obtengo siempre #Error o #¿nombre? Cada vez que lo intento.

He leido varios manuales y por lo que veo simplemente con llamar al campo que tiene el total del pedido desde cualquier parte debería de salir dicho total, pero en mi caso no es así.

Lo que pienso es que al estar dentro de varios niveles de subformularios, al llamarlo desde fuera o no lo carga o no se que puede pasar pero no encuentra lo que tiene que encontrar.

Si voy al generador de expresiones y busco dentro de formularios cargados, solo llega hasta el subformulario eventos, luego el subformulario pedidos me aparece como con un libro verde y cuando lo selecciono no me deja elegir ningún campo...

No se que hacer y me siento frustrado por no poder hacer algo tan sencillo como mostrar el resultado total de un pedido...

Espero podáis ayudarme.

Gracias.

Respuesta

Lo que haría yo es pasar de lo que dice en los formularios y hacer que el campo sea un

=DSum("campo";"tabla/consulta";"condicion")

Puede parecer más complicado de entrada, pero a fin de cuentas lee directamente sobre el origen de datos que es lo que te importa.

Prueba y si no te aclaras lo vemos de nuevo.

Hola Tomás, en primer lugar muchísimas gracias por tomarte la molestia de contestar mi duda.

No he utilizado nunca esta función (trabajo mucho con Excel, en Access estoy un poco verde la verdad), pero mirando algunos ejemplos entiendo que seria algo así:

=Dsum("total";"tablapedidos";"numeropedido=5") NOTA: Esto es solo un ejemplo y no se corresponde con mis campos.

Aquí el problema que veo es que para ejecutar esta función, tanto el campo que debo sumar, como el criterio deberían estar en la misma tabla, y en mi caso en concreto, la tabla pedidolinea (que es donde introduzco la referencia del producto y la cantidad) no tiene el campo precio (lo saco de una consulta a la tabla productos) y tampoco tiene un campo "total" ya que este es un campo calculado.

Llegado a este punto no se si antes debería hacer una consulta que lo uniera todo o que hacer... pero en caso de ser así ¿Como le digo a la consulta que me sume solo los totales del número de pedido que tengo en vista en ese momento? ¿Al cambiar de registro en el formulario se actualizará? ¿?¿?

No se como enfocarlo ahora mismo.... Si quieres que te mande mi base de datos por si viendolo tu puedes orientarme un poco mejor, no tengo problema alguno, de verdad.

Muchas gracias.

Mándamela si quieres y cuando pueda le echaré un vistazo.

Voy escaso de tiempo, ya ves que hora es, pero lo intentaré.

Mi mail es [email protected]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas