Hola perdón por quitarles el tiempo pero les agradecería mucho si me dieran la solución de como sumar una columna de un datagrid tengo un datagrid que es un detalle de una factura la columna 5 tiene la cantidad Y tiene 7 filas como hago para sumar la columna cinco de las 7 filas para sacar el valor a pagar Gracias de antemano...
1 Respuesta
Respuesta de kieleze
1
1
kieleze, Estudio ingenieria en sistemas, estoy en 3º año
¿Vos quieres entonces 7 totales? Necesitas 7 variables para ir guardando el contenido de la suma de cada una de las filas... Bueno te vas al primer registro No se que usas pero con movefirst tiene que hacerlo Ahí tomas todos los valores que necesites usando este método datagrid. Columns(5) donde 5 es una de las columnas que tiene cantidades ... La primer columna es la 0 Y esto con todas las columnas que necesites la 6 la 7 etc. Movefirst debes usar un do while not recordset.eof aca sumas las columnas que necesites de cada registro a la variable de totales pone movenext para que avance al siguiente registro loop asi recorrera todos los registros y sumara las columnas que necesites... Es la unica forma que conozco para hacer eso... Te paso uno que hice yo con un listview, puedes modificarlo para que funcione con el datagrid... Dim totalAbiertos As Integer Dim totalCerrados As Integer Dim totalTiempo As Integer Dim totalmaximo As Integer totalAbiertos = 0 totalCerrados = 0 totalTiempo = 0 totalmaximo = 0 With rstEficiencia ' Si no hay datos... If (.BOF And .EOF) Then MsgBox "No se han encontrado los datos buscados" Else cmdImprimir.Enabled = True ' Mostrar los datos hallados ListView3.ListItems.Clear .MoveFirst Do While Not .EOF Set ListItemEficiencia = ListView3.ListItems.Add(, , .Fields("cod_empleado") & "") ListItemEficiencia.SubItems(1) = .Fields("ape_empleado") & "" ListItemEficiencia.SubItems(2) = .Fields("nom_empleado") & "" ListItemEficiencia.SubItems(3) = .Fields("Abiertos") & "" ListItemEficiencia.SubItems(4) = .Fields("Cerrados") & "" If .Fields("Cerrados") = 0 Then promedio = 0 Else promedio = .Fields("Tiempo_Acumulado") / .Fields("Cerrados") End If ListItemEficiencia.SubItems(5) = promedio & "" ListItemEficiencia.SubItems(6) = .Fields("Maximo") & "" totalAbiertos = totalAbiertos + rstEficiencia.Fields!Abiertos totalCerrados = totalCerrados + rstEficiencia.Fields!Cerrados totalTiempo = totalTiempo + rstEficiencia.Fields!Tiempo_Acumulado If rstEficiencia.Fields!maximo > totalmaximo Then totalmaximo = rstEficiencia.Fields!maximo End If .MoveNext Loop End If End With Cualquier cosa me avisas a ver si te puedo ayudar