Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

¿ayuda: Sumar columna de un dbgrid?

Estas en el tema de ¿ayuda: Sumar columna de un dbgrid? en el foro de Visual Basic clásico en Foros del Web. buenas. como hago para sumar las columnas de un DBGRID y mostrarlas en un texto. tomando en cuenta que por lo menos hoy hay 10 ...
  #1 (permalink)  
Antiguo 31/10/2008, 23:08
 
Fecha de Ingreso: julio-2008
Mensajes: 205
Antigüedad: 15 años, 9 meses
Puntos: 1
¿ayuda: Sumar columna de un dbgrid?

buenas. como hago para sumar las columnas de un DBGRID y mostrarlas en un texto. tomando en cuenta que por lo menos hoy hay 10 registros pero mañana pueden haber 20 mas. osea habria que sumarse automaticamente los 30 datos de la columna. espero me entiendan.

nota: solo tengo 2 columnas. una que se llama producto y otra precios.
columna1 columna2
productos precios
casa 100
carro 200
isla 500
total.text: 800

basicamente es eso. sumar los datos de la columna2 deñ DBGRID.
  #2 (permalink)  
Antiguo 01/11/2008, 03:30
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 2 meses
Puntos: 37
Respuesta: ¿ayuda: Sumar columna de un dbgrid?

Cita:
Iniciado por principefreddy Ver Mensaje
buenas. como hago para sumar las columnas de un DBGRID y mostrarlas en un texto. tomando en cuenta que por lo menos hoy hay 10 registros pero mañana pueden haber 20 mas. osea habria que sumarse automaticamente los 30 datos de la columna. espero me entiendan.

nota: solo tengo 2 columnas. una que se llama producto y otra precios.
columna1 columna2
productos precios
casa 100
carro 200
isla 500
total.text: 800

basicamente es eso. sumar los datos de la columna2 deñ DBGRID.
Buenas, lo mas sencillo es crear una consulta de agrupamiento de registros y mostrar el resultado en el TextBox:

Código:
Dim rs As DAO.Recordset
Set rs = bd.OpenRecordset("SELECT Sum(precios) AS SumaTotal FROM LaTabla")
Total.Text = rs!SumaTotal
  #3 (permalink)  
Antiguo 01/11/2008, 06:10
 
Fecha de Ingreso: julio-2008
Mensajes: 205
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: ¿ayuda: Sumar columna de un dbgrid?

no entendi lo de dao.recordset. no he utilizado eso nunca. me podria explicar si tengo que activar algun componente o referencia. y su tengo que conectar algo de esa manera.
  #4 (permalink)  
Antiguo 01/11/2008, 09:06
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 2 meses
Puntos: 37
Respuesta: ¿ayuda: Sumar columna de un dbgrid?

Cita:
Iniciado por principefreddy Ver Mensaje
no entendi lo de dao.recordset. no he utilizado eso nunca. me podria explicar si tengo que activar algun componente o referencia. y su tengo que conectar algo de esa manera.
Lo de DAO lo puse para que no tengas interferencias con ADO (suponiendo que lo tengas activado) ya que los dos tienen la misma propiedad Recordset, si no es así, lo puedes quitar, aunque tampoco va a dar error porque lo dejes.

Al utilizar el control DBGrid, se supone que ya tienes activada la referencia a DAO.

  #5 (permalink)  
Antiguo 01/11/2008, 09:17
 
Fecha de Ingreso: julio-2008
Mensajes: 205
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: ¿ayuda: Sumar columna de un dbgrid?

no funciona
  #6 (permalink)  
Antiguo 01/11/2008, 09:33
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 2 meses
Puntos: 37
Respuesta: ¿ayuda: Sumar columna de un dbgrid?

Cita:
Iniciado por principefreddy Ver Mensaje
no funciona
¿Qué quiere decir 'no funciona'?

¿algún error, no hace nada?

¿puedes hacer un Copy-Paste del código que utilizas?

  #7 (permalink)  
Antiguo 01/11/2008, 09:45
 
Fecha de Ingreso: julio-2008
Mensajes: 205
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: ¿ayuda: Sumar columna de un dbgrid?

me dice que se require un objeto. y coloca una linea amarilla sobre la segunda linea del codigo que me mandaste.
  #8 (permalink)  
Antiguo 01/11/2008, 09:58
 
Fecha de Ingreso: julio-2008
Mensajes: 205
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: ¿ayuda: Sumar columna de un dbgrid?

Dim rs As DAO.Recordset
Set rs = bd.OpenRecordset("SELECT Sum(Porcen) AS SumaTotal FROM deduc2")
total.Text = rs!SumaTotal
  #9 (permalink)  
Antiguo 01/11/2008, 11:16
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 2 meses
Puntos: 37
Respuesta: ¿ayuda: Sumar columna de un dbgrid?

Cita:
Iniciado por principefreddy Ver Mensaje
Dim rs As DAO.Recordset
Set rs = bd.OpenRecordset("SELECT Sum(Porcen) AS SumaTotal FROM deduc2")
total.Text = rs!SumaTotal
En vez de bd. pon el nombre de la variable que le hayas dado al abrir la base de datos.

  #10 (permalink)  
Antiguo 01/11/2008, 11:47
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 2 meses
Puntos: 37
Respuesta: ¿ayuda: Sumar columna de un dbgrid?

Cita:
Iniciado por Avellaneda Ver Mensaje
En vez de bd. pon el nombre de la variable que le hayas dado al abrir la base de datos.

Me acabo de dar cuenta, por el mensaje privado que me enviaste que no tienes una conexión abierta a la base de datos, sino un enlace al control Data.

Prueba así:

Código:
Dim bd As DAO.Database
Dim rs As DAO.Recordset
Set bd = OpenDatabase(App.Path & "\Base de Datos\honorarios.mdb")
Set rs = bd.OpenRecordset("SELECT Sum(precios) AS SumaTotal FROM deducciones2")
Total.Text = rs!SumaTotal
Set rs = Nothing
Set bd = Nothing
Nota importante:
No contesto a mensajes privados cuando se puede hacer en el foro. Creo que el fin del foro es ese, que todos aprendan (o rectifiquen).

  #11 (permalink)  
Antiguo 01/11/2008, 11:53
 
Fecha de Ingreso: julio-2008
Mensajes: 205
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: ¿ayuda: Sumar columna de un dbgrid?

ya solucione una parte. coloque un datagrid

y cree un boton y un texto. aqui esta

Private Sub sumar_Click()
Dim I As Integer
Dim Val1 As Double
Dim Formato As String
txttotal.Text = " "
Formato = "###,####.00"
For I = 0 To DataGrid1.ApproxCount - 1
DataGrid1.Row = I
Val1 = Val1 + CDbl(DataGrid1.Columns(1))
Next I
txttotal.Text = Format(Val1, Formato)
End Sub
  #12 (permalink)  
Antiguo 01/11/2008, 11:58
 
Fecha de Ingreso: julio-2008
Mensajes: 205
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: ¿ayuda: Sumar columna de un dbgrid?

como hago para ajustar las columnas del datagrid. no se si sea igual que en el dbgrid ?
  #13 (permalink)  
Antiguo 01/11/2008, 12:08
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 2 meses
Puntos: 37
Respuesta: ¿ayuda: Sumar columna de un dbgrid?

Cita:
Iniciado por principefreddy Ver Mensaje
ya solucione una parte. coloque un datagrid

y cree un boton y un texto. aqui esta

Private Sub sumar_Click()
Dim I As Integer
Dim Val1 As Double
Dim Formato As String
txttotal.Text = " "
Formato = "###,####.00"
For I = 0 To DataGrid1.ApproxCount - 1
DataGrid1.Row = I
Val1 = Val1 + CDbl(DataGrid1.Columns(1))
Next I
txttotal.Text = Format(Val1, Formato)
End Sub
¿Pero en qué quedamos, estás utilizando un DataGrid o un DBGrid, ADO o DAO?

Y aunque sea con ADO, puedes utilizar la misma consulta que puse, sin necesidad de recorrer todas las filas del DataGrid.

  #14 (permalink)  
Antiguo 01/11/2008, 12:26
 
Fecha de Ingreso: julio-2008
Mensajes: 205
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: ¿ayuda: Sumar columna de un dbgrid?

estaba utilizando el DBGRID. pero ahora estoy utilizando en datagrid y ado. como hago para colocar las columnas del data mas grandes o mas pequeñas. es igual que el dbgrid ?
  #15 (permalink)  
Antiguo 02/11/2008, 04:10
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 2 meses
Puntos: 37
Respuesta: ¿ayuda: Sumar columna de un dbgrid?

Cita:
Iniciado por principefreddy Ver Mensaje
estaba utilizando el DBGRID. pero ahora estoy utilizando en datagrid y ado. como hago para colocar las columnas del data mas grandes o mas pequeñas. es igual que el dbgrid ?
Sí, es igual que el dbgrid:

DBGrid1.Columns(0).Width = 500
DataGrid1.Columns(0).Width = 500


  #16 (permalink)  
Antiguo 05/12/2008, 09:35
 
Fecha de Ingreso: diciembre-2008
Mensajes: 2
Antigüedad: 15 años, 4 meses
Puntos: 0
De acuerdo Respuesta: ¿ayuda: Sumar columna de un dbgrid?

Buenas!!!
Garcias de antemano, leyendo esto solucione mi problema para sumar los valores de una columna en un datagrid, pero como lo unico que hice fue acomodar el codigo, quisiera saber el papel del for en el codigo.
Lo que entiendo es que recorre una por una las casillas del datagrid y va sumando..

Gracias a Avellaneda

Saludos desde Bogota Colombia!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:36.