Ordenar por múltiples campos en visual foxpro

Espero tu ayuda una vez más ante el siguiente inconveniente:
Tengo una tabla notas con los datos y estructura siguiente código(char 5), nombres(char 45), razona(num 2), conoce(num 2), cultura(num 2), comprende(num 2), promedio(num 6,3). El campo promedio esta como indice descendente. (Cuadro 1)
Código Nombres Comprende Razona Conoce Cultura Promedio
-----------------------------------------------------------------------------------------------
  001 Juan xasxs 13 6 17 6 16.800
  002 Dante 12 9 13 7 16.400
  003 Ronald 11 9 18 2 16.000
  004 Dina 9 10 17 4 16.000
  005 Heberth 13 9 17 1 16.000
Hasta allí todo bien, el asunto es que yo deseo el siguiente resultado: (cuadro 2)
Código Nombres Comprende Razona Conoce Cultura Promedio
-----------------------------------------------------------------------------------------------
  001 Juan xasxs 13 6 17 6 16.800
  002 Dante 12 9 13 7 16.400
  003 Dina 9 10 17 4 16.000
  004 Heberth 13 9 17 1 16.000
  005 Ronald 11 9 18 2 16.000
Es decir que salga ordenado en orden descendente por: promedio+razona+comprende+conoce+cultura
Como los promedio del 3 y 4 alumno son iguales se compara por razona es decir se coge al mayor es decir Dina; en el 4 y 5 alumno el promedio también son iguales así como razona, pero en el campo comprende Heberth es mayor.
He colocado en el indice de mi tabla en el campo de promedio en la parte de expresión: promedio+razón+comprende+conoce+cultura pero no arroja los resultados como el que te indico (cuadro 2);

1 respuesta

Respuesta
1
Trata con esto: abre la tabla en modo de diseño y establece índices para los campos mencionado, luego en la ficha ordena los indices de acuerdo a los criterios que mencionaste.
Guarda los cambios y cierra la tabla.
Con esta línea de comando abres el archivo
Use NombreTabla Index NombreTabla. Idx
Perdón abres la tabla de esta manera:
Use NombreTabla Index NombreTabla. Cdx
En realidad lo intente, pero lo que hace es mostrarme el indice de manera independiente, lo que yo deseo es que si hay dos iguales tome el mayor como primer registro y luego el siguiente; es decir en orden descendente. Te agradecería que observes el cuadro 1 como están los datos el 3, 4 y 5 están empatados con 16.000 pero el 4 alumno (Dina) tiene 10 en razona y por eso debe ocupar el 3 lugar, para el cuarto lugar ronald y heberth tienen 9 en razona, por lo que se pasa a ver en comprende y heberth es mayor por eso ocupa el 4 lugar.
Se que la pregunta no ha terminado aún, pero tengo 2 imágenes: la primera de ellas esta como fondo y quiero colocar la otra imagen de una persona (foto con extensión png que no tiene fondo) y quiero insertarlo sobre la imagen anterior, pero al colocarlo en un reporte la imagen 2 (foto de persona) me tapa parte de la imagen de fondo; se puede esto en fox o necesito de algún control OCX externo o no se puede.
Pues no amigo, veo que te queda muy complicado de esta manera entonces te coloco una solución mucho más fácil, el problema se resuelve creando una vista SQL y actualizas los datos que ingreses desde la vista.
Cualquier cosa me comentas.
Esta muy buena tu respuesta, voy a realizar algunas modificaciones y luego te comento, desde ya muchas gracias.
De acuerdo, por favor no olvides cerrar la pregunta, te ruego me colabores en ese sentido cuando soluciones el problema, pues como no aparezco como disponible, muchos usuarios buscan la forma de averiguar mi correo y me escriben directamente al mismo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas