FoxPro/Visual FoxPro - COMPARAR REGISTROS

 
Vista:

COMPARAR REGISTROS

Publicado por ELIZA (2 intervenciones) el 31/08/2006 22:57:29
COMO PUEDO COMPARAR REGISTROS DE UNA TABLA PARA Q LOS QUE SEAN IGUALES SE SUMEN Y SE FORME UN SOLO REGISTRO EN VFP6 POR EJEMPLO

TENGO UN TABLA LAMADA notarev CON LOS CAMPOS fraccion desc peso origen valor

QUIERO BUSCAR EN LA TABLA notarev LOS REGISTROS Q TENGAN EL CAMPO fraccion
IGUAL Y SUMAR EL CAMPO peso DE ESOS REGISTROS PARA CREAR UN SOLO REGISTRO ME AYUDARIAN MUCHO GRACIAS
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:COMPARAR REGISTROS

Publicado por Manuel (7 intervenciones) el 31/08/2006 23:23:51
Puedes crear un select con sum

Ejemplo
SELECT SUM(PESO) FROM TUTABLA WHERE FRACCION="ALA FRACCION QUE TU QUIERES" INTO CURSOR XCURSOR
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:COMPARAR REGISTROS

Publicado por Manuel M. (332 intervenciones) el 01/09/2006 07:01:39
Veremos si te entendi ELIZA
Lee lo que vamos a hacer, en caso que se repitan deben borrarse los sobrantes y quedar solo uno, como:

creo un campo mas en la tabla llamado MARCADO para tener control de los registros

select notarev => elijo la tabla
scan => inicio un bucle
replace notarev.marcado with "S" => marco el registro
m.registro=recno() => tomo la posicion del registro ej. 1,2,3, ó 90
m.fraccion =notarev.fraccion => tomo la fraccion con la que debo trabajar
thisform.refresh => refresco el formulario

sum notarev.peso to m.peso for notarev.fraccion = m.fraccion => sumo todos los pesos que acompañan esta fraccion
thisform.refresh => refresco nuevamente

locate for notarev.fraccion=m.fraccion y marcado="S" => regreso al registro que dejé marcado
replace notarev.peso with m.peso => le coloco a este el total de pesos
delete for notarev.fraccion=m.fraccion y marcado=" " => elimino los otros que tienen la misma fraccion pero que no estan marcados

go m.registro => regreso al registro que dejé marcado y se repite lo mismo para el siguiente hasta que llega al final de la tabla.

endscan

nota: debe hacer esto un formulario y recuerda que m.registro,m.fraccion,m.peso son que estan estar en formulario y son numericas.

si no te funciona, ubicame.

Manuel M.
Republica Dominicana
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:COMPARAR REGISTROS

Publicado por ELIZA (2 intervenciones) el 01/09/2006 19:30:54
gracias manuel m. tu ejemplo hace exactamente lo que queria fuiste de gran ayuda muchisimas gracias :0)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar