Puedes tomar como referencia este código que utilizo yo en casos similares:
Código Delphi
[-]
procedure TfrConClientes.FormActivate(Sender: TObject);
var
cSql1,cSql2,cSql3:String;
begin
frConClientes.Caption:='Consulta de '+cListado;
DmClientes.IBDtsCli.Close;
DmClientes.IBDtsCli.SelectSQL.Clear;
cSql1:='Select * from Alumnos';
csql3:=' Order by Apellidos,Nombre';
Case frDlgAlumnos.RdgAlumnos.ItemIndex of
0:cSql2:=' Where Baja = ''N''';
1:cSql2:=' Where Grupo = '+DmClientes.IBDtsGruposCODIGO.Value;
2:cSql2:=' Where RecibofPago = '+QuotedStr(frDlgalumnos.cbcPago.Text);
3:cSql2:=' Where Sexo = ''M''';
4:cSql2:=' Where Sexo = ''F''';
5:cSql2:=' Where Baja = ''S''';
6:cSql2:=' Where CP ='+QuotedStr(frDlgAlumnos.edCP.Text);
end;
DmClientes.IBDtsCli.SelectSQL.Add(cSql1+cSql2+cSql3);
DmClientes.IBDtsCli.Open;
end;
Un Saludo.