Hola.
El problema se produce por que usas el mismo query para el DBLookupComboBox y para realizar la consulta. De ese modo, cuando asignas la cadena SQL de la consulta (en el evento
OnClick) se sobreescribe la primera cadena que alimentaba al combo.
Te sugiero dos alternativas:
La primera es usar dos componentes query, uno para el DBLookupComboBox y otro para la consulta (a mi criterio la mejor opción).
La otra es poner el código que asignaste al evento
OnTimer al finalizar la consulta. O también salvar previamente la consulta original en una variable y asignarla al query una vez finalizada (que es lo mismo).
Código Delphi
[-]
procedure TForm4.BOTONBUSCARSALAClick(Sender: TObject);
var
..
ConsultaOriginal: string;
begin
ConsultaOriginal:= QUERYTIPOSALA.SQL.Text; QUERYTIPOSALA.Close;
QUERYTIPOSALA.SQL.Text:= ConsultaOriginal;
QUERYTIPOSALA.Open;
end;
Pero como dice
Casimiro, usar un
TTimer no soluciona nada.
Saludos.