Я полагаю в первом запросе задача стоит получить максимальный индекс на конкретную дату:
Код:
With Query do
begin
SQL.Text:='SELECT MAX(Index) as MaxIndex '+
'FROM tPayments '+
'WHERE [Date]=:CurDate';
Parameters.ParseSQL(SQL.Text,True);
Parameters.ParamByName('CurDate'):=YourDate;
Open;
if RecordCount>0 then
MyMaxIndex:=FieldByName('MaxIndex').AsInteger
else
MyMaxIndex:=-1;
Close;
end;
if MyMaxIndex=-1 then
MessageDLG('Error in query :(',mtError,[mbOk],0);
Второй запрос понятен еще меньше

Получить данные о датах и платежах для которых значение индекса меньше, чем значение индекса увеличенное на 6 (? - откуда цифира) полученное из первого запроса?
Может объяснишь что хотел получить в результате этих довольно таки запутанных действий?