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.