Visual Basic - Sumar columna de flexgrid en text

Life is soft - evento anual de software empresarial
   
Vista:

Sumar columna de flexgrid en text

Publicado por Omar (56 intervenciones) el 26/12/2008 18:43:55
Que tal foro, pues ya casi queda listo mi proyecto, solo falta una cosita:
En el flex tengo una columna con un total, quiero ver si cada vez que cambie el status de la fila me sume este valor a una variable y vaciarlo en un text. Les muestro lo que llevo:
****************************************
Private Sub Check1_Load()
Check1.Visible = False
Check1.Value = False
Check1.Caption = "PAGADA ?"
Check1.Width = MSFlexGrid.CellWidth
End Sub
****************************************
Private Sub Form_Load()
CaptMovimientos.Height = 8800
CaptMovimientos.Width = 12525
Dim TOPCORNER As Integer
Dim LEFTCORNER As Integer
If CaptMovimientos.WindowState <> 0 Then Exit Sub
TOPCORNER = (Screen.Height - CaptMovimientos.Height) 3
LEFTCORNER = (Screen.Width - CaptMovimientos.Width) 2
CaptMovimientos.Move LEFTCORNER, TOPCORNER
Check1_Load
End Sub
*****************************************
Private Sub MsFlexGrid_Click()
If OpIngreso.Value = True Then
If Check1.Visible = True Then
Check1.Visible = False
MSFlexGrid.CellBackColor = &H80000005
End If
If MSFlexGrid.Col = 7 Then ' Posicion y tamaño a CheckBox, luego lo muestra.
Check1.Width = MSFlexGrid.CellWidth
Check1.Left = MSFlexGrid.CellLeft + MSFlexGrid.Left
Check1.Top = MSFlexGrid.CellTop + MSFlexGrid.Top
If MSFlexGrid.Text = "PAGADA" Then
Check1.Value = 1
Else
If MSFlexGrid.Text = "" Then
Check1.Value = 0
End If
End If
Check1.Visible = True
End If
Else
If Check1.Visible = True Then
Check1.Visible = False
MSFlexGrid.CellBackColor = &H80000005
End If
If MSFlexGrid.Col = 5 Then ' Posicion y tamaño a CheckBox, luego lo muestra.
Check1.Width = MSFlexGrid.CellWidth
Check1.Left = MSFlexGrid.CellLeft + MSFlexGrid.Left
Check1.Top = MSFlexGrid.CellTop + MSFlexGrid.Top
If MSFlexGrid.Text = "PAGADA" Then
Check1.Value = 1
Else
If MSFlexGrid.Text = "" Then
Check1.Value = 0
End If
End If
Check1.Visible = True
End If
End If
End Sub
**************************************
Private Sub Check1_Click()
If OpIngreso.Value = True Then
If MsFlexGrid.Col = 7 Then
If Check1.Value = 1 Then
MsFlexGrid.Text = "PAGADA"
I = 0
For I = 1 To MsFlexGrid.Rows - 1
MontoCheque = Val(TxtTotal.Text) + Val(MsFlexGrid.TextMatrix(I, 5))
TxtTotal.Text = MontoCheque
Next I
Else
If Check1.Value = 0 Then
MsFlexGrid.Text = "PENDIENTE COBRO"
I = 0
For I = 1 To MsFlexGrid.Rows - 1
MontoCheque = Val(TxtTotal.Text) - Val(MsFlexGrid.TextMatrix(I, 5))
TxtTotal.Text = MontoCheque
Next I
End If
End If
Check1.Visible = False
End If
End If

En todas las columnas que le doy click me pone un valor en el text de 234.05 que no se de donde lo saca.

Alguna idea ???

De antemano, gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Sumar columna de flexgrid en text

Publicado por Denis (24 intervenciones) el 07/01/2009 16:35:56
Hola Omar

Perdona pero estaba de vacaciones, creo tener la solución a tu problema

Creo que lo que quieres es sumar todos aquellos elementos que cumplan con la condición "PAGADO" asii que te recomendaría hacer lo siguiente en tu código

Private Sub Check1_Click()
If OpIngreso.Value = True Then
If MsFlexGrid.Col = 7 Then
If Check1.Value = 1 Then
MsFlexGrid.Text = "PAGADA"
I = 0
For I = 1 To MsFlexGrid.Rows - 1
MontoCheque = Val(MontoCheque) + Val(MsFlexGrid.TextMatrix(I, 5))
TxtTotal.Text = MontoCheque
Next I
Else
If Check1.Value = 0 Then
MsFlexGrid.Text = "PENDIENTE COBRO"
I = 0
For I = 1 To MsFlexGrid.Rows - 1
MontoCheque = Val(MontoCheque) - Val(MsFlexGrid.TextMatrix(I, 5))
TxtTotal.Text = MontoCheque
Next I
End If
End If
Check1.Visible = False
End If
End If

Como puedes ver cambié unicamente la linea MontoCheque, además debes declarar esta variable fuera de cualquier procedimiento es decir en General (Declaraciones)

Otra cosa te recuerdo que el Val no funciona con formato español, es decir las comas no funcionan recuerda tener bien formateada la data.

Saludos y disculpa pero estaba de Vacaciones, Feliz 2009.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Sumar columna de flexgrid en text

Publicado por THETJRC (1 intervención) el 28/04/2011 07:49:47
oie me podrias mandar la interfaz xfa es q kiero hacer eso poeron o se como hacerla te lo agradecieria mucho
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar