Cita:
Empezado por briast
Ahora el usuario solicita que se le muestren los datos ordenando las Cat1 por el campo Res1 y luego los registros de cada Categoría 1 que se ordenen por el campo Res2.
La tabla resultante debería ser la siguiente:
Código:
NºReg | Cat1 | Cat2 | Res1 | Res2 | Res3
--------------------------------------------------------
1 2 null 27 350 200
2 2 5 10 34 50
3 2 1 5 100 87
4 3 null 45 17 24
5 3 2 67 12 34
6 3 9 34 23 21
7 1 null 100 200 150
8 1 2 45 18 25
9 1 3 35 27 10
10 1 1 25 35 50
|
Esto es más difícil que aquello de encontrar al gato en la imagen.
Disculpa es que no entendí la parte que te pongo en negritas con relación a la tabla resultante.
De todas formas, si tuviéramos que recurrir a la inserción que venías realizando, creo que bastaría con que tu campo en el IndexFieldNames fuera de tipo flotante (un InternalCalc TFloatField, por ejemplo).
Así, cada vez que localizaras los dos registros entre los cuales debe insertarse, le asignarías al nuevo registro un valor que se encuentre entre esos dos, y sin tener que modificar nada de los registros ya agregados.
OrdenNuevoRegistro = (OrdenRegistroAnterior + OrdenRegistroSiguiente) / 2