Ayuda! VB:Ordenar lista y acceder segun la letra

Cuestiones y dudas acerca de lenguajes de programación diversos.

Moderador: Moderadores

Avatar de Usuario
Nuria

Ayuda! VB:Ordenar lista y acceder segun la letra

Mensaje por Nuria » Lun May 12, 2003 8:28 pm

Tengo una lista en un componente List, cuyos elementos se recogen de una BD. Cómo puedo ordenarlos alfabeticamente? Tambien necesito que según se pulsan teclas funcione como los indices de las ayudas, va accediendo a la entrada que más se aproxime dentro de la lista. Cómo se realiza esta función en VB 6.0?
Gracias

Avatar de Usuario
Invitado

Re: Ayuda! VB:Ordenar lista y acceder segun la letra

Mensaje por Invitado » Sab May 17, 2003 9:51 pm

abre la base de datos ordenada alfabéticamente y tienes el primer problema resuelto, o bien usa la propiedad SORT del LIST para ordenar alfabéticamente.
Con respecto al otro problema, puedes hacer:

letra_seleccionada="A"

for x=0 to list.listcount-1
if left(list.list(x),1)=letra_seleccionada then valor=x:x:list.listcount-1
next
en valor tienes la posición que ocupa el nombre que empieza por A, ahora lo que tienes que hacer es moverte por el LIST para que aparezca en primer lugar.

Si quieres algo, ponte en contacto JCIFITZ@santandersupernet.com

saludos

José Carlos
Junior
Mensajes: 13
Registrado: Dom May 18, 2003 1:55 am
Contactar:

Ordenar

Mensaje por José Carlos » Dom May 18, 2003 6:53 pm

Puedes abrir la base de datos ordenanda con lo cual no te hace falta ordenar el list. También puedes usar la opción SORT del list.

Para saltar a un dato de un list que coincida con una letra puedes hacer

letra="A"
for x=0 to list.listcount-1
if left(list.list(x),1)=letra then
lugar=x
x=list.listcount-1
endif
next

en lugar tienes el índice del primer dato que empieza por letra, lo que te falta es hacer que aparezca este dato en primer lugar
Saludos

Avatar de Usuario
PPRR

Mensaje por PPRR » Mar Ago 19, 2003 11:06 am

si llenas el list con una consulta sql añande al final de esa consulta ORDER BY y el campo por donde quieras ordenar

Responder