FoxPro/Visual FoxPro - Mostrar datos filtrados en un Grid

 
Vista:

Mostrar datos filtrados en un Grid

Publicado por Matias (7 intervenciones) el 21/02/2017 23:52:28
Buenos días.

Soy bastante nuevo en vfp y me gustaría que alguien me ayude.
Tengo una tabla con dos campos Nombre y Pagos. Quisiera crear un codigo que filtre por nombre y sume los pagos, y si los pagos superan los 100 me muestre el nombre en un Grid.

Por ejemplo
Juan hizo dos pagos uno de 50 y otro de 80, y Jose solo hizo uno de 50. Quisiera que me muestre en el Grid solo el de Juan.

Como dije soy bastabte nuevo en vfp y nose como hacerlo. Me gustaria que alguien me ayude. Saludos y 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

Mostrar datos filtrados en un Grid

Publicado por José M. Ferrer A. (31 intervenciones) el 22/02/2017 14:37:13
Una manera práctica, sencilla y eficaz es mediante SQL.

Suponiendo que la tabla se llame Pagos y que esta contenga los campos: Nombre y Pago, puedes aplicar lo siguiente a nivel de las propiedades del control Grid.

*--- Estable el ttypo de origen de datos de la cuadrica a Instrucción SQL
GridX.RecordSourceType=4
*--- Indicar la secuencia SQL que aplicará el grid.
GridX.RecordSource=SELECT nombre,SUM(pago) AS "Pagos" FROM pagos GROUP BY NOMBRE HAVING Pagos>=100 ORDER BY NOMBRE
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

Mostrar datos filtrados en un Grid

Publicado por Matias (7 intervenciones) el 22/02/2017 22:31:31
Hola José muchísimas gracias por tu respuesta. Quisiera hacerte una ultima consulta si no es mucha molestia.
Si en la misma tabla tengo además otro campo llamado Deudas y quisiera mostrar en el Grid el nombre de las personas que tengan iguales pagos que deudas. Por ejemplo Juan tiene una deuda de 200 e hizo dos pagos de 100, mientras que Pedro tiene una deuda de 100 pero solo hizo un pago de 50, solo mostrar el nombre de Juan. De nuevo muchisimas gracias y saludos.
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

Mostrar datos filtrados en un Grid

Publicado por José M. Ferrer A. (31 intervenciones) el 23/02/2017 01:37:55
Es muy similar a la instrucción anterior, solo que este caso buscamos el saldo pendiente de la deuda original.

Ej.:


Asi para ver quien tiene deuda pendiente:
SELECT nombre,SUM(Deuda-pago) AS "SaldoDeuda" FROM pagos GROUP BY NOMBRE HAVING SaldoDeuda>0 ORDER BY NOMBRE

Así para saber quien canceló ya su deuda

SELECT nombre,SUM(Deuda-pago) AS "SaldoDeuda" FROM pagos GROUP BY NOMBRE HAVING SaldoDeuda=0 ORDER BY NOMBRE
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

Mostrar datos filtrados en un Grid

Publicado por Matias (7 intervenciones) el 23/02/2017 22:36:37
Gracias José
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