Например на форме имеем:
ADOQuery1
2 DateTimeEdit (календарь короче

не помню как оно называется)
1 кнопку.
в свойство SQL компонента ADOQuery1 пишем запрос:
Код:
SELECT base_doc.id_base, spr_doc.spr_doc, base_doc.data, spr_user.spr_user, base_doc.period1, base_doc.period2, base_doc.rezul, base_doc.data_akt,
base_doc.naim_subj, base_doc.id_doc, base_doc.id_user
FROM base_doc LEFT OUTER JOIN
spr_doc ON base_doc.id_doc = spr_doc.id_SprDoc LEFT OUTER JOIN
spr_user ON base_doc.id_user = spr_user.id_user
WHERE (base_doc.period1 between :UserDate1 AND :UserDate2)
and (base_doc.period2 between :UserDate1 AND :UserDate2)
далее...
жмем 2 раза на кнопку.
в обработчике пишем:
Код:
ADOQuery1.Active := false;
ADOquery1.parameters.parambyname('UserDate1').Value:=DatetimeEdit1.date;
ADOquery1.parameters.parambyname('UserDate2').Value:=DatetimeEdit2.date;
ADOQuery1.Active:=true;