Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 07.10.2013, 15:39
Kis Kis вне форума
Новичок
 
Регистрация: 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, данные выводятся
Ответить с цитированием
  #2  
Старый 07.10.2013, 16:32
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,100
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Брось на форму DBGrid (временно) и посмотри, что у тебя запрос действительно возвращает данные. Есть подозрение, что у тебя не настроены параметры, поэтому запрос не проходит. По коду, на первый взгляд, все нормально. Если данные есть, то надо "идти" в отладчике и смотреть, что происходит.

Вообще, зачем ты добавляешь запрос в динамике, когда он у тебя параметризованный. Его надо настроить в дизайн-тайме и только значения параметров задавать. Не забудь настроить сами параметры (указать тип данных и какой это параметр (вх/вых)).
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 07:04.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025