Access - texto a numero

 
Vista:

texto a numero

Publicado por aldo (15 intervenciones) el 28/02/2007 16:03:54
hola, estoy usando access...
tengo un campo de texto que contiene numeros (por que lo hicieron asi, vaya a saber uno...) y lo quiero ordenar por ese campo de texto.

la consulta es la sig.
Select legajo from mitabla order by legajo

pero me lo ordena como texto y no me salen los numeros ordenados, se entiende?

luego hice la siguiente consulta...
Select legajo from mitabla order by val(legajo)
y me tira el error de que no coinciden los tipos, con lo cual hice una modificacion a la consulta de la sig. manera
Select val(legajo) from mitabla order by val(legajo)
me sigue tirando el mismo error...

no obstante, probe con esto que lei en un foro...
Select legajo from mitabla order by cint(legajo)
y me tira un cartel "Desbordamiento"
perfecto, entonces cambie la consulta
Select legajo from mitabla order by clong(legajo)
y me tira el siguiente error...
"la funcion clong no esta definida en la funcion"

como hago para ordenar un campo texto en numero...?

gracias!
Aldo
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:texto a numero

Publicado por The Emulator (146 intervenciones) el 28/02/2007 16:35:00
Hola

El ultimo error que te sale es porque no existe la funcion CLong la funcion que debes usar es CLng.

Saludos
http://www.theemulator.tk
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:texto a numero

Publicado por aldo (15 intervenciones) el 28/02/2007 16:52:25
Sí, me di cuenta...
pero ahora el error es el siguiente:

"No coinciden los tipos de datos en la expresion de criterios..."

la consulta que reformule es la siguiente:

SELECT legajo
FROM mitabla
WHERE legajo is not null
ORDER BY clng(legajo);

saludos y gracias
Aldo
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:texto a numero

Publicado por Enrique (1299 intervenciones) el 28/02/2007 16:54:02
Aldo, la segunda consulta que has creado es casi correcta, solo que en ella tienes que incluir un Campo Calculado, por ejemplo LEGAJONUM, que será el campo que deberás utilizar como Origen del Control al incluirlo en un formulario o informe, cuando quieras que esté ordenado como número, en vez de usar "Legajo"

Select val(legajo) AS LEGAJONUM from mitabla order by val(legajo)

Lo que está en mayúsculas es lo que he añadido a tu consulta.

Saludos
Enrique
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:texto a numero

Publicado por aldo (15 intervenciones) el 28/02/2007 17:08:24
Enrique...
me sigue tirando el mismo error...

"no coinciden los tipos de datos en la expresion de criterios"

estoy pensando que a lo mejor hay alguna letra filtrada en algun registro y es por eso que me este tirando que no coinciden los tipos.
voy a tener que revisar uno por uno (son mas de 7000 registros), pero bueno...
eso me va a dar alguna respuesta mas...

gracias por tu ayuda...
un saludo
Aldo
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:texto a numero

Publicado por Enrique (1299 intervenciones) el 28/02/2007 17:19:17
Aldo, si hubiera algún campo con letras o combinación de numeros y letras, en el Campo Calculado aparecerían al principio (antes de los números) con valor Cero. Pega aquí el Select completo que estás utilizando a ver si conseguimos ver el fallo, porque parece que el error está en el Criterio que estás poniendo.

Saludos
Enrique
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:texto a numero

Publicado por aldo (15 intervenciones) el 28/02/2007 17:33:14
Enrique...
mi problema ya esta resuelto. Lo que paso fue que habia un campo que parecia null pero tenia un espacio en blanco (lo descubri de casualidad), y pude formular la siguiente consulta...

SELECT legajo
FROM mitabla
WHERE legajo is not null
ORDER BY clng(legajo);

dandome como resultado lo que queria obtener...

ahora, no se si esto tiene que ver con tu respuesta anterior de si hay algun campo con letras me iba a salir con 0. El tema es que antes de descubrir ese campo que no era null sino que tenia un espacion en blanco, me daba error.
Cuando reemplace ese campo en blanco con un 0, la consulta no me dio mas error.

Gracias Enrique por tu predisposicion y asesoramiento.
Gracias a todos por su ayuda...
TEMA RESUELTO!

Aldo
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