
07.10.2013, 15:39
|
Новичок
|
|
Регистрация: 02.09.2011
Сообщения: 76
Репутация: 11
|
|
Отчет по датам
Народ! делаю отчет с интервалом времени. при выводе в эксель выходят только названия столбцов. сама таблица пустая. В чем может быть проблема?
Код:
procedure TDateform.FormShow(Sender: TObject);
begin
adoquery1.Prepared:=true;
adoquery1.Parameters.ParamByName('StartDate').Value:=datetimepicker1.DateTime;
adoquery1.Parameters.ParamByName('enddate').Value:=datetimepicker2.DateTime;
adoquery1.SQL.Add('SELECT * FROM zhalob WHERE date between :startdate AND :enddate ');
adoquery1.Open;
end;
procedure TDateform.BitBtn1Click(Sender: TObject);
begin
Excel:= CreateOleObject('Excel.Application');
Excel.Workbooks.Add;
FData:=VarArrayCreate([1,ADOQuery1.RecordCount+1,1,ADOQuery1.Fields.Count],varVariant);
for j:=1 to ADOQuery1.Fields.Count do
FData[1,j]:=ADOQuery1.Fields[j-1].DisplayName;
ADOQuery1.First;i:=2;
while not ADOQuery1.Eof do
begin
for j:=1 to ADOQuery1.Fields.Count do
FData[i,j]:=ADOQuery1.Fields[j-1].Value;
ADOQuery1.Next;i:=i+1;
end;
Excel.Range[Excel.Cells[1, 1], Excel.Cells[ADOQuery1.RecordCount+1, ADOQuery1.Fields.Count]].Value:=FData;
Excel.Range[Excel.Cells[1, 1], Excel.Cells[ADOQuery1.RecordCount+1, ADOQuery1.Fields.Count]].Select;
Excel.Selection.Borders.LineStyle := 1;
Excel.Selection.Borders.Weight := 2;
Excel.Range[Excel.Cells[1, 1], Excel.Cells[1, 1]].Select;
Excel.Range[Excel.Cells[1, 1], Excel.Cells[1, ADOQuery1.Fields.Count]].Interior.ColorIndex:=16;
Excel.Columns.AutoFit;
Excel.Visible:=True;
end;
делаю просто select from szalob, данные выводятся
|