Visual Basic - ordenar por longitud

Life is soft - evento anual de software empresarial
 
Vista:

ordenar por longitud

Publicado por enzo (3 intervenciones) el 18/02/2008 03:01:11
alguien podria decirme como ordenar una base de datos y lo haga por la longitud del campo, por ejemplo si tenemos dos campos (nombre y rif) con los siguientes datos

lola 91265477
pepe 625
juan 5
jose 1254

lo ordene de la siguiente forma

juan 5
pepe 625
jose 1254
lola 91265477

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:ordenar por longitud

Publicado por Antoni Masana (79 intervenciones) el 18/02/2008 08:36:37
Añade un compo que tenga el valor por el que tenga que ordenar y lo haces por ese campo.

lola 91265477
pepe 625
juan 5
jose 1254

lo ordena de la siguiente forma

06 juan 5
08 pepe 625
09 jose 1254
13 lola 91265477

Otra opcion es definir la clave de ordenacion como la logitud del campo /s. Si se puede
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:ordenar por longitud

Publicado por vincenzo colombo (3 intervenciones) el 18/02/2008 13:54:49
negativo, la respuesta, no funciona, son solo dos campos con 3000 registros si le agrego un campos que le pongo:
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:ordenar por longitud

Publicado por ED (70 intervenciones) el 18/02/2008 16:05:06
agrega un compo numerico o caracter y hay coloca la longuitud y luego ordenalo por ese campo y listo, colocalo como indice, suerte.
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:ordenar por longitud

Publicado por Richard Montero (25 intervenciones) el 18/02/2008 17:05:12
Antoni

Podés hacerlo de la siguiente manera:

Si tu base de datos es SQL Server hace lo siguiente:

select nombre, rif from [Nombre de la tabla]
order by len(nombre + rtrim(ltrim(str(rif ))))

Si tu base de datos es Access hace lo siguiente:

select nombre, rif from [Nombre de la tabla]
order by len(nombre & trim(rif))

Saludos,
Richard
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:ordenar por longitud

Publicado por VINCENZO (3 intervenciones) el 18/02/2008 17:19:26
GRACIAS RICHARD, NO ME RESULTO COMO ME LO PUSISTES, PERO ME DISTES LA IDEA, SOLO FALTABA COLOCARLE TRIM , YA QUE EL CAMPO ES UNA MATRIZ DE 20 CARACTERES Y POR ESO NO ME LO ORDENABA COMO LO DESEABA
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