![]() |
Ver registros ordenados en DBLookupListBox
Hola,
Tengo una base de datos de ejercicios. El campo clave es numérico y se llama "Número identificador". En mi ventana principal, he creado una DBLookupListBox que muestra el campo "Descripción" de los ejercicios y permite elegir el que quieras. La DBLookupListBox accede a los datos a través de una DataSource ("DataSourceEjercicios"), conectada a una ADOTable. Todo funciona bien, excepto en que yo querría que la DBLookupListBox mostrara la descripción de los ejercicios, ordenados por el campo "Número identificador". El orden en que los muestra no parece tener ni pies ni cabeza. Valores de la DBLookupListBox: -ListSource tiene el valor "DataSourceEjercicios". -ListField tiene el valor "Descripción" (es lo que muestra, y lo hace bien). -KeyField tiene el valor "Número identificador". Yo creía que esto ordenaría los datos por este campo, pero no lo hace. ¿Alguien sabe cómo puedo conseguir que los ejercicios me aparezcan ordenados por "Número identificador"? Gracias por vuestra atención. |
Hola Josep
Pues si los datos los tomas de TQuery o algo parecido (ya que no has dicho que tipo de B.D. estas trabajando), se puede ordenar desde la consulta del query. Ejemplo:
y con esto al momento de "llenarse" el DBLookupListBox se mostrarán ordenados por el campo NUMERO_IDENTIFICADOR (order by...). Espero te haya servido. |
Hola mRoman,
Gracias por tu respuesta. Te explico. La base de datos es de tipo Microsoft Access. Entre otras, contiene la tabla que aquí necesito, la tabla "Ejercicios". La "Connection String" de la ADOTable empieza por "Provider=Microsoft.Jet.OLEDB.4.0. y a continuación detalla la localización de la base de datos. No domino el lenguaje SQL. Pero basándome en los vídeos de Youtube que he consultado he creado una ADOQuery (ADOQueryEjercicios) y he introducido los comandos SQL que dices en la propiedad "SQL". También ha asignado la propiedad "DataSource" a "DataSourceEjercicios" y he construido una "Connection String" que apunta a la base de datos. La propiedad "Connection" la tengo en blanco, pues no me ofrece ninguna opción para ella. Pero cuando intento activar la ADOQuery (propiedad "Active"), no lo hace y aparece el mensaje "Error de sintaxis (falta operador) en la expresión de consulta 'Número identificador'." Gracias nuevamente. |
Hola,
Ya he encontrado el error. Se trataba de la conexión entre la ADOQuery y la ADOConnection, que era deficiente. Una vez solucionada, el código de mRoman funciona perfectamente. Gracias! |
La franja horaria es GMT +2. Ahora son las 09:15:12. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi