FoxPro/Visual FoxPro - Sumar campo con varias condiciones

 
Vista:

Sumar campo con varias condiciones

Publicado por Claudio Alberto (64 intervenciones) el 30/01/2001 01:34:01
Hola Amigos!
Espero que esta vez también me puedan ayudar.
Tengo que sumar el campo valor, pero con varias condiciones y la verdad es que no meresulta, lo estoy haciendo de la siguiente manera:

dentro de un bucle While
SUM valor for condición1 = variable1 .and. condición2 = variable2 .and. condición3 = variable3 to resultado.
si pongo el valor solamente me suma, pero si pongo mas de 2 condiciones no suma el campo valor,
Como puedo solucionarlo?

Gracias de antemano

Claudio Alberto González Soto
Valparaiso - Chile
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Sumar campo con varias condiciones

Publicado por Cesar Fuenzalida (2 intervenciones) el 30/01/2001 03:13:49
Hola, por lo que entiendo, tu problema no es tan "complicado", yo lo haria así:

res=(var1+var2+var3+var4+....)
? res

Si estoy equivocado, escribeme chao
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Sumar campo con varias condiciones

Publicado por Claudio Alberto (64 intervenciones) el 30/01/2001 03:35:38
Hola Cesar, Gracias por atender mi pregunta.
Lamentablemente no es así, es posible que me haya explicado mal.
yo no quiero sumar varias variables, sinó un campo llamado valor, con mas de 5000 registros, es un programa de inventario. Por lo que el valor a sumar debe cumprir ciertas condiciones, como por ejemplo, Fecha de ingreso, Mes definido, año definido, sucursal, etc. Donde la sucursal, el mes y año, son ingresados por el usuario. y el resultado va dirigido a un informe, pero antes los proceso y los envió a una tabla temporal, desde la cual se crea el Report.
me explique mejor ahora, espero que si.

Claudio Alberto González Soto
Valparaiso - Chile
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Sumar campo con varias condiciones

Publicado por Oscar Pallarozo (38 intervenciones) el 30/01/2001 19:31:13
Hola, la solucion es no usar el bucle por que esta de mas:

Alternativa 1
sum valor all for condición1 = variable1 .and. condición2 = variable2 .and. condición3 = variable3 to resultado

Alternativa 2
sele sum(valor) as resultado from tabla where condición1 = variable1 .and. condición2 = variable2 .and. condición3 = variable3

Alternativa 3
resultado = 0
do while !eof('tabla')
if condición1=variable1 .and. condición2 = variable2 .and. condición3 = variable3
resultado =resultado + valor
endif
skip 1 in tabla
enddo

Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Sumar campo con varias condiciones

Publicado por Claudio Alberto (64 intervenciones) el 01/02/2001 01:44:07
Hola Oscar!, estoy muy agradecido de tu ayuda, aunque no he solucionado el problema, me aclarastes algunas dudas, que me van a servir en alguna otra ocación.
Debido a lo mismo y pruebas que hice, me dí cuenta que no es necesario filtrar, ni poner If, pero si debo tener el Bucle While !EOF().
También descubrí que lo que me da problema es una fecha. Yo tengo en una tabla mas 5000 registros, en los cuales hay un campo que se llama Fecha_Alta, debo sumar el valor de los registros que se dieron de ALTA en un mes y año definido por el usuario, por lo que el usuario ingresa el mes de proceso y el año de proceso, dMes y dAño, y yo trato de sumar los valores de las especies con fecha_alta que coincidan con el mes y año, de la siguiente manera:
Sum valor For fecha_alta = dMes to resultado, no resulta, también he probado lo siguiente:
Sum valor For Month(fecha_alta) = dMes and Year(fecha_alta) = dAño to resultaddo, y me da eroro de incompatibilidad en los datos, también he probado esta otra:
fMes = Month(fecha_alta)
fAño = Year(fecha_alta)
Sum valor For fMes = dMes and fAño = dAño to resultado, y no suma.
Ojalá me puedas ayudar de nuevo.
Gracias por tu desinteresada ayuda, algún día podre devolverte la mano gracias!

Claudio González Soto
Valparaiso Chile
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar