Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-12-2009
Jucho69 Jucho69 is offline
Miembro
 
Registrado: ene 2007
Ubicación: Ciudad Habana, Cuba
Posts: 118
Poder: 18
Jucho69 Va por buen camino
Unhappy 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
Responder Con Cita
  #2  
Antiguo 10-12-2009
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Código Delphi [-]
  ADOQuery9.SQL.Text := 'SELECT TuTabla.NoSub FROM TuTabla ORDER BY TuTabla.NoSub';
   ADOQuery9.Active := True;
   While not ADOQuery9.Eof do
   begin
      ComboBox1.Items.Add(ADOQuery9.Fields[0].Text);
      ADOQuery9.Next;
   end;
Saludos
__________________
Siempre Novato
Responder Con Cita
  #3  
Antiguo 10-12-2009
Jucho69 Jucho69 is offline
Miembro
 
Registrado: ene 2007
Ubicación: Ciudad Habana, Cuba
Posts: 118
Poder: 18
Jucho69 Va por buen camino
Hola Caral

Gracias por tu ayuda, Voy de inmediato a provar el codigo y despues te digo si me sirvió.

Saludos
Responder Con Cita
  #4  
Antiguo 10-12-2009
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Arrow

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...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #5  
Antiguo 10-12-2009
Jucho69 Jucho69 is offline
Miembro
 
Registrado: ene 2007
Ubicación: Ciudad Habana, Cuba
Posts: 118
Poder: 18
Jucho69 Va por buen camino
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
Responder Con Cita
  #6  
Antiguo 10-12-2009
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Arrow

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.
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #7  
Antiguo 11-12-2009
Avatar de 2-D@monic
2-D@monic 2-D@monic is offline
Miembro
 
Registrado: may 2007
Posts: 94
Poder: 18
2-D@monic Va por buen camino
Creo que el método sorted solo ordena números no?????????? cadenas las maneja de manera diferente
__________________
Soy pésimo en lo que mejor hago y por eso me siento bendecido.
Responder Con Cita
  #8  
Antiguo 11-12-2009
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
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...
Responder Con Cita
  #9  
Antiguo 11-12-2009
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Muéstrame o tráeme toda la tabla.
Cita:
Empezado por Jucho69 Ver Mensaje
ADOQuery2.SQL.Text := 'SELECT * FROM Pagos ORDER BY Beneficiario';
Cuando la recorras TODA.
Cita:
Empezado por Jucho69 Ver Mensaje
While not ADOQuery2.Eof do
begin
Adjunta o adhiere al combobox SOLO el primer archivo.
Cita:
Empezado por Jucho69 Ver Mensaje
.............then Add(AdoQuery2.Fields[0].Text);
En otras palabras, para mi corto conocimiento, algo que no le habéis comentado al amigo es que su planteamiento esta mal.
Me parece que no es lógico en el uso de SQL.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #10  
Antiguo 24-12-2009
Jucho69 Jucho69 is offline
Miembro
 
Registrado: ene 2007
Ubicación: Ciudad Habana, Cuba
Posts: 118
Poder: 18
Jucho69 Va por buen camino
Wink

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 OLEDBatabase 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
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
ordenar un dblookup combobox mvf Conexión con bases de datos 1 11-07-2007 19:33:28
Organizar alfabeticamente el contenido de un Memo JuanErasmo C++ Builder 5 23-06-2007 18:58:30
Ordenar un combobox karlita_cb Varios 3 16-09-2006 23:07:42
Ordenar alfabeticamente CarlosHernandez Conexión con bases de datos 8 22-07-2005 23:00:32
Ordenar alfabeticamente metalfox6383 Varios 3 17-07-2005 23:27:52


La franja horaria es GMT +2. Ahora son las 03:40:35.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi