Ver Mensaje Individual
  #2  
Antiguo 12-09-2006
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Reputación: 26
vtdeleon Va por buen camino
Saludos

Que Base de datos utilizas?

Con Firebird podrias usar Containing sin mayores problemas. Si una de sus variables está vacia, la omite.

Código SQL [-]
Select * from tabla 
where campo1 containing :edit1 and campo2 containing :edit2 and campo3 containign :edit3

Otra forma, olvidando qué base de datos se utilice. Puede ser con condiciones, evaluando cual de esos edit se desea poner en condicion y despues agregarlo a la sentencia.

No se como haces para seleccionar cuál edit debe ser tomado encuenta. Yo tomare que es por tener algun valor en su propiedad Text.
Código Delphi [-]
var
  Sentencia:String;
Begin
  Sentencia:='Select * from tabla';
  if edit1.Text<>'' then
    Sentencia:=Sentencia+ ' campo1='+ QuotedStr(edit1.text)//Suponiendo que este campo toma Valores String
  else   if edit2.Text<>'' then
    Sentencia:=Sentencia+ ' campo1='+ QuotedStr(edit2.text)
  else   if edit3.Text<>'' then
    Sentencia:=Sentencia+ ' campo1='+ QuotedStr(edit3.text);
  Dataset.Sql.Text:=Sentencia;
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita