Seleccionar conjuntos de registros de una tabla
Trabajo con Access 2003 con una base de datos local donde tengo la tabla denominada rev_cat_porc_iter1 que se compone de los siguientes campos numéricos:
- ID_REV
- ID_CAT
- Porcentaje
Esta tabla ofrece una típica lista de vecinos con esta forma:
TABLA: rev_cat_porc_iter1
ID_REV ID_CAT PORCENTAJE
100 267 13,88
100 345 10,75
100 518 7,89
100 784 6,91
100 862 5,85
200 206 22,89
200 487 14'09
200 543 12,77
300 267 10,48
300 702 9,57
300 718 5,69
300 804 4,19
300 892 3,50
300 906 3,29
400 487 29'02
400 513 11,78
500 667 14,99
500 745 10,60
500 918 6,29
500 985 6,18
600 862 45,85
700 206 23,01
700 491 13'08
700 531 10,34
800 323 32,45
Necesitaría su ayuda para diseñar una Macro o Código Visual (conozco muy poco de programación y de este lenguaje) que me permitiera ir recorriendo todos los registros de la tabla rev_cat_porc_iter1 e ir copiando los valores en una nueva tabla denominada new_tabla. Esta acción debería estar condicionada, de forma que, por cada grupo de registros cuyos valores en el campo ID_REV sean iguales, sólo se copien en la nueva tabla aquellos en los que la Suma de los valores que le corresponden en el campo PORCENTAJE alcance el umbral de 25. Para clarificar aún más el problema, dejo un ejemplo de cómo quedaría la tabla indicada más arriba:
TABLA: new_table
ID_REV ID_CAT PORCENTAJE
100 267 13,88
100 345 10,75
100 518 7,89
200 206 22,89
200 487 14'09
300 267 10,48
300 702 9,57
300 718 5,69
400 487 29'02
500 667 14,99
500 745 10,60
600 862 45,85
700 206 23,01
700 491 13'08
800 323 32,45
Como se puede apreciar en la nueva tabla, se han ido copiado los registros de la tabla inicial en la nueva hasta que la Suma de los valores del campo PORCENTAJE que le corresponde a cada registro con el mismo valor en el campo ID_REV alcanza o supera el umbral de 25. El ejemplo que he puesto aquí es de juguete, pues en la realidad, la tabla contiene un total de más de 1 millón de registros.
Espero que puedan ayudarme, pues llevo atascado en esta tarea mucho tiempo y no consigo avanzar.
- ID_REV
- ID_CAT
- Porcentaje
Esta tabla ofrece una típica lista de vecinos con esta forma:
TABLA: rev_cat_porc_iter1
ID_REV ID_CAT PORCENTAJE
100 267 13,88
100 345 10,75
100 518 7,89
100 784 6,91
100 862 5,85
200 206 22,89
200 487 14'09
200 543 12,77
300 267 10,48
300 702 9,57
300 718 5,69
300 804 4,19
300 892 3,50
300 906 3,29
400 487 29'02
400 513 11,78
500 667 14,99
500 745 10,60
500 918 6,29
500 985 6,18
600 862 45,85
700 206 23,01
700 491 13'08
700 531 10,34
800 323 32,45
Necesitaría su ayuda para diseñar una Macro o Código Visual (conozco muy poco de programación y de este lenguaje) que me permitiera ir recorriendo todos los registros de la tabla rev_cat_porc_iter1 e ir copiando los valores en una nueva tabla denominada new_tabla. Esta acción debería estar condicionada, de forma que, por cada grupo de registros cuyos valores en el campo ID_REV sean iguales, sólo se copien en la nueva tabla aquellos en los que la Suma de los valores que le corresponden en el campo PORCENTAJE alcance el umbral de 25. Para clarificar aún más el problema, dejo un ejemplo de cómo quedaría la tabla indicada más arriba:
TABLA: new_table
ID_REV ID_CAT PORCENTAJE
100 267 13,88
100 345 10,75
100 518 7,89
200 206 22,89
200 487 14'09
300 267 10,48
300 702 9,57
300 718 5,69
400 487 29'02
500 667 14,99
500 745 10,60
600 862 45,85
700 206 23,01
700 491 13'08
800 323 32,45
Como se puede apreciar en la nueva tabla, se han ido copiado los registros de la tabla inicial en la nueva hasta que la Suma de los valores del campo PORCENTAJE que le corresponde a cada registro con el mismo valor en el campo ID_REV alcanza o supera el umbral de 25. El ejemplo que he puesto aquí es de juguete, pues en la realidad, la tabla contiene un total de más de 1 millón de registros.
Espero que puedan ayudarme, pues llevo atascado en esta tarea mucho tiempo y no consigo avanzar.
1 respuesta
Respuesta
1