Error en suma de datos en pie de formulario |
Responder |
Autor | |
Juan
Colaborador Unido: 26/Mayo/2006 Localización: España Estado: Sin conexión Puntos: 1035 |
Tema: Error en suma de datos en pie de formulario Enviado: 19/Octubre/2020 a las 09:05 |
Hola a tod@s:
Al hacer la suma de datos en pie de formulario ,en un cuadro de texto pongo: TextoX:=Suma([Cantidad]*[Precio]) y me da Error Creo que pueda ser un problema estructural pero no sé como resolverlo. Explico como está montado para una mejor comprensión. Hay tres tablas: "tblAfilacion" con datos del cliente y con "IdAfiliación" como clave principal y (Autonumérico) "tblProductosAC" con datos del producto y con "IdProductoAC" como clave principal y (numero) "tblAux" con datos varios y con "IdAfiliacion" e "IdProducto" sin clave principal y (numero) Creo la consulta "qryFacturaAC" relacionando las tres tablas y la cargo con datos reltivos al cliente; DNI, Nombre etc y con datos relativos al producto; cantidad y precio. Para introducir datos creo el formulario "frmAfiliacion" cuyo origen de registro es la tabla "tblAfiliacion" donde pongo los datos relativos al cliente. Dentro de este formulario introduzco el subformulario "SubfrmAfiliacionProducto" cuyo origen de registro el la consulta "qryFacturaAC" Aquí van los campos relativos al producto. Dentro del subfomulario creo un combo donde en el origen de fila aparecen los campos procedentes de la tabla "tblProductos" como nombre, cantidad y precio. El origen de control del combo es "IdProducto" Por último, para hacer la factura creo el formulario "frmFacturaAC"cuyo origen de registro es la consulta "qryFacturaAC" . Los datos campos que incluyo son: En el encabezamiento del formulario los relativos al cliente; DNI, Nombre etc, en el detalle los reltivos al producto; cantidad y precio y en el pie creo textos independiente donde calculo los totales por cliente mediante la función suma, es decir que pongo: TextoX:= Suma([Cantidad] * [Precio]) y me sale Error. Llevo muchas horas tratando de salir de este impá pero no consigo resolverlo. Necesito ayuda Muchas gracias
|
|
jj
|
|
Mihura
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 06/Mayo/2005 Localización: En la dehesa Estado: Sin conexión Puntos: 14025 |
Enviado: 19/Octubre/2020 a las 09:10 |
¿Qué error te sale? ... prueba a proteger los campos Cantidad y precio con
Sin analizar las consultas puestas, ... yo prefiero calcular el campo con una consulta y no usar una suma 'arrastrada'. Edito: ponia Siinm para evitar los nulos, es Nz
Editado por Mihura - 19/Octubre/2020 a las 11:39 |
|
Juan
Colaborador Unido: 26/Mayo/2006 Localización: España Estado: Sin conexión Puntos: 1035 |
Enviado: 19/Octubre/2020 a las 11:19 |
El error es en propio campo del formulario donde intento hacer la suma
#Error Los campos ya los tengo calculados en la consulta pero en el formulario hago la suma total de todos los registros Concepto Cantidad Precio Total Concepto1 2 3 6 Concepto2 4 5 20 Total 26 El total parcial lo calculo en la consulta y el total (26) lo intento hacer en el campo del pie del formulario Lo he intentado con SIim pero da igual, además de que ya se conseguridad que no tienen valor cero. En la consulta uso el Nz
|
|
jj
|
|
Mihura
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 06/Mayo/2005 Localización: En la dehesa Estado: Sin conexión Puntos: 14025 |
Enviado: 19/Octubre/2020 a las 11:34 |
=Suma(Nz(Cantidad, 0) * Nz(Precio, 0))
|
|
Juan
Colaborador Unido: 26/Mayo/2006 Localización: España Estado: Sin conexión Puntos: 1035 |
Enviado: 19/Octubre/2020 a las 16:10 |
Hola Mihura
Ya lo había intentado, lo vuelvo a hacer y sigue igual. Con toda humildad, a mi me parece que podría ser que el formulario de la factura esté alimentado por una consulta en lugar de una tabla pero si arreglo eso, se desarregla la forma de alimentar con el combo. Como digo al principio me parece un problema estructural. Repito con toda humildad, solo quiero dar alguna pista porque en otra aplicación así me ha ocurrido Gracias Mihura
|
|
jj
|
|
Mihura
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 06/Mayo/2005 Localización: En la dehesa Estado: Sin conexión Puntos: 14025 |
Enviado: 19/Octubre/2020 a las 16:36 |
Siendo un formulario continuo debería dar igual que lo alimentara una tabla o una consulta.
La verdad es que yo no los uso, así que poco más te puedo decir. Podrías probar a poner una consulta de dominio DSum al campo que te falla. |
|
Juan
Colaborador Unido: 26/Mayo/2006 Localización: España Estado: Sin conexión Puntos: 1035 |
Enviado: 19/Octubre/2020 a las 16:39 |
¿Cómo lo de la consulta de dominio DSum?
|
|
jj
|
|
Juan
Colaborador Unido: 26/Mayo/2006 Localización: España Estado: Sin conexión Puntos: 1035 |
Enviado: 19/Octubre/2020 a las 16:41 |
Ah¡ si pero en la consulta no me aparece la fila donde la puedo aplicar
|
|
jj
|
|
Mihura
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 06/Mayo/2005 Localización: En la dehesa Estado: Sin conexión Puntos: 14025 |
Enviado: 19/Octubre/2020 a las 16:53 |
En el campo del pie del formulario, algo así como:
= Dsum("Precio*Cantidad", "Consulta", "Condicion") Y si no con un recordset |
|
pitxiku
Colaborador Unido: 27/Septiembre/2017 Localización: En mi casa Estado: Sin conexión Puntos: 1512 |
Enviado: 19/Octubre/2020 a las 20:42 |
Si he entendido bien, hay un formulario con los datos de la factura, y un subformulario donde aparecen las cantidades y precios. Si es así, la suma la debes colocar en el pie del subformulario. Luego puedes colocar otro cuadro de texto en el pie del formulario "principal" que haga referencia al cuadro de texto del subformulario. Y cuando veas que todo funciona bien, puedes ocultarlo:
- En el pie del subformulario: =Suma([Cantidad]*[Precio]) - En el pie del formulario: = NombreSubform.Form!TextoX Editado por pitxiku - 19/Octubre/2020 a las 20:42 |
|
Juan
Colaborador Unido: 26/Mayo/2006 Localización: España Estado: Sin conexión Puntos: 1035 |
Enviado: 21/Octubre/2020 a las 07:32 |
Hola Pitxiku
En primer lugar gracias por tu colaboración en la obtención de un buen resultado y en segundo lugar mis disculpas por tardar en contestar pues no lo he podido hacer antes. Creo que has entendido bien pero, no obstante, repito el esquema: Hay un formulario ("frmA") de tipo único formulario donde, en el detalle, pongo los datos del cliente; DNI, Nombres fechas etc así como el subformulario, ("SubfrmA") donde pongo los datos del producto; precio y cantidad a través de un combo. Aparte tengo un formulario ("frmB") de tipo formulario continuo que me va a servir para emitir la factura. En el encabezado de este fotmulario pongo los datos del cliente, en el detalle los datos del producto y en el pie las sumas. Siguiendo tu consejo, si he entendido bien, he puesto en el pie del subformulario ("SubfrmA") el cuadro de "textoX" con la expresión : =Suma([cantidad]*[Precio]). Sale correctamente el valor. y en el pie del formulario ("frmB") el cuadro de texto "textoY" la expresión: Me.textoY= SubfrmA.Form!TextoX Me sale #¿Nombre? A mi ma parece que no es correcto poner en cuadro de "textoY" en el frmB Un saludo a tod@s Juan |
|
jj
|
|
Juan
Colaborador Unido: 26/Mayo/2006 Localización: España Estado: Sin conexión Puntos: 1035 |
Enviado: 21/Octubre/2020 a las 11:35 |
Hola de nuevo
Ya he visto donde estaba el error Haciendo operaciones en uno de los cuadros de texto en el pie del formulario estaba poniendo: Texto54=Suma([SinIVA]-[Texto48]) Esto da error en el propio campo y,lógicamente, en todos en los que aparezca [SinIVA]. Sin Embargo poniendo: Texto54=Suma([SinIVA])-[Texto48] Está todo correcto. Como se puede ver, en el primer caso la suma abarca a todo, incluido el cuadro de texto mientras que en el caso correcto la suma lo excluye. Muchas gracias a tod@s Nota: Por mi parte podéis quitar el hilo
|
|
jj
|
|
Responder | |
Tweet
|
Ir al foro | Permisos de foro Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |