Pues es que en el código que envías se nota que le hace falta agregarle una consulta de una forma similar a como lo haces en
Código Delphi
[-]
sql1:=select * from tcompras inner join tclientes on claveclientecompras=clavecliente where EXTRACT(MONTH FROM cfecha)=:mes1
and EXTRACT(YEAR FROM cfecha)=:anos1 and ccuenta=:cuenta2;
modulodatos.zcompras.close;
modulodatos.Zcompras.sql.clear;
modulodatos.Zcompras.sql.text:=sql1;
Acá por eso pregunto en donde haces algo similar pero a zclientes, ya que la consulta sql1 solo se usa en zcompras y hace falta una para xclientes un proceso similar, así:
Código Delphi
[-]
sql2 = select * from tclientes where nombre like'%' || :nombre || '%';
modulodatos.zclientes.close;
modulodatos.zclientes.sql.clear;
modulodatos.zclientes.sql.text:=sql2;