Ver Mensaje Individual
  #1  
Antiguo 13-11-2006
Avatar de magnu9
magnu9 magnu9 is offline
Miembro
 
Registrado: nov 2006
Posts: 84
Reputación: 18
magnu9 Va por buen camino
Orden by con items de un Listbox!!

Saludo a todos, espero que se sientan todos bien, observen este caso...
tengo en mi form de reporte de clientes, dos listbox, uno en el cual guardo los items por el cual voy a reportar, el otro listbox,
el cual me resibe los items del listbox1, bueno eso de los botones para hacer ese traspaso lo he logrado hacer. Pero mi duda es
como pasar los items del listbox2 al sql para poder ordenar el reporte como lo indique el listbox2.
Este pequeño codigo es solo una muestra de como lo he intentado. Pero me ha sido en vano.
Fuera de lo que es lo del listbox, osea si utilizar los listbox, al qryCliente.Sql.Add, cuando les digo que me ordenes por codcli,
me lo ordena muy bien, pero si coloco nomcli para el orden no hace nada de orde.
Código Delphi [-]
procedure TrpCliente.btnAceptarClick(Sender: TObject);
begin
  
ListBox1.Items[0]:= 'cliente.codcli';
   
   try
   FreportCliente:=TFreportCliente.Create(self);
      if Ordenar.ItemIndex = 0 then begin
         FreportCliente.qryCliente.SQL.Add(' Select  codcli,nomcli,apelcli, dircli, telcli,cedcli, fecha, estado, codzon, facturacredito, balcli, direc_envio From cliente ');
         FreportCliente.qryCliente.SQL.Add(' WHERE cliente.codcli >='''+(edCodigo1.Text)+''' AND cliente.codcli <= '''+(edCodigo2.Text)+'''');
         FreportCliente.qryCliente.SQL.Add('OR (cliente.nomcli LIKE ''%'+edNombre1.Text+''' and cliente.nomcli LIKE ''%'+edNombre2.Text+''')');
         FreportCliente.qryCliente.SQL.Add(' ORDER BY '''+ListBox1.Items[0]+''' deSC');
      
      end
      else  begin
         FreportCliente.qryCliente.SQL.Add(' Select  codcli,nomcli,apelcli, dircli, telcli,cedcli, fecha, estado, codzon, facturacredito, balcli, direc_envio From cliente ');
         FreportCliente.qryCliente.SQL.Add(' WHERE cliente.codcli >='''+(edCodigo1.Text)+''' AND cliente.codcli <= '''+(edCodigo2.Text)+'''');
         FreportCliente.qryCliente.SQL.Add('OR cliente.nomcli='''+edNombre1.Text+''' and cliente.nomcli='''+edNombre2.Text+'''');
         FreportCliente.qryCliente.SQL.Add(' ORDER BY cliente.codcli desc');
      end;
         FreportCliente.qryCliente.Open;
    FreportCliente.Titulo.text := 'Reporte de Cliente';
    
          If Salida.ItemIndex = 0 then FreportCliente.QuickRep1.Preview
           else if Salida.ItemIndex= 1 then FreportCliente.QuickRep1.Print;
      finally
         FreportCliente.Free;
      end;
Espero me entiendan, de lo contrario si lo desean un poco mas detallado solo me escriben. Gracias de Antemano.
Responder Con Cita