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

datagrid, recorrer, sumar

Estas en el tema de datagrid, recorrer, sumar en el foro de Visual Basic clásico en Foros del Web. hola como estan. porfavor necesito tu ayuda. mi problema es el siguiente: cargo un data grid y necesito ir agregando mas consulta por ejemplo pregunto ...
  #1 (permalink)  
Antiguo 21/11/2011, 10:45
 
Fecha de Ingreso: noviembre-2009
Mensajes: 315
Antigüedad: 14 años, 5 meses
Puntos: 0
Exclamación datagrid, recorrer, sumar

hola como estan.
porfavor necesito tu ayuda.
mi problema es el siguiente:

cargo un data grid y necesito ir agregando mas consulta

por ejemplo pregunto productos segun el numero de orden, luego debo poder seguir agregando ordenes al datagrid y despues sumar los productos y poder totalizarlos. por ejemplo:

Nº producto descripcion valor canidad
1 234 WEF 54 5
1 535 WDF 65 7
1 234 WEF 54 1
2 8654 VDFS 65 9
2 5535 DFVDF 54 8
2 234 WEF 54 10

ENTONCES DEBERIA QUEDAR EL DATA GRID

producto descripcion valor canidad
234 WEF 54 16
535 WDF 65 7
8654 VDFS 65 9
5535 DFVDF 54 8


COMO PUEDO LOGRAR ESTO??
  #2 (permalink)  
Antiguo 21/11/2011, 12:38
Avatar de erbuson  
Fecha de Ingreso: noviembre-2009
Mensajes: 701
Antigüedad: 14 años, 5 meses
Puntos: 53
Respuesta: datagrid, recorrer, sumar

Hola, como personalmente, no tengo ni idea de BBDD, no podría aconsejarte como hacerlo de un modo directo, ni tan siquiera se si es posible.

De todos modos, te propongo una idea y tal vez pueda servirte o echar un poco de luz sobre tu problema.

Soy un forofo del MsFlexGrid y por ello lo utilizo muchísimo. Se me ocurre que puedas tener un MsFlexGrid auxiliar en el que visualizar esa información.

Necesitarías para simplificarlo, una función que te devuelva la Fila que contiene la Referencia que vas a sumarle, por ejemplo algo asi:

Código vb:
Ver original
  1. Public Function FilaGrid (Grid As MsFlexGrid, DatoBusco As String, Columna As Single) As Single
  2.   For FilaGrid = 1 To Grid.Rows - 1
  3.     If Grid.TextMatrix(FilaGrid, Columna) = DatoBusco Then Exit Function
  4.   Next
  5. End Function
De este modo, la Funcion devuelve el número de Fila que ocupa tu referencia o que va a ocupar en caso de no encontrarla.

El uso de esta función sería muy simple, por ejemplo:

Código vb:
Ver original
  1. 'Suponiendo que la Referencia está en la Columna 0 del MsFlexGrid
  2. Fila = FilaGrid(TuGrid, TuReferencia, 0)
  3. ' Si llegó al final, añade una Fila que va a necesitar y pone la Referencia
  4. IF Fila = TuGrid.Rows Then
  5.   TuGrid.Rows = TuGrid.Rows + 1
  6.   TuGrid.TextMatrix(Fila, 0) = TuReferencia
  7. End If
  8. ' Pasa los datos a las Columnas adecuadas del Grid, sumando los valores.
  9. TuGrid.TextMatrix(Fila, 1) = Val(TuGrid.TextMatrix(Fila, 1)) + TusUnidades
  10. TuGrid.TextMatrix(Fila, 2) = Val(TuGrid.TextMatrix(Fila, 2)) + TuPrecio
No se si te puede valer, si no es así perdona el rollo.

Un saludo
__________________
Agradecer a quien te enseñó, es enseñar lo que de él aprendiste.
Recuerda: Decir gracias, poco cuesta y mucho vale ...
  #3 (permalink)  
Antiguo 22/11/2011, 20:57
 
Fecha de Ingreso: noviembre-2009
Mensajes: 315
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: datagrid, recorrer, sumar

lo leere con tiempo y te cuento
gracias por el tiempo

Etiquetas: datagrid
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 14:44.