Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-05-2005
CarmaZone CarmaZone is offline
Miembro
 
Registrado: mar 2005
Posts: 59
Poder: 20
CarmaZone Va por buen camino
Duda con busquedas

Hola a tod@s, soy yo de nuevo jeje. Ahora el asunto es éste:

Tengo un maestro/detalle (proveedores/articulos) y llamo a mi ventana buscar que contiene 4 edit para buscar por: CIF, empresa, articulo, precio/articulos. Bueno lo importante es esto: La consulta SQL se hacerla pero el problemas esque el usuario puede rellenar 1,2 o todos los campos y nose como controlar la sentencia.

He pensado:

Cada edit es un parametro y luego voy construyendo el where sumando los parametros de los edit que no esten vacios pero nose muy bien por donde guiarme.

Gracias De Antemano Y Salu2!!!
Responder Con Cita
  #2  
Antiguo 19-05-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Prueba esto:

Código Delphi [-]
var
  Criteria: TStringList;
  Where: String;

begin
  Criteria := TStringList.Create;
  Criteria.Delimiter := '&';
  Criteria.QuoteChar := ' ';

  Criteria.Values['cif'] := QuotedStr(Edit1.Text);
  Criteria.Values['empresa'] := QuotedStr(Edit2.Text);
  Criteria.Values['articulo'] := QuotedStr(Edit3.Text);
  Criteria.Values['precio'] := QuotedStr(Edit4.Text);

  Where := StringReplace(Criteria.DelimitedText, '&', ' and ', [rfReplaceAll]);

  Criteria.Free;
end;

Si la cadena Where está vacía es que no se llenó ningún campo. En caso contrario ya nada más agregas la cadena

'WHERE ' + Where

al resto de tu consulta.

Nota Fallará si el caracter & se encuentra en alguno de los campos.

// Saludos
Responder Con Cita
  #3  
Antiguo 19-05-2005
Avatar de hermes_32
hermes_32 hermes_32 is offline
Miembro
 
Registrado: jul 2003
Posts: 94
Poder: 21
hermes_32 Va por buen camino
Hola CarmaZone,

Tambien puedes hacer:

SELECT ....... FROM .....
WHERE 1=1
....

Despues ya te queda agregar el resto.

Un saludo.
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


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


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