Вот так не надо:
Код:
...BETWEEN :("'+Edit1.Text+'") and :("'+Edit2.Text+'")';
Надо вот так:
Код:
...BETWEEN :DStart and :DEnd';
ADOQuery1.SQL.Add(tmpStr);
ADOQuery1.ParamByName('DStart').AsDateTime := StrToDate(Edit1.Text);
ADOQuery1.ParamByName('DEnd').AsDateTime := StrToDate(Edit2.Text);
...
DStart и DEnd - названия параметров, вы можете назвать их и по-другому, конечно.
Почитайте все-таки что-нибудь о T-SQL и о реализации запросов в VCL. Я просто предвижу многие трудности, с которыми вы столкнетесь, если этого не сделаете. Можно вот сюда глянуть:
Пример приложения с использованием ADO
T-SQL