help con un calculate

chely
09 de Enero del 2004
alguien me podria ayudar con este problema:
quiero calcular la suma de los registros que cumplan con cierta condicion y que en un textbox me aparesca la suma total de los registros coindicentes.
tengo la siguiente instruccion:

CALCULATE SUM(EJEMPLARES) TO TOTEJE FOR MATERIA = 'ESPAÑOL'
THISFORM.TEXT1.VALUE=TOTEJE
THISFORM.REFRESH()

pero me sale un error de tipos

que instrucciones debo escribir.
gracias


Inaki
09 de Enero del 2004
mi niña... los ejemplos anteriores no son malos... pero lo mas facil que puedes hacer es realizar un simple filtro de datos y despues utilizar nuestro querido sum.
por ejemplo

set filter to thisform.text1.value&& campo con la dondicion del filtro
sum (tabla.campo) to thisform.total.value
set filter to
Este código es algo sumamente fácil de usar y no te va ha dar problemas... solo aplicalo de la manera que te sea mejor
saludos

Alex
09 de Enero del 2004
Que tal Amigos.

Muy buenas respuestas.

Una aportación utilizando el SQL.

Para sumar en contenido de un campo específico.

Select Sum(Ejemplares) as nSuma from mitabla Where mateira='ESPAÑOL' into Cursor CurTemp
THISFORM.TEXT1.VALUE=CurTemp.nSuma
THISFORM.REFRESH()

Para contar registros que cumplan una condición.

Select Count(Ejemplares) as nConteo from mitabla Where mateira='ESPAÑOL' into Cursor CurTemp

THISFORM.TEXT1.VALUE=CurTemp.nConteo
THISFORM.REFRESH()

Use && Para cerrar el Cursor temporal


Alex Vargas

Hugozzi
09 de Enero del 2004
Hola, la variable TOTEJE es numerica, debes transformarla a caracter con el comando STR().
...
THISFORM.TEXT1.VALUE=STR(TOTEJE)
...

Suerte,

lechusg
09 de Enero del 2004
Indica bien en que linea es el error.
Si llega a ser en el CALCULATE, controlá el tipo del ampo EJEMPLARES, este debe ser numérico. O sino el campo MATERIA debe ser de tipo character.

Espero que te sirva. Saludos

sgomez
09 de Enero del 2004
Si querés saber cantidad de registros que cumplan la condicion debés usar COUNT y no SUM, porque este ultimo es para sumar los valores de un campo numerico y COUNT cuenta cuantos registros cumplen la condicion.