border

Miembros:
Mensajes:
Temas:
Online:

Ultimo Miembro:

 
 

Cuenta Bancaria en EEUU
  #1 (permalink)  
Antiguo 01-05-2008, 11:08:42
Avatar de Nika
Buena Participación en el Foro
 
Registrado: ene 2007
Posts: 45
Nika Valoración +2
Post sumar columnas DataGridView

Espero su ayuda y colaboración siempre tan valiosa.
Como conseguir el resultado del saldo en una tercera columna en un DataGridView
Ejemplo 1ª ingreso 2ªPago 3ºSaldo
1ª ingreso 500 2ªPago 100 3ºSaldo = 400
1ª ingreso 600 2ªPago 200 3ºSaldo = 800
1ª ingreso 0 2ªPago 600 3ºSaldo = 200
Espero haberme explicado

Agradecería me ayudaran ya que llevo unos días dándole vueltas sin ningún resultado
Muchas gracias.
José

Última edición por Nika fecha: 01-05-2008 a las 11:16:40.
Responder Con Cita
  #2 (permalink)  
Antiguo 01-05-2008, 13:22:33
Avatar de J.M.Movilla
Administrator
 
Registrado: dic 2002
Ubicación: BURGOS - ESPAÑA
Posts: 5.431
J.M.Movilla Valoración +2
Predeterminado Re: sumar columnas DataGridView

Si se tratase del Saldo de cada movimiento, podrías abrir un recordset en el que añadieras un campo calculado (Ingreso - Pago As Saldo); pero como se trata del arrastre de todos los movimientos anteriores, creo que no te queda más remedio que añadir un nuevo campo "físico" en la tabla, de nombre "Saldo" y tipo Single, para poder presentarlo directamente, igual que presentas los otros dos campos.

Pero será necesario que hagas una previa actualización de ese campo:

1º.- Abres la base de datos
2º.- Creas un recordset (rs) con esos tres campos, ordenado por fecha (si es que existe ese campo...)
3º.- Dimensionas una variable para el arrastre (Dim nSaldo As Single) y la inicializas a cero.
4.- Haces un bucle, tal que
Código:
nSaldo = 0
While not rs.EOF
    nSaldo = nSaldo + rs.Fields("Ingreso") - rs.Fields("Gasto")
    rs.Fields("Saldo") = nSaldo
    rs.Update
    rs.MoveNext
Wend
Por supuesto, a partir de ese momento, cada vez que hagas un cambio en un registro de esa tabla deberás, antes de nada, tomar los valores que tienes actualmente:
Código:
Dim nIngreso As Single, nGasto As Single, nDiferencia As Single
nIngreso = rs.Fields("Ingreso")
nGasto = rs.Fields("Gasto")
nSaldo = rs.Fields("Saldo")
' Si vas a añadir un registro nuevo, haces un rs.MoveLast y tomas ahí el valor
nSaldo = rs.Fields("Saldo")
nIngreso = 0
 nGasto = 0
Ahora haces la modificación pertinente, y al grabas los cambios añades estas líneas:
Código:
 nDiferencia = rs.Fields("Ingreso") - rs.Fields("Gasto") - nIngreso + nGasto
while Not rs.Eof
    rs.Fields("Saldo") = rs.Fields("Saldo") + nDiferencia
    rs.Update
    rs.MoveNext
Wend
Por favor, prueba este código, porque lo estoy haciendo a vuela pluma, y yo no lo he probado...
__________________
José María Movilla Cuadrado
______________________

Visual Basic Videos Programacion Foro Programacion
Tutoriales Programacion Trucos Programacion Codigos Programacion
Responder Con Cita
  #3 (permalink)  
Antiguo 01-05-2008, 14:25:58
Avatar de Nika
Buena Participación en el Foro
 
Registrado: ene 2007
Posts: 45
Nika Valoración +2
Predeterminado Re: sumar columnas DataGridView

Cita:
Empezado por Nika Ver Mensaje
Espero su ayuda y colaboración siempre tan valiosa.
Como conseguir el resultado del saldo en una tercera columna en un DataGridView
Ejemplo 1ª ingreso 2ªPago 3ºSaldo
1ª ingreso 500 2ªPago 100 3ºSaldo = 400
1ª ingreso 600 2ªPago 200 3ºSaldo = 800
1ª ingreso 0 2ªPago 600 3ºSaldo = 200
Espero haberme explicado

Agradecería me ayudaran ya que llevo unos días dándole vueltas sin ningún resultado
Muchas gracias.
José
Muchas gracias por contestarme tan rápidamente ¡querido amigo!
Primero decir que llevaba bastante tiempo sin aparecer por aquí y es muy grato encontrar a la gente que realmente sabe del tema, no como yo.
El aspecto del foro a mejorado con mucho me encuentro muy a gusto en el
Segundo he probado el código y parece que funciona pero en VB6 no en VB 2005.net
Es mía la culpa por no aclararlo.
Gracias de todos los modos señor Movilla, profe de profes.
Muchísimas gracias.

José
Responder Con Cita
  #4 (permalink)  
Antiguo 01-05-2008, 22:19:47
Avatar de J.M.Movilla
Administrator
 
Registrado: dic 2002
Ubicación: BURGOS - ESPAÑA
Posts: 5.431
J.M.Movilla Valoración +2
Predeterminado Re: sumar columnas DataGridView

No, no... La culpa ha sido mía, que no me fijado en que tu tema estaba en el Foro de VB-Net-2005.

Yo todavía estoy en mantillas en esa versión, así no puedo ayudarte; pero supongo que como son pocas las líneas, no te resultará difícil hacer la conversión, O en otro caso, esperemos que alguien te eche una mano, que hasta pudiera ocurrir que en .NET no sea necesario tanto código...
__________________
José María Movilla Cuadrado
______________________

Visual Basic Videos Programacion Foro Programacion
Tutoriales Programacion Trucos Programacion Codigos Programacion
Responder Con Cita
  #5 (permalink)  
Antiguo 02-05-2008, 14:48:03
Avatar de jcarballo
Buena Participación en el Foro
 
Registrado: abr 2004
Posts: 85
jcarballo Valoración +2
Predeterminado Re: sumar columnas DataGridView

Bueno, en el caso de que solo desees esa tercera columna, para mostrar en el DatagridView, no necesitarás tenerla físicamente en la BD, pero si necesitarás crearla en memoria.

Después que llenes el DataTable que se mostrará en el grid, adiciona la tercera columnna y calcúlala usando un algoritmo semejante al que te plantea el señor Movilla:

algo así:

Dim dblSaldo as Double = 0 ' (o Integer) depende de los tipos de datos de las otras dos columnas

for i as Integer = 0 to dt.Rows.Count - 1
dblSaldo += dr.Rows(i)("Ingreso")
dblSaldo -= dr.Rows(i)("Gasto")
dr.Rows(i)("Saldo") = dblSaldo
Next

Tienes que tener en cuenta que el DataTable esté en el orden preciso.

Después de esto asigna a la propiedad DataSource la tabla que completaste.

Espero haberte ayudado.
__________________
Saludos,

Juan Carlos Carballo Quevedo
Responder Con Cita
  #6 (permalink)  
Antiguo 03-05-2008, 02:18:09
Avatar de seba123neo
Moderador
 
Registrado: nov 2007
Ubicación: Argentina
Posts: 388
seba123neo Valoración +2
Predeterminado Re: sumar columnas DataGridView

Hola,mirate este ejemplo de como sumar los valores de las columnas de un DataGridView..

Sumar columna en un DatagridView

saludos.
__________________
Todos somos ignorantes; lo que pasa es que no todos ignoramos las mismas cosas - Albert Einstein
Responder Con Cita
Respuesta


Herramientas
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Trackbacks are habilitado
Pingbacks are habilitado
Refbacks are habilitado



La franja horaria es GMT. Ahora son las 19:42:44.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0
A vBSkinworks Design

Alojado en el servicio Premium de Masquewebs | Diseño mejorado por MasqueWebs

right