![]() |
Ordenar alfabeticamente un ComboBox
Hola a todos los del Foro
Por favor necesito que me ayuden con el siguiente problema, estoy haciendo una aplicación para el area de Finanzas de la empresa y como es logico tengo algunas dificultades, ¿como se puede reorganizar alfabeticamente los item que ya están guardados de forma aleatoria en un ComboBox y que aparezcan en él mismo ordenados? los datos provienen de una sentencia SQL de una base de datos microsoft, sé que con las instrucciones SQL como por ejemplo: Form1.ADOQuery9.SQL.Add('Order by NoSub asc'); se pueden ordenar los datos antes de que llene el Combo pero quisiera saber si se puede ordenar una ves que los datos ya están dentro del Combo desorganizados Gracias y disculpen lo extenso del post |
Hola
Saludos |
Hola Caral
Gracias por tu ayuda, Voy de inmediato a provar el codigo y despues te digo si me sirvió. Saludos |
Aunque como te ha indicado Caral haciendolo directamente en la Consulta SQL, tambien podrias haber puesto a la propiedad Sorted=True de tu combobox y ya hubiera estado tambien;).
Saludos...:) |
Hola
Te diré como hice el codigo y me dá un error en la clausula Select ADOQuery2.Close; ADOQuery2.SQL.Clear; ADOQuery2.SQL.Text := 'SELECT * FROM Pagos ORDER BY Beneficiario'; ADOQuery2.SQL.Add('Where CBanca = '+QuotedStr(Form1.ComboBox1.Items[Form1.ComboBox1.ItemIndex])); ADOQuery2.Active := True; While not ADOQuery2.Eof do begin if not(ADOQuery2.Fields[0].Text='')then begin with Form5.ComboBox7.Items do if IndexOf(AdoQuery2.Fields[0].Text) = - 1 then Add(AdoQuery2.Fields[0].Text); with Form5.ComboBox9.Items do if IndexOf(AdoQuery2.Fields[0].Text) = - 1 then Add(AdoQuery2.Fields[0].Text); end; AdoQuery2.Next; end; Gracias por adelantado |
La clausula order by tiene que ir al final de la sentencia SQL;).
Me temo amiguito que deberias leer un buen Libro o Tutorial sobre SQL:o. Saludos...:) |
Creo que el método sorted solo ordena números no?????????? cadenas las maneja de manera diferente
|
Hola...
La propiedad (más no método) Sorted le indica al componente TComboBox que debe ordenar las cadenas de texto contenidas en su propiedad Items. Esto es, 2-D@monic, que para el TComboBox no existen números como tal, solo cadenas de texto y eso es lo que se ordena. Saludos... |
Hola
Muéstrame o tráeme toda la tabla:eek:. Cita:
Cita:
Cita:
Me parece que no es lógico en el uso de SQL. Saludos |
Hola
Gracias Caral y a los demas que me ayudaron, ya resolvi como hacer el codigo, lo hice de esta forma> ADOQuery1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+Form1.Edit2.Text+';Persist Security Info=False;Jet OLEDB:Database Password=rosello07'; ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('Select * From Pago'); ADOQuery1.SQL.Add('Where CBanca = '+QuotedStr(Form1.ComboBox1.Items[Form1.ComboBox1.ItemIndex])); ADOQuery1.SQL.Add('Order by ChequeTransf asc'); ADOQuery1.Open; O sea, se recorren todos los registros de la tabla, pero se ordena alfabeticamente por el campo ChequeTransf, claro,lo lojico seria seleccionar solo ese campo y no todos los demas pero es que los utilizo tambien aunque ya no ordenados. Les reitero las gracias a todos y al moderador Saludos |
| La franja horaria es GMT +2. Ahora son las 06:50:15. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi