Код:
procedure TForm3.BitBtn2Click(Sender: TObject);
var I : Integer;
D : TDateTime;
dd: TDateTime;
dat : Integer;
SL1: TStringList;
begin
edit1.Text:=datetostr(datetimepicker1.Date);//
edit2.Text:=datetostr(datetimepicker2.Date);//это для проверки пока код неотлажен
if datetimepicker1.Date>datetimepicker2.Date then showmessage ('Конечная дата неможет быть больше начальной');
dd:= trunc(DateTimePicker2.Date-DateTimePicker1.Date);
D := DateTimePicker1.DateTime;
StringGrid1.RowCount:=trunc(dd+1);
For I := 1 To trunc(dd+1) Do
Begin
for dat:= 0 to 23 do
begin
try
while form3.query1.Active do
Application.ProcessMessages;
with form3.query1 do
try
Close;
Query1.ParamByName('D1').AsDateTime:=D;
Query1.ParamByName('D2').AsDateTime:=D+(1/24);
Open;
StringGrid1.RowCount:=dat+1;
StringGrid1.ColCount:=i;
StringGrid1.Cells[i-1,dat]:=FieldByName('val').AsString;
while not Eof do
begin
SL1:= TStringList.Create;
SL1.Add(FieldByName('val').AsString);
memo1.Lines.Add(FieldByName('val').AsString); //для проверки что оно вообще выдаст
Next;
end;
except
end;
finally
form3.query1.Close;
end;
end;
D := D + 1;
showmessage('');
End;
end;
оно мне выдает пустые значения - запрос сделал как посоветовали - немогу понять что нетак опять делаю

обращаться и как AsString и как AsDateTime пробовал