Ayuda al sumar en una columna al asignar un cursor en una clase basada en una grilla en visual basic

Necesito que una clase basada en una grilla, cuando le asigno un cursor me sume cualquier columna, no importa si es una o más columnas y me las tire el total de cada columna a un control que puede ser un txt, yo solo lo hice para una columna pasándole el campo del cursor que quiero que me sume pero no se como hacer que me sume más de una columna, la grilla le definí propiedades donde le paso el campo...
Muchas gracias espero sus respuesta cuanto antes..

1 respuesta

Respuesta
1
Quizás tengo algo más fácil, no es una clase pero te podría funcionar, se trata del uso de instrucciones SQL, como conoces el tipo de cursor que estás pasando al GRID, conoces también los campos a sumar, vamos a pensar que tu GRID tiene asignado un cursor que se llama tmpfacturas, ok, en el método afterrowcolchange ponemos el cpodigo siguiente:
*-- Detectamos si es que hay un cambio en la tabla.
ID_CAMBIO=.F.
IF ISNULL(GETFLDSTATE(-1))
ID_CAMBIO= .F.
ELSE
ID_CAMBIO= ("2" $ GETFLDSTATE(-1) OR ;
"4" $ GETFLDSTATE(-1))
ENDIF
IF ID_CAMBIO THEN
*-- Destrimos cursor asegurando que no marque error
use in (select('curSuma'))
*-- REALIZAMOS LA SUMA DE LAS COLUMNAS QUE NOS INTERESEN
Select sum(importe) as importe, Sum(precio) as precio, Sum(cantidad) as cantidad from tmpfacturas into cursor curSuma
*-- Aseguramos el éxito
if _Tally>0 Then
Thisform.txtSumCant.value=Cursuma.Cantidad
.
.
Endif
Por supuesto que es posible hacer clases de ello, pero creo que una solución simple a veces nos resuelve problemas más complicados.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas