![]() |
|
|
#1
|
|||
|
|||
|
Народ! делаю отчет с интервалом времени. при выводе в эксель выходят только названия столбцов. сама таблица пустая. В чем может быть проблема?
Код:
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, данные выводятся |
|
#2
|
|||
|
|||
|
Брось на форму DBGrid (временно) и посмотри, что у тебя запрос действительно возвращает данные. Есть подозрение, что у тебя не настроены параметры, поэтому запрос не проходит. По коду, на первый взгляд, все нормально. Если данные есть, то надо "идти" в отладчике и смотреть, что происходит.
Вообще, зачем ты добавляешь запрос в динамике, когда он у тебя параметризованный. Его надо настроить в дизайн-тайме и только значения параметров задавать. Не забудь настроить сами параметры (указать тип данных и какой это параметр (вх/вых)). |