![]() |
Como formar esta consulta?
Hola a todos los del foro? como empesar es un poco complicado, estoy trabajando en Sql, en el cual realizo una consulta estandar que es la siguiente:
Code: ____________________________________________________ SELECT Guia.Codigo, Paquete.CodigoPaquete, Paquete.EstadoPaquete, Paquete.FechaHora,Direccion.Direccion, Ciudad.NombreCiudad FROM Ciudad INNER JOIN Direccion ON Ciudad.IdCiudad = Direccion.IdCiudad INNER JOIN DireccionConsignatario ON Direccion.IdDireccion = DireccionConsignatario.IdDireccion INNER JOIN Guia INNER JOIN Paquete ON Guia.Codigo = Paquete.CodigoGuia INNER JOIN Consignatario ON Guia.IdDestinatario = Consignatario.IdConsignatario INNER JOIN Ente ON Consignatario.IdConsignatario = Ente. IdEnte ON DireccionConsignatario.IdConsignatario = Consignatario.IdConsignatario WHERE (Paquete.CodigoPaquete IN ('72', '73', '74')) ____________________________________________________ cuando digo estandar es que no existe seleccion o parametro, para la seleccion utilizo el componente RxCheckListBox1 el cual le paso los datos que posee una tabla, esos datos son el 72, 73, 74 hasta el ultimo registro de la tabla, yo quiero que el usuario seleccione o marque con un check en RxCheckListBox1 el 72 o 73 o 74 el que el desea, la pregunta es como armo el WHERE (Paquete.CodigoPaquete IN ('72', '73', '74')) ? el codigo que utilizo es el siguiente : Code: ____________________________________________________ RxCheckListBox1.Items.Strings[RxCheckListBox1.Items.ValueFromIndex]; ___________________________________________________ pero como hago para poner el parentesis el asento y luego la como, haa y el hultimo parametro no lleva como? agradesco la ayuda que me puedan dar? Gracias ____________________________ Un saludo a todos... |
Hola
Se me ocurre que puedes hacer Código:
|
Gracias por responder Viet. Funciona bien pero tengo un sierto detalle cuando le paso este string al query lo hace bien la primera vez pero en la segunda no hace nada nose como resetear el query o actualizarlo el codigo que uso es el siguiente:
Code ___________________________________________________ procedure TEtiqueta.BitBtn5Click(Sender: TObject); var aux: String; I: integer; begin Datamodule2.QSeleccionEtiqueta. Datamodule2.QSeleccionEtiqueta.Close; Datamodule2.QSeleccionEtiqueta.SQL.Add('SELECT Guia.Codigo, Paquete.CodigoPaquete, Paquete.EstadoPaquete, Paquete.CodigoGuia,Paquete.FechaHora, Paquete.NumeroRelacion,Paquete.UbicacionPaquete, Guia.TotalPeso, Guia.OficinaOrigen, Guia.CiudadOrigen,'); Datamodule2.QSeleccionEtiqueta.SQL.Add('Guia.CiudadDestino, Guia.OficinaDestino, Ente.NombreEnte,Ente.Celular, Ente.Email, Direccion.Direccion, Ciudad.NombreCiudad'); Datamodule2.QSeleccionEtiqueta.SQL.Add('FROM Ciudad INNER JOIN Direccion ON Ciudad.IdCiudad = Direccion.IdCiudad INNER JOIN DireccionConsignatario ON Direccion.IdDireccion = DireccionConsignatario.IdDireccion INNER JOIN'); Datamodule2.QSeleccionEtiqueta.SQL.Add('Guia INNER JOIN Paquete ON Guia.Codigo = Paquete.CodigoGuia INNER JOIN'); Datamodule2.QSeleccionEtiqueta.SQL.Add('Consignatario ON Guia.IdDestinatario = Consignatario.IdConsignatario INNER JOIN'); Datamodule2.QSeleccionEtiqueta.SQL.Add('Ente ON Consignatario.IdConsignatario = Ente.IdEnte ON'); Datamodule2.QSeleccionEtiqueta.SQL.Add('DireccionConsignatario.IdConsignatario = Consignatario.IdConsignatario'); Datamodule2.QSeleccionEtiqueta.SQL.Add('WHERE (Paquete.CodigoPaquete IN( '); i:= 0; While i< RxCheckListBox1.Items.Count do begin if RxCheckListBox1.checked[i] then begin aux:= aux +' '+ RxCheckListBox1.Items.Strings[i] + ' ,' ; end; inc(i); end; aux := Copy(aux,1,length(aux) -1); // saco el ultimo aux:= aux + '))'; Datamodule2.QSeleccionEtiqueta.SQL.Add(aux); Datamodule2.QSeleccionEtiqueta.Open; Datamodule2.QSeleccionEtiqueta.Refresh; end; ________________________________________________ la primera si lo hace pero cuando hago nuevamente Click en el boton no hace nada que puede estar pasando. agradesco su ayuda?. Gracias. ___________________________________ Un saludo para todos.... |
Dany
Para asignarle el SQL a la Query hace asi: Código:
|
La franja horaria es GMT +2. Ahora son las 03:31:58. |
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