Visual Basic - Leer decimales de Access

Life is soft - evento anual de software empresarial
 
Vista:

Leer decimales de Access

Publicado por david (111 intervenciones) el 17/12/2001 10:52:37
Hola, tengo una pequeña duda:
Cuando leo numeros grabados en una tabla de acces a través de un datacontrol me muestra el valor de este de esta manera:

si pone 3.45 sale 3.45
si pone 3.40 sale 3.4
si pone 3.00 sale 3

Como puedo obligar a que me muestre los valores con los dos decimales? No puedo poner ninguna máscara con el format ya que con el data no puedo y no utilizo ningún codigo para pasar datos al flexgrid.
En la base de datos tengo los valores escritos correctamente, el problema solo lo tengo al leer con el data.
Alguna idea? Muchas 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:Leer decimales de Access

Publicado por JuanMa (5 intervenciones) el 18/12/2001 13:30:39
Lo he estado probando y me pasa lo mismo que a ti, lo único q se me ocurre así a simple vista es q pases el resultado a string y que lo trates manualmente, que detectes dónde está el punto decimal y cuántos decimales vienen, si no hay punto decimal se lo añades y si lo hay y hay menos de 2 decimales añades un cero por la derecha, es un parche, pero puede funcionar.
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:Leer decimales de Access

Publicado por JuanMa (5 intervenciones) el 18/12/2001 13:30:47
Lo he estado probando y me pasa lo mismo que a ti, lo único q se me ocurre así a simple vista es q pases el resultado a string y que lo trates manualmente, que detectes dónde está el punto decimal y cuántos decimales vienen, si no hay punto decimal se lo añades y si lo hay y hay menos de 2 decimales añades un cero por la derecha, es un parche, pero puede funcionar.
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:Leer decimales de Access

Publicado por JuanMa (5 intervenciones) el 18/12/2001 13:44:48
Lo mismo que te he dicho antes, pero aquí te paso el código de la función que detecta si hay decimales y que añade un cero más si no lo hay:

Function AddDecimales(Numero As Double) As String
Dim i As String

i = InStr(1, CStr(Numero), ",", vbTextCompare)
If i <> 0 Then
If Len(Mid(CStr(Numero), i + 1)) < 2 Then
AddDecimales = CStr(Numero) + "0"
Else
AddDecimales = CStr(Numero)
End If
Else
AddDecimales = CStr(Numero) + ",00"
End If
End Function

En el grid deberías tratar el resultado siempre como string, pq al hacer la conversión a double te pone de nuevo un decimal sólo ( 3.20 -> 3.2).

Espero que te sirva.

Saludos.
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:Leer decimales de Access

Publicado por david (111 intervenciones) el 18/12/2001 18:19:24
Hola Juan y gracias por la atención.
Al final tuve la idea de pasarle un format una vez llenada la tabla. Así de esta manera, me voy moviendo opr la columna donde deseo que los decimales se vean bien y le aplico el formato deseado a cada fila de esa columna. El codigo por si te interesa o a otro le sirve de utilidad, aunque es muy sencillo, es este:

Private Sub Command1_Click()
Dim num As Double
For j = 1 To flex.Rows - 1 'El total de filas menos la primera
flex.Row = j
flex.Col = 5
num = flex.Text
flex.Text = Format(num, "####0.00")
Next j
end sub

Gracias igualmente!
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