Comment ajouter un champ de recherche à un ensemble de données?

J'ai un jeu de données que j'ai besoin d'un champ de recherche pour. Problème est, cet ensemble de données de la structure est définie par le résultat d'une requête. Je ne peux pas ajouter le champ comme un TFieldDef avant de .Active = true; parce qu'elle est écrasée, et je ne peux pas l'ajouter après l'exécution de la requête parce que vous ne pouvez pas modifier la structure d'un ensemble de données ouvert.

Il doit y avoir un moyen de le faire. Personne ne sait comment?

EDIT: Il semble y avoir une certaine confusion à propos de ce que je suis à la recherche pour. Je ne suis pas à la recherche pour une recherche au moment de la requête. Je suis à la recherche d'un champ de recherche, un TField objet où FieldKind = fkLookup, de sorte qu'il peut être utilisé avec les bases de données de recherche de zone de liste déroulante pour modifier les données après que la requête a retourné son résultat. Cela n'a rien à voir avec le SQL et tout à voir avec Delphi dataset modèle et les contrôles de bases de données.