Código Delphi
[-]
with FDM.QCC do begin
if active then close;
SQL.Clear;
SQL.Add('SELECT *');
SQL.Add('FROM CCCLIENTES ');
SQL.Add('WHERE ((PERIODO=01)OR(PERIODO=02)OR(PERIODO=03)OR ');
SQL.Add('(PERIODO=04)OR(PERIODO=05)OR(PERIODO=06)OR (PERIODO=07)OR');
SQL.Add('( PERIODO=08)OR(PERIODO=09)OR(PERIODO=10)OR(PERIODO=11)OR');
SQL.Add('(PERIODO=12)) ');
SQL.Add('AND (GESTION='+QuotedStr(Gest.Text)+')');
SQL.Add('AND CUENTA LIKE ''%'+QuotedStr(CUENTA1.Text)+'%'' ');
Open;
NAME1.Text:=FIELDBYNAME('NOMBRE').AsString;
..... end;
si lo haces de esta manera te ahorras el uso de la variable gest y de la variable Buscar1, ya que accesas directamente a tu edit.
¿Porque uso
SQL.Add(toda la instrucción) en lugar de
SQL.Add(una variable)?
Si existe un error en la sentencia SQL, cuando utilizas una variable te dira que tienes un error en la línea 1, ya que la instrucción se pasa en una sola línea. En cambio, si se pasa la instrucción (como en mi ejemplo), en caso de que exista un error, te dirá exactamente en que línea esta el error