Texto a numérico

¿Cómo podría pasar mediante visual basic, un campo de texto a uno numérico?
Yo tengo en un campo el valor:<0,25 y yo solo quiero pillar el 0,25 para poder sumarlo.

2 Respuestas

Respuesta
1
Puedes usar lo siguiente:
1º Crea un módulo en la ventana de access y pega el siguiente código:
Option Explicit
'saca los numeros a una cadena alfanúmerica "de SOFOCLES" 25/03/2002
'aplicar a una consulta
Function extraernumeros(cadena As String)
Dim n As Integer
Dim aux, i, aux1 As String
n = Len(cadena)
aux1 = ""
For i = 0 To n - 1
aux = Left(cadena, 1)
Select Case aux
Case "1", "2", "3", "4", "5", "6", "7", "8", "9"
aux1 = aux1 & aux
End Select
cadena = right(cadena, n - i - 1)
Next
extraernumeros = Val(aux1)
End Function
'Observa la parte Case "1", "2", "3", "4", "5", "6", "7", "8", "9", "0"
'Lo unico que hacemos es pasar esos por valores a la variable , y en este caso
'al no incluir el <, podamos darlo por eliminado.
2º Puedes limpiar directamente la tabla haciendo una consulta. Añade un campo a tú consulta de forma que quede algo así:
Extract: extraernumeros([MiCampo])
Donde Extract: es un alias, extraernumeros() es la función que hemos hecho, y [MiCampo] es el campo del cual vamos a extraer la cadena que nos interesa.
3º Solo te queda ejecutar la consulta.
4º también puedes usar la función en donde interese.
Primero muchísimas gracias.
Pero no entiendo bien como puedo añadir un campo a la consulta(Extract: extraernumeros([MiCampo]))¡¿Cómo se hace esto?
Muchas gracias otra vez.
Haces una consulta de selección sobre la tabla en donde tienes ese campo que muestra valores del tipo <0,25 das salida en la consulta a los campos que necesites, en una columna vacia y en la celda campo escribes Extract: extraernumeros([MiCampo])
Ejemplo visto en SQL:
SELECT Numeros.Test, extraernumeros([Test]) AS [Extract]
FROM Numeros;
El único problema que le veo a la función es que no te va a respetar el cero a la izquierda, con lo cual si lo único que quieres eliminar es el carácter < es posible que adelantes usando la función Derecha:
SELECT Numeros.Test, Right([Test],4) AS expr1
FROM Numeros;
En este caso el 4 significa el numero de caracteres que se mostraran de derecha a izquierda.
Respuesta
1
Los datos son uniformes o siempre va a ser 0.25

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas