Hola
La función Locate sería así:
Código:
if Table1.Locate('Campo1;Campo2;Campo3',VarArrayOf([Valor1,Valoe2,Valor3]),[]) then //Encontrado
Para hacer una condición por varios campos se usa el operador AND
Código:
where Campo1='xxxx' And Campo2>10 And Campo3=200 And Campo4<>'1'
Para las fechas puedes usar esta función
Código:
function AnsiQuotedDate(Fecha:TDateTime):String;
begin
Result:=''''+IntToStr(Year(Fecha))+'-'+IntToStr(Month(Fecha))+'-'+IntToStr(Day(Fecha))+'''';
end;
y la llamas de este modo
Código:
Tabla1.ParamByName('Fecha').AsDate:=AnsiQuotedDate(DateTimePicker1.Date);
Query1.SQL.Strings[3]:='Where Fecha='+AnsiQuotedDate(DateTimePicker1.Date);
Bueno espero te sirva de algo esta información
Saludos