=SiInm(([DtoAncho]*[DtoAlto])<2;Redondear([DtoUnidad]*[DtoAncho]*
[DtoAlto]*0;2);SiInm(([DtoAncho]*[DtoAlto])>4;SiInm(Formularios!
fPartes!Descuento100=Verdadero;Redondear([DtoUnidad]*[DtoAncho]*
[DtoAlto];2);Redondear([DtoUnidad]*[DtoAncho]*[DtoAlto]
*0,8;2));Redondear([DtoUnidad]*[DtoAncho]*[DtoAlto]*0,5;2)))
Y ahora viene el problema: eso me funciona perfectamente en cada línea
de registro, pero a la hora de hacer el TotalDescuentos (la suma de
todos los registros), si pongo =suma([TotalLineaDescuentos]) da
#Error, por lo que sustituyo el nombre del campo por su origen:
=suma(SiInm(([DtoAncho]*[DtoAlto])<2;Redondear([DtoUnidad]*[DtoAncho]*
[DtoAlto]*0;2);SiInm(([DtoAncho]*[DtoAlto])>4;SiInm(Formularios!
fPartes!Descuento100=Verdadero;Redondear([DtoUnidad]*[DtoAncho]*
[DtoAlto];2);Redondear([DtoUnidad]*[DtoAncho]*[DtoAlto]
*0,8;2));Redondear([DtoUnidad]*[DtoAncho]*[DtoAlto]*0,5;2))))
Y entonces no me funciona :-( :-(
No sé si es por la complejidad del origen de datos, pero en las
mediciones (las positivas) para hayar el TotalMediciones, sí que le
pongo =Suma(Redondear([MedUnidad]*[MedAncho]*[MedAlto];2)) y me
funciona a la perfección.
¿Qué hago mal? ¿Alguna idea? ¿Alguna alternativa?
Gracias por anticipado.
Pedro
--
--
**
Salu2/Regards
Ju@nK [MVP Access] 2006/09
[DCE2003 ***] + VSTO [DCE2005 **]
http://juank.mvps.org http://www.juank.es
Correos personales o preguntas particulares en mi grupo
http://groups.google.es/group/juank?hl=es
www.juank.tk
�Que es un MVP?, ent�rate en http://mvp.support.microsoft.com
**
"P3dro" <ppo...@terra.es> escribi� en el mensaje
news:39fef137-fa7a-4a3b...@v17g2000vbb.googlegroups.com...
Hola grupo.
A ver si pod�is ayudarme con un error que no me explico por qu�
sucede.
Tengo 2 subformularios dentro de un formulario principal.
En ambos se introducen una serie de mediciones, uno es para sumar y
otro para descontar, cada uno con su tabla independiente.
La estructura es igual: unidad, alto y ancho, que se guardan en cada
registro, y un campo calculado que NO se guarda: TotalLinea.
De ese TotalLinea hago un total global al pie del subformulario,
TotalMediciones y TotalDescuentos. A su vez, hago un TotalGlobal en el
formulario: TotalMediciones - TotalDescuentos.
Aparentemente todo funciona bien.
Lo complejo del tema esta en que para calcular los descuentos por
linea hay que tener en cuenta una serie de condicionantes, si es mayor
que 2, entre 2 y 4 o mayor que 4, y si hay que descontar un 100% o un
80% (esto se da en una casilla de verficaci�n que esta en el form
principal).
El origen de TotalLineaDescuentos queda as�:
=SiInm(([DtoAncho]*[DtoAlto])<2;Redondear([DtoUnidad]*[DtoAncho]*
[DtoAlto]*0;2);SiInm(([DtoAncho]*[DtoAlto])>4;SiInm(Formularios!
fPartes!Descuento100=Verdadero;Redondear([DtoUnidad]*[DtoAncho]*
[DtoAlto];2);Redondear([DtoUnidad]*[DtoAncho]*[DtoAlto]
*0,8;2));Redondear([DtoUnidad]*[DtoAncho]*[DtoAlto]*0,5;2)))
Y ahora viene el problema: eso me funciona perfectamente en cada l�nea
de registro, pero a la hora de hacer el TotalDescuentos (la suma de
todos los registros), si pongo =suma([TotalLineaDescuentos]) da
#Error, por lo que sustituyo el nombre del campo por su origen:
=suma(SiInm(([DtoAncho]*[DtoAlto])<2;Redondear([DtoUnidad]*[DtoAncho]*
[DtoAlto]*0;2);SiInm(([DtoAncho]*[DtoAlto])>4;SiInm(Formularios!
fPartes!Descuento100=Verdadero;Redondear([DtoUnidad]*[DtoAncho]*
[DtoAlto];2);Redondear([DtoUnidad]*[DtoAncho]*[DtoAlto]
*0,8;2));Redondear([DtoUnidad]*[DtoAncho]*[DtoAlto]*0,5;2))))
Y entonces no me funciona :-( :-(
No s� si es por la complejidad del origen de datos, pero en las
mediciones (las positivas) para hayar el TotalMediciones, s� que le
pongo =Suma(Redondear([MedUnidad]*[MedAncho]*[MedAlto];2)) y me
funciona a la perfecci�n.
�Qu� hago mal? �Alguna idea? �Alguna alternativa?
Gracias por anticipado.
Pedro
Ya lo dice el dicho "el que no sabe es como el que no ve".
Tema solucionado.
Infinitas gracias,
Pedro
On 14 mayo, 16:15, "Ju@nK [MVP 2006/9]" <con...@hotmail.com> wrote:
> Pon la fórmula en la consulta origen del subformulario, así tendrás un campo
> TotalLineaDescuentos que podrás sumar sin problemas.
>
> --
> --
> **
> Salu2/Regards
> Ju@nK [MVP Access] 2006/09
> [DCE2003 ***] + VSTO [DCE2005 **]http://juank.mvps.orghttp://www.juank.es
> Correos personales o preguntas particulares en mi grupohttp://groups.google.es/group/juank?hl=eswww.juank.tk
> ¿Que es un MVP?, entérate enhttp://mvp.support.microsoft.com
> **
> "P3dro" <ppo...@terra.es> escribió en el mensajenews:39fef137-fa7a-4a3b...@v17g2000vbb.googlegroups.com...
> Hola grupo.
> A ver si podéis ayudarme con un error que no me explico por qué
> sucede.
> Tengo 2 subformularios dentro de un formulario principal.
> En ambos se introducen una serie de mediciones, uno es para sumar y
> otro para descontar, cada uno con su tabla independiente.
> La estructura es igual: unidad, alto y ancho, que se guardan en cada
> registro, y un campo calculado que NO se guarda: TotalLinea.
> De ese TotalLinea hago un total global al pie del subformulario,
> TotalMediciones y TotalDescuentos. A su vez, hago un TotalGlobal en el
> formulario: TotalMediciones - TotalDescuentos.
> Aparentemente todo funciona bien.
> Lo complejo del tema esta en que para calcular los descuentos por
> linea hay que tener en cuenta una serie de condicionantes, si es mayor
> que 2, entre 2 y 4 o mayor que 4, y si hay que descontar un 100% o un
> 80% (esto se da en una casilla de verficación que esta en el form
> principal).
> El origen de TotalLineaDescuentos queda así:
>
> =SiInm(([DtoAncho]*[DtoAlto])<2;Redondear([DtoUnidad]*[DtoAncho]*
> [DtoAlto]*0;2);SiInm(([DtoAncho]*[DtoAlto])>4;SiInm(Formularios!
> fPartes!Descuento100=Verdadero;Redondear([DtoUnidad]*[DtoAncho]*
> [DtoAlto];2);Redondear([DtoUnidad]*[DtoAncho]*[DtoAlto]
> *0,8;2));Redondear([DtoUnidad]*[DtoAncho]*[DtoAlto]*0,5;2)))
>
> Y ahora viene el problema: eso me funciona perfectamente en cada línea
> de registro, pero a la hora de hacer el TotalDescuentos (la suma de
> todos los registros), si pongo =suma([TotalLineaDescuentos]) da
> #Error, por lo que sustituyo el nombre del campo por su origen:
> =suma(SiInm(([DtoAncho]*[DtoAlto])<2;Redondear([DtoUnidad]*[DtoAncho]*
> [DtoAlto]*0;2);SiInm(([DtoAncho]*[DtoAlto])>4;SiInm(Formularios!
> fPartes!Descuento100=Verdadero;Redondear([DtoUnidad]*[DtoAncho]*
> [DtoAlto];2);Redondear([DtoUnidad]*[DtoAncho]*[DtoAlto]
> *0,8;2));Redondear([DtoUnidad]*[DtoAncho]*[DtoAlto]*0,5;2))))
>
> Y entonces no me funciona :-( :-(
>
> No sé si es por la complejidad del origen de datos, pero en las
> mediciones (las positivas) para hayar el TotalMediciones, sí que le
> pongo =Suma(Redondear([MedUnidad]*[MedAncho]*[MedAlto];2)) y me
> funciona a la perfección.
>
> ¿Qué hago mal? ¿Alguna idea? ¿Alguna alternativa?
>
> Gracias por anticipado.
>
> Pedro
"P3dro" escribió:
--
--
**
Salu2/Regards
Ju@nK [MVP Access] 2006/09
[DCE2003 ***] + VSTO [DCE2005 **]
http://juank.mvps.org http://www.juank.es
Correos personales o preguntas particulares en mi grupo
http://groups.google.es/group/juank?hl=es
www.juank.tk
�Que es un MVP?, ent�rate en http://mvp.support.microsoft.com
**
"P3dro" <ppo...@terra.es> escribi� en el mensaje
news:b2d510cd-71a7-4906...@o30g2000vbc.googlegroups.com...
Jol�n JuanK, era algo tan sencillo como eso!!!!
Ya lo dice el dicho "el que no sabe es como el que no ve".
Tema solucionado.
Infinitas gracias,
Pedro
On 14 mayo, 16:15, "Ju@nK [MVP 2006/9]" <con...@hotmail.com> wrote:
> Pon la f�rmula en la consulta origen del subformulario, as� tendr�s un
> campo
> TotalLineaDescuentos que podr�s sumar sin problemas.
>
> --
> --
> **
> Salu2/Regards
> Ju@nK [MVP Access] 2006/09
> [DCE2003 ***] + VSTO [DCE2005 **]http://juank.mvps.orghttp://www.juank.es
> Correos personales o preguntas particulares en mi
> grupohttp://groups.google.es/group/juank?hl=eswww.juank.tk
> �Que es un MVP?, ent�rate enhttp://mvp.support.microsoft.com
> **
> "P3dro" <ppo...@terra.es> escribi� en el
> mensajenews:39fef137-fa7a-4a3b...@v17g2000vbb.googlegroups.com...
> Hola grupo.
> A ver si pod�is ayudarme con un error que no me explico por qu�
> sucede.
> Tengo 2 subformularios dentro de un formulario principal.
> En ambos se introducen una serie de mediciones, uno es para sumar y
> otro para descontar, cada uno con su tabla independiente.
> La estructura es igual: unidad, alto y ancho, que se guardan en cada
> registro, y un campo calculado que NO se guarda: TotalLinea.
> De ese TotalLinea hago un total global al pie del subformulario,
> TotalMediciones y TotalDescuentos. A su vez, hago un TotalGlobal en el
> formulario: TotalMediciones - TotalDescuentos.
> Aparentemente todo funciona bien.
> Lo complejo del tema esta en que para calcular los descuentos por
> linea hay que tener en cuenta una serie de condicionantes, si es mayor
> que 2, entre 2 y 4 o mayor que 4, y si hay que descontar un 100% o un
> 80% (esto se da en una casilla de verficaci�n que esta en el form
> principal).
> El origen de TotalLineaDescuentos queda as�:
>
> =SiInm(([DtoAncho]*[DtoAlto])<2;Redondear([DtoUnidad]*[DtoAncho]*
> [DtoAlto]*0;2);SiInm(([DtoAncho]*[DtoAlto])>4;SiInm(Formularios!
> fPartes!Descuento100=Verdadero;Redondear([DtoUnidad]*[DtoAncho]*
> [DtoAlto];2);Redondear([DtoUnidad]*[DtoAncho]*[DtoAlto]
> *0,8;2));Redondear([DtoUnidad]*[DtoAncho]*[DtoAlto]*0,5;2)))
>
> Y ahora viene el problema: eso me funciona perfectamente en cada l�nea
> de registro, pero a la hora de hacer el TotalDescuentos (la suma de
> todos los registros), si pongo =suma([TotalLineaDescuentos]) da
> #Error, por lo que sustituyo el nombre del campo por su origen:
> =suma(SiInm(([DtoAncho]*[DtoAlto])<2;Redondear([DtoUnidad]*[DtoAncho]*
> [DtoAlto]*0;2);SiInm(([DtoAncho]*[DtoAlto])>4;SiInm(Formularios!
> fPartes!Descuento100=Verdadero;Redondear([DtoUnidad]*[DtoAncho]*
> [DtoAlto];2);Redondear([DtoUnidad]*[DtoAncho]*[DtoAlto]
> *0,8;2));Redondear([DtoUnidad]*[DtoAncho]*[DtoAlto]*0,5;2))))
>
> Y entonces no me funciona :-( :-(
>
> No s� si es por la complejidad del origen de datos, pero en las
> mediciones (las positivas) para hayar el TotalMediciones, s� que le
> pongo =Suma(Redondear([MedUnidad]*[MedAncho]*[MedAlto];2)) y me
> funciona a la perfecci�n.
>
> �Qu� hago mal? �Alguna idea? �Alguna alternativa?
>
> Gracias por anticipado.
>
> Pedro