Principales respuestas
MshFlexGrid

Pregunta
-
Hola a todos una consulta cuando resto en mshflexgrid en el texbox me sale con signo negativo les muestro el código:
Dim tPagar As Double
Dim i As Integer
With flex
If .Rows = 2 Then
.Rows = .Rows + 1
Lleno = False
End If
If .Row > 0 Then .RemoveItem (.Row)
For i = 1 To .Rows - 1
tPagar = tPagar - .TextMatrix(i, 6)
Next
txtTotalPagar.Text = tPagar
End With
Nota : Si resta bien pero sale con signo negativo.
Pedro Avila
Respuestas
-
Tendrias dos formas de Hacerlo
1. Antes de eliminar el registro, coges el valor de txtTotalPagar.text y le resta el valor del registro que vas a eliminar, quita el for
txtTotalPagar.Text = txtTotalPagar.Text - .TextMatrix(.row, 6)
2. Como lo estas haciendo, eliminas el registro y vuelves a contar todos registros, pero en este caso tienes que hacer la suma
For i = 1 To .Rows - 1
tPagar = tPagar + .TextMatrix(i, 6)
NexttxtTotalPagar.Text = tPagar
- Editado ToniAG lunes, 18 de junio de 2012 0:47
- Marcado como respuesta Pedro Ávila lunes, 18 de junio de 2012 0:52
Todas las respuestas
-
Hola
Te sale negativo porque restas al 0. el valor tPagar vale 0. ejemplo
tPagar = tPagar - CeldaGrilla(1000) es igual a 0 = 0 - 1000 es igual a -1000
no se si me explico, tal vez tendrias que aplicar la suma
- Editado ToniAG domingo, 17 de junio de 2012 16:16
-
Hola Toni, gracias por responder como lo haría si puedo escoger cualquier registro.
Pedro Avila
- Editado Pedro Ávila domingo, 17 de junio de 2012 22:54 faltaba
-
-
Dim tPagar As Double
Dim i As Integer
With flex
If .Rows = 2 Then
.Rows = .Rows + 1
Lleno = False
End If
If .Row > 0 Then .RemoveItem (.Row)
For i = 1 To .Rows - 1
tPagar = tPagar - .TextMatrix(i, 6)
Next
txtTotalPagar.Text = tPagar
End With
Nota : Si resta bien pero sale con signo negativo.
En una grilla(MshFlexGrid) tengo varios item que me suman un total ejm. formatear CPU 25, formatear laptop 35 el total a pagar me suma 60 pero si en la grilla yo escojo un item por ejemplo formatear laptop y lo elimino entonces tengo que restar y en total a pagar me debe quedar 25.00
Lo que pasa que ami me sale con signo negativo y tu me dijistes pq?
Pedro Avila
El total a pagar lo tengo en un texbox- Editado Pedro Ávila lunes, 18 de junio de 2012 0:37 faltaban datos
-
Tendrias dos formas de Hacerlo
1. Antes de eliminar el registro, coges el valor de txtTotalPagar.text y le resta el valor del registro que vas a eliminar, quita el for
txtTotalPagar.Text = txtTotalPagar.Text - .TextMatrix(.row, 6)
2. Como lo estas haciendo, eliminas el registro y vuelves a contar todos registros, pero en este caso tienes que hacer la suma
For i = 1 To .Rows - 1
tPagar = tPagar + .TextMatrix(i, 6)
NexttxtTotalPagar.Text = tPagar
- Editado ToniAG lunes, 18 de junio de 2012 0:47
- Marcado como respuesta Pedro Ávila lunes, 18 de junio de 2012 0:52
-