Estoy programando en Visual Fox Pro y tengo problemas con una tabla con campos numéricos.

Hola.
Necesito ayuda urgente.
Resulta que estoy pogramando en VFP9 un aplicativo que en uno de sus módulos necesita evaluar el contenido de los campos de una tabla; cada campo tiene almacena un valor numérico que va de 1 a 5 puesto que se trata de calificaciones. Cada valor tiene un equivalente que me permite calcular un total final, por ejemplo si a un estudiante se le califico 1 este equivale a un 4, si fue 2 entonces a un 8, 3 = 12, 4 = 16 y 5 = 20. Con que función puedo evaluar cada campo para que al imprimir un reporte, ¿éste me pesente un campo llamado tot1 que debe contener la suma total de los equivalentes de cada campo?
Si no me equivoco cada campo debo evaluarlo 5 veces puesto que para cada uno existen 5 posibilidades.
Para intentarlo solo con un campo hice esto, pero me genero error.
DO WHILE .NOT. Eof("tabla")
        mTotal = 0
        nAlum = Alen(tabla,2)
        FOR i = 4 TO nAlum
        LOCATE FOR tabla.logro1 = 1
        IF FOUND("tabla") then
        mTotal = 4
        LOOP
        ENDIF 
        ENDFOR
         REPLACE tabla.tot1 WITH mTotal
         SKIP
      ¿ENDDO

cómo lo vuelvo repetitivo?
¿Lo qué estoy haciendo esta totalmente mal?
¿Qué otro ejemplo puedes darme?

1 Respuesta

Respuesta
1
El ejemplo que me has enviado no esta muy claro pero imagino que la tabla "Tabla" contiene Código del alumno y cinco campos llamados Logro con valores de 1-5 si es así lo que debes hacer es
SELECT("tabla")
SCAN
STORE0 TO TotAlumno, Total1
FOR x=1 To 5
<span style="white-space:pre"> </span>logro="tabla.logro"+LTRIM(x)
<span style="white-space:pre"> </span>Total1=&logro*4
<span style="white-space:pre"> </span>TotAlumno=TotAlumno+Total1
ENDFOR
<span style="white-space:pre"> </span>REPLACE tot1 with Totalumno
ENDSCAN
Para darte más ayuda necesito la siguiente información
¿1 Diseño de registro de la tabla?
¿2 Cuántos campos se deben evaluar?
¿3 Existen varios registros por alumno?
¿4 Cuál es el diseño del reporte?
5 Si las eqivalencias varian ya que en el ejemplo eqivalencia=Valor*4
Muchas Gracias por tu respuesta.
El registro de tabla contiene:
Código, Nombre, Curso, Logro1, Logro2... Logro5.
A cada logro se le puede asignar valores de 1 a 5.
A cada estudiante le corresponde solo un registro.
Las equivalencias para generar el total son así: para 1=4, 2=8, 3=12, 4=16, 5=20.
El reporte debe llevar un total donde se muestre la suma de las equivalencias dependiendo del valor que se le halla asignado a cada logro.
De antemano te agradezco por tu colaboación; no se si he sido lo suficientemente claro con el tema, no soy un programador experto y ya estoy cabezón con este asunto.
Nuevamente Muchas Gracias.
¿PRobaste el ejemplo que te envíe?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas