Visual Basic - Problema urgente

Life is soft - evento anual de software empresarial
 
Vista:

Problema urgente

Publicado por nachito (26 intervenciones) el 14/02/2006 16:26:43
hola peña. tengo un grave problema. tenia puesta una base de datos en un datagrid, pero he preferido cambiar a un MSHFlex grid. el problema viene porque hay unos campos que tenia puestos en el datagrid para que devolviera solo 2 decimales al hacer un calculo, pero ahora me encuentro con que me devuelve lo menos 6 decimales. al hacer las operaciones tengo puesto el round(xxxxxx,2) pero hay algunos campos en los que si que lo hace, pero hay otros(en los decimales solo) en los que me saca muchos numeros.

como puedo arreglarlo???

thxxx a to2
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

os dejo mas informacion y codigo

Publicado por nachito (26 intervenciones) el 14/02/2006 16:53:58
hola. os dejo mas informacion.

1. en el flex grid sale el numero con los decimales que le da la gana, mientras que en el access y en un informe salen solo 2 decimales. porque pasa esto???

2. este es el codigo que uso para sacar las cuentas:

rs.MoveFirst
Do Until rs.EOF
If formula > rs!Repe Then
rs.Edit
rs!Totaln = Round(formula - rs!Repe, 2)
rs!Totalp = "0"
rs.Update
ElseIf formula < rs!Repe Then
rs.Edit
rs!Totalp = Round(rs!Repe - formula, 2)
rs!Totaln = "0"
rs.Update
Else
rs.Edit
rs!Totalp = "0"
rs!Totaln = "0"
rs.Update
End If
rs.MoveNext
Loop

gracias a to2
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

RE:os dejo mas informacion y codigo

Publicado por Juan_K (181 intervenciones) el 14/02/2006 19:32:53
No se si el Flexgrid lo llenas manual o automaticamente pero una posible solucion seria

'&& Suponiendo q la primera fila es de cabeceras
'&& y q la columna con los datos numericos es la 3
For i = 1 To MSHFlexGrid1.Rows - 1
MSHFlexGrid1.TextMatrix(i, 2) = Round(Val(MSHFlexGrid1.TextMatrix(i, 2)), 2)

Next
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