• Jueves 28 de Marzo de 2024, 22:34

Autor Tema:  Re: SUMAR COLUMNA DE UN DATAGRID  (Leído 17573 veces)

Jordi_BCN

  • Miembro activo
  • **
  • Mensajes: 59
    • Ver Perfil
Re: SUMAR COLUMNA DE UN DATAGRID
« en: Viernes 22 de Agosto de 2003, 15:38 »
0
HOLA DE NUEVO, COMO PUEDO SUMAR UNA COLUMNA DE UN DATAGRID, Y MOSTRAR EL TOTAL EN UN TEXTBOX?

GRACIAS;):)
Jordi_BCN ···· Barcelona

giomar

  • Miembro MUY activo
  • ***
  • Mensajes: 270
    • Ver Perfil
Re: SUMAR COLUMNA DE UN DATAGRID
« Respuesta #1 en: Viernes 22 de Agosto de 2003, 17:46 »
0
Mira la idea es recorrer todo el datagrid por medio de un bucle en el cual debera estar un acumulador que ira sumando las cantidades del campo que desees para posteriormente mostrarlo en el textbox que deseas.
El codigo seria el siguiente:
Dim acumulador as integer
acumulador=0
For a=1 to Datagrid1.Row
      acumulador=acumulador+Datagrid1.Columns(IndiceDeColumna_a_Sumar).Value
End for
text1.text=acumulador
Ahora si el resultado es un valor numerico y deseas que se establesca un formato pues cambia la siguiente linea:
text1.text=acumulador
Por
text1.text=Format(acumulador, "standard")
Y nada mas
Suerte....
<<_GIOMAR_>>:good:
Giomar B.
Desarrollador Web Profesional


J.M.Movilla

  • Miembro MUY activo
  • ***
  • Mensajes: 427
    • Ver Perfil
Re: SUMAR COLUMNA DE UN DATAGRID
« Respuesta #2 en: Viernes 22 de Agosto de 2003, 19:02 »
0
A ver si te gusta este código...

Saludos
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

Jordi_BCN

  • Miembro activo
  • **
  • Mensajes: 59
    • Ver Perfil
Re: SUMAR COLUMNA DE UN DATAGRID
« Respuesta #3 en: Viernes 22 de Agosto de 2003, 21:56 »
0
Giomar, es justo lo que me dices tu, pero tu codigo no me funciona:(

"a" lo he declarado Integer, pero al decirle que me ponga "acumulador" en un textbox me sale 0,00

J.M. Movilla gracia por tu ayuda, pero prefiero lo de giomar, es q no puedo tocar el recordset ...

Espero q me manden el codigo correcto, gracias..;):)
Jordi_BCN ···· Barcelona

Jordi_BCN

  • Miembro activo
  • **
  • Mensajes: 59
    • Ver Perfil
Re: SUMAR COLUMNA DE UN DATAGRID
« Respuesta #4 en: Lunes 25 de Agosto de 2003, 15:34 »
0
Bueno, después de dar un esfuerzo he conseguido sumar los registros de una BD.

Pero mi cuestion es la siguiente:
Como puedo hacer q solo me sume las lineas q tienen el codigo "001"? Es decir, el total q sea la suma de todos los registros con el codigo 001 ( es q en esa tabla hay mas con 002, 003, 004... )


Espero me ayuden, me urge muchisimo:)
Jordi_BCN ···· Barcelona

Jordi_BCN

  • Miembro activo
  • **
  • Mensajes: 59
    • Ver Perfil
Re: SUMAR COLUMNA DE UN DATAGRID
« Respuesta #5 en: Martes 26 de Agosto de 2003, 18:45 »
0
Hola, para q me entiendan mejor:

Sumar solo los registro "001" de la Tabla1

Imagen:



Espero q asi entiendan mi question:)
Jordi_BCN ···· Barcelona

giomar

  • Miembro MUY activo
  • ***
  • Mensajes: 270
    • Ver Perfil
Re: SUMAR COLUMNA DE UN DATAGRID
« Respuesta #6 en: Martes 26 de Agosto de 2003, 19:08 »
0
Como veo que estas empleando codigo ADO entonces prueba con esto.
La solucion mas rapida y facil es usar instrucciones SQL para ello utilizaras de otro RecordSet donde almacenaras el numero de fatura y la cantidad de facturas que cada una de elllas tiene ¡Me parece que eso es lo que buscas!
Coloca el siguiente script donde deseas que se realice la operacion:
dim rs as new Adodb.RecordSet
set rs=new Adodb.RecordSet
set rs=NombreConexion.Execute("Select Num_Fac as Factura,count(Num_Fac) as Cantidad From factura where Num_Fac='" & txtNum_Fac & "' GROUP BY Num_Fac")
txtTotal.text=rs.fields(1).value
set rs=nothing
De esta manera obtendras la cantidad de facturas que tienes.
Ahora solo tendras que acomodar el codigo segun como estes realizando tu aplicacion.
Si sigues teniendo problemas puedes enviar tu aplicacion o el codigo para poder ayudarte mejor.
Un saludo y suerte
<<_GIOMAR_>>
Giomar B.
Desarrollador Web Profesional


Brroz

  • Miembro de PLATA
  • *****
  • Mensajes: 1058
    • Ver Perfil
Re: SUMAR COLUMNA DE UN DATAGRID
« Respuesta #7 en: Miércoles 27 de Agosto de 2003, 09:21 »
0
El ejemplo que te da Giomar suma el número de facturas, pero supongo que tú necesitas sumar los importes de las lineas, con lo que abría que utilizar un SQL tal que así:

SELECT Sum(CampoImporte) FROM LineasFacturas WHERE NumFactura = '001' GROUP BY NumFactura

Si como dices en un mensaje más abajo prefieres la opción del 'acumulador', entonces añade una pregunta filtrando los valores que te interesen antes de sumar:

If Datagrid1.Columns(IndiceClave).Value = "001" Then
acumulador=acumulador+Datagrid1.Columns(IndiceDeColumna_a_Sumar).Value

Esto te irá algo más lento pero...

Sort.

Jordi_BCN

  • Miembro activo
  • **
  • Mensajes: 59
    • Ver Perfil
Re: SUMAR COLUMNA DE UN DATAGRID
« Respuesta #8 en: Miércoles 27 de Agosto de 2003, 15:18 »
0
Lo he conseguido después de mucho esfuerzo!! El codigo q he utilizado es:

Dim sql As String
    sql = "Select SUM(val(subtotal)) as total from factura2 where numfactura ='"
    sql = sql + Text1.Text & "'"
    Me.Adodc7.RecordSource = sql
    Me.Adodc7.Refresh
    Text21.Text = Format(Adodc7.Recordset!total, "Standard")
    Me.Adodc7.RecordSource = "select * from Factura2 "
    Me.Adodc7.Refresh
    Set Me.DataGrid2.DataSource = Me.Adodc7



Gracias a todos!!! :good::flower:
Jordi_BCN ···· Barcelona

J.M.Movilla

  • Miembro MUY activo
  • ***
  • Mensajes: 427
    • Ver Perfil
Re: SUMAR COLUMNA DE UN DATAGRID
« Respuesta #9 en: Miércoles 27 de Agosto de 2003, 16:30 »
0
Porque fíjate qué diferencia puede haber entre el código que has aceptado finalmente y el que yo te proponía, que era exactamente (si no me lo han cambiado las brujas...):

    Me.Adodc1.RecordSource = "Select SUM(Importe) As Total from Gastos " & _
        "Where Fecha >= DateValue(""" & DTPick1 & """)" _
        & " And Fecha <= DateValue(""" & DTPick2 & """)"
    Me.Adodc1.Refresh


Pues simplemente que en mi ejemplo la condición era entre fechas y en tu caso filtras por el número de factura...  y que los objetos lógicamente tienen diferentes nombres...  Pero veo que has llegado a aceptar el uso de una SQL para confeccionar el RecordSet, como Dios manda...

Saludos y suerte

Jordi_BCN

  • Miembro activo
  • **
  • Mensajes: 59
    • Ver Perfil
Re: SUMAR COLUMNA DE UN DATAGRID
« Respuesta #10 en: Miércoles 27 de Agosto de 2003, 20:04 »
0
Disculpa J.M. Movilla, hace poco q estoy en eso de SQL :think: Por eso me fue dificil entender, pero ahora ya se como hacerlo, q eso es lo importante!:)

Gracias por su ayuda, un cordial saludo
Jordi_BCN ···· Barcelona

J.M.Movilla

  • Miembro MUY activo
  • ***
  • Mensajes: 427
    • Ver Perfil
Re: SUMAR COLUMNA DE UN DATAGRID
« Respuesta #11 en: Miércoles 27 de Agosto de 2003, 20:52 »
0
Posiblemente por la forma como te lo he dicho has podido interpretar que lo hacía con enfado... Al contrario: lo que ocurre es que me alegra el que al fin hayas caído en la cuenta de que existen las SQL para manejo de los registros... y seguro que ahora te meterás en el tema y aprenderás sus mandatos, sus cláusulas, sus sentencias... y verás que merece la pena perder(?) / GANAR(!) el tiempo introduciéndote en las entrañas de las SQLs...

Un abrazo

Jordi_BCN

  • Miembro activo
  • **
  • Mensajes: 59
    • Ver Perfil
SUMAR COLUMNA DE UN DATAGRID
« Respuesta #12 en: Miércoles 27 de Agosto de 2003, 21:35 »
0
Tienes razón Movilla, si te lo dan hecho, no aprenderas nunca, es a base de errores q te das cuenta.

Nuevamente Garcias, salu2 cordiales desde BCN
Jordi_BCN ···· Barcelona

josleny

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Re: SUMAR COLUMNA DE UN DATAGRID
« Respuesta #13 en: Martes 25 de Febrero de 2014, 21:41 »
0
Hola amigo Giomar B. sabes que yo tambien tengo este problema pero yo tengo una bd en sql donde mis datos se muestran en un datagriedview lo que quiero es que me sume todos los datos de mi columna costo ayudame pliss