Sumar valores mostrados en un grid

1,143 views
Skip to first unread message

pablo b(La Pampa)

unread,
Nov 18, 2011, 7:57:00 AM11/18/11
to Comunidad de Visual Foxpro en Español
Hola Amigos, buen dia, le cuento, tengo una BD en mysql y en un form
estoy haciendo una caja diaria de movimientos los cuales los muestro
en un grid, hasta ahi todo barbaro, el tema se me presenta en que yo
quiero que me muestre en un textbox al final del form el saldo que da
la caja, para eso hay que sumar todo los valores que hay en una columa
en mi caso el campo de llama (debe) el otro se (haber) y de ahi sale
el saldo en caja. Parece facil pero se me presenta algun tipo de
problema al hacelo porque no se si recorro solo el grid o toda la
tabla de cajadiaria.
yo hice esto SUM debe-haber to thisform.text6.value, funciono bien me
mostro el saldo en el text6 pero el resto del form no sigue funcionado
correctamente o sea tengo otros textbox que me tiene que mostrar datos
del grid tambien es el comando SUM es como que lo pasa por arriba y no
deja avanzar o no se como hacer

¿Alguna idea??? o como es el correcto uso del SUM o como lo harian
uds, pense en un select sum tambien pero no se como hacer.

Muchas Gracias

Pablo

ricardo peña

unread,
Nov 18, 2011, 8:04:36 AM11/18/11
to GRUPO-VFP GRUPO-VFP
Fíjate que el comando sum te deja parado en el eof de la tabla.
Si disparas otra vez el comando sum, sin hacerle go top, no
te traerá los valores deseados.

Ricardo Luis Peña
Analista de Sistemas
BA - Argentina
011-15-4440-7378
 
> Date: Fri, 18 Nov 2011 04:57:00 -0800
> Subject: [vfp] Sumar valores mostrados en un grid
> From: panch...@gmail.com
> To: publice...@googlegroups.com

Intel Man

unread,
Nov 18, 2011, 8:28:07 AM11/18/11
to publice...@googlegroups.com
Hola, el sum siempre empieza desde el principio de la tabla (si es que no le definimos un REST o algun filtro) aunque el puntero de la tabla esté al final.

Saludos



From: rl...@hotmail.com
To: publice...@googlegroups.com
Subject: RE: [vfp] Sumar valores mostrados en un grid
Date: Fri, 18 Nov 2011 13:04:36 +0000

Irlandes 1960

unread,
Nov 18, 2011, 8:31:58 AM11/18/11
to publice...@googlegroups.com
Hola, entiendo que es una consulta estatica, es decir, que rescatas la información y la mostrás incluyendo N totales. Siendo así, ¿por que no calculas todos los totales juntos al comienzo? 

ricardo peña

unread,
Nov 18, 2011, 9:07:17 AM11/18/11
to GRUPO-VFP GRUPO-VFP
No. El sum all sí, pero el sum sólo, si estás parado en el eof()
no suma nada.  Verifícalo.


Ricardo Luis Peña
Analista de Sistemas
BA - Argentina
011-15-4440-7378
 

To: publice...@googlegroups.com
Subject: RE: [vfp] Sumar valores mostrados en un grid
Date: Fri, 18 Nov 2011 13:28:07 +0000

Intel Man

unread,
Nov 18, 2011, 11:15:54 AM11/18/11
to publice...@googlegroups.com
Si lo hace, y lo acabo de verificar abriendo una tabla:

use mitabla
go bott
skip
sum

Y si suma todo.

Tu como lo has probado?

Saludos



From: rl...@hotmail.com
To: publice...@googlegroups.com
Subject: RE: [vfp] Sumar valores mostrados en un grid
Date: Fri, 18 Nov 2011 14:07:17 +0000

ricardo peña

unread,
Nov 18, 2011, 2:15:47 PM11/18/11
to GRUPO-VFP GRUPO-VFP
USE c:\miProj\data\mitabla.dbf EXCLUSIVE
SUM mitabla.campo WHILE !EOF()
SUM mitabla.campo WHILE !EOF()
SUM ALL mitabla.campo WHILE !EOF()


Ricardo Luis Peña
Analista de Sistemas
BA - Argentina
011-15-4440-7378
 

From: intel_m...@hotmail.com
To: publice...@googlegroups.com
Subject: RE: [vfp] Sumar valores mostrados en un grid
Date: Fri, 18 Nov 2011 16:15:54 +0000

Intel Man

unread,
Nov 18, 2011, 2:21:23 PM11/18/11
to publice...@googlegroups.com
Hola, yo creo que nadie usaria el while !eof() ya que el sum siempre suma todo y esa claúsula está demas, mientras menos código uses, mas óoptimo es tu programa :)

Con:  SUM mitabla.campo   es mas que suficiente y te toma toda la tabla sin problemas sin usar el while !eof()

Tu usas esa cláusula?

Saludos



From: rl...@hotmail.com
To: publice...@googlegroups.com
Subject: RE: [vfp] Sumar valores mostrados en un grid
Date: Fri, 18 Nov 2011 19:15:47 +0000

spartaco

unread,
Nov 18, 2011, 4:44:57 PM11/18/11
to Comunidad de Visual Foxpro en Español

Mario Alfredo

unread,
Nov 25, 2011, 12:13:45 PM11/25/11
to Comunidad de Visual Foxpro en Español
podes hacer de dos formas
esto lo colocas al final despues de una consulta

esto proviene despues de llenar una consulta en un grid
ahi es donde se lleno un temporal cursor
SELECT temporal
sum temporal.gastos TO thisform.txtgastos.value FOR ! DELETED()

tambien podes hacer esto
en el controlssource de caja texto podes tener una variable
la caja de texto se puede llamar thisform.txttgeneral.value
pero como veras no utilizo el nombre de la caja, si no utilizo una
variable llamada m.tgeneral y te aparecera el total en esa caja de
texto

sele temporal
sum remesa to m.tgeneral for ! delete()

hay totales que cambian contantemente por consultas
estos tootales les tenes que colocar en el refresh del formulario

Edwin Nicolas

unread,
Nov 26, 2011, 2:32:18 PM11/26/11
to publice...@googlegroups.com
Mira este ejemplo modifica la extencion esta en un archivo rar

Mario Alfredo <maov...@gmail.com>
Nov 25 09:13AM -0800  

    podes hacer de dos formas
    esto lo colocas al final despues de una consulta
     
    esto proviene despues de llenar una consulta en un grid
    ahi es donde se lleno un temporal cursor

Has recibido este mensaje porque estás suscrito al grupo de Google publicesvfoxpro.
Puedes realizar una publicación por correo electrónico.
Para cancelar la suscripción a este grupo, envía un mensaje vacío.
Para obtener más opciones, visita este grupo.




--


Edwin Duran
Republica Dominicana

Factura.ra_
Reply all
Reply to author
Forward
0 new messages