RESOLVIDO. Pessoal agraço pela atençao e ajuda de vocês. O script foi resolvido e ficou assim: With DM.AdoQuery1 do begin close; SQL.clear; SQL.Add('select * from cam Where') ; SQL.Add('(:Par1 in (C1, C2, C3, C4, C5, C6 ,C7, C8, C9, C10, C11, C12, C13, C14, C15)) and'); SQL.Add('(:Par2 in (C1, C2, C3, C4, C5, C6 ,C7, C8, C9, C10, C11, C12, C13, C14, C15)) and'); SQL.Add('(:Par3 in (C1, C2, C3, C4, C5, C6 ,C7, C8, C9, C10, C11, C12, C13, C14, C15)) and'); SQL.Add('(:Par4 in (C1, C2, C3, C4, C5, C6 ,C7, C8, C9, C10, C11, C12, C13, C14, C15)) and'); SQL.Add('(:Par5 in (C1, C2, C3, C4, C5, C6 ,C7, C8, C9, C10, C11, C12, C13, C14, C15)) and'); SQL.Add('(:Par6 in (C1, C2, C3, C4, C5, C6 ,C7, C8, C9, C10, C11, C12, C13, C14, C15))'); Parameters.ParamByName('Par1').Value := StrToInt(Edit1.Text); Parameters.ParamByName('Par2').Value := StrToInt(Edit2.Text); Parameters.ParamByName('Par3').Value := StrToInt(Edit3.Text); Parameters.ParamByName('Par4').Value := StrToInt(Edit4.Text); Parameters.ParamByName('Par5').Value := StrToInt(Edit5.Text); Parameters.ParamByName('Par6').Value := StrToInt(Edit6.Text); open; if DM.AdoQuery1.RecordCount = 0 then showmessage('Nenhum Registro foi Encontrado com estas restrições!!'); end;