Access - Conversion Letras a Numero

 
Vista:

Conversion Letras a Numero

Publicado por Aida (4 intervenciones) el 04/04/2007 23:31:05
TENGO UN PROBLEMA

NECESITO CONVERTIR VALORES DE FRACCIONES INDICADOS CON LETRA EN NUMEROS

POR EJEMPLO SI ME INDICA 1 1/2 EL SISTEMA LO DEBE CONSIDERAR COMO 1.5

LO INTENTE HACIENDO LO SIGUIENTE

num = TEXT.Value
LongNum = Len(num)
concatenar = " "

For X = 1 To LongNum
letra = Asc(Left(num, X))
Select Case letra
Case 20: Exit Sub
Case 48, 49, 50, 51, 52, 53, 54, 55, 56, 57: concatenar = concatenar + Left(num, X)
End Select
Next

PERO CUANDO LE TOCA EL TURNO AL ESPECIO NO DETECTA EL ASCII, SINO QUE TOMA EL SIGUIENTE NUMERO, ME EXPLIQUE?

QUIERE DECIR QUE LEE PRIMERO UN 1 (ASCII 49), LUEGO NO DETECTA EL ESPACIO, SINO EL SIGUIENTE NUMERO 1 (ASCII 49)

AGRADEZCO DE ANTEMANO SU ATENCION
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:Conversion Letras a Numero

Publicado por Cristian Vasquez (47 intervenciones) el 05/04/2007 19:50:49
Para resolver tu problema yo preferi tomar un enfoque distinto al dividir la cadena entre sus componentes intenta con esta funcón:

Function Fraccionario(ByVal Cadena As String) As Double

z = 1
Do While x <> " "
primero = Left(Cadena, z)
x = Right(Left(Cadena, z + 1), 1)

z = z + 1
Loop

Cadena = Right(Cadena, Len(Cadena) - z)

z = 1
Do While x <> "/"
Segundo = Left(Cadena, z)

x = Right(Left(Cadena, z + 1), 1)

z = z + 1
Loop

Tercero = Right(Cadena, Len(Cadena) - z)

Fraccionario = Val(primero) + Val(Segundo) / Val(Tercero)

End Function
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