Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.03.01;
Скачать: CL | DM;

Вниз

Организация цикла между дат   Найти похожие ветки 

 
Динара   (2009-01-17 16:16) [0]

Мне нужно вывести отчет в Excel  по определенному периоду, период задается пользователем из БД Access


 
Динара   (2009-01-17 17:53) [1]


> Мне нужно вывести отчет в Excel  по определенному периоду,
>  период задается пользователем из БД Access

Мне нужно вывести отчет в Excel  по определенному периоду, период задается пользователем в DateTimePicker по БД Access
Отчет в Excel организован нужно только что бы был по определенному периоду
procedure TSved_o_post.Button5Click(Sender: TObject);
var x,sheet,column:variant;
i,index:integer;
begin
X:=CreateOleObject("excel.application");
x.visible:=true;
x.workbooks.add(-4167);
x.workbooks[1].worksheets[1].name:="Êíèæíûé ìàãàçèí";
column:=x.workbooks[1].worksheets["Êíèæíûé ìàãàçèí"];
column.columns[1].columnWidth:=5;
column.columns[2].columnWidth:=10;
column.columns[3].columnWidth:=19;
column.columns[4].columnWidth:=13;
column.columns[5].columnWidth:=8;
column.columns[6].columnWidth:=15;
column.columns[7].columnWidth:=15;

column:=x.workbooks[1].worksheets["Êíèæíûé ìàãàçèí"].rows;
column.rows[2].font.bold:=true;
column.rows[1].font.bold:=true;
column.rows[1].font.color:=clred;
column.rows[1].font.size:=14;

sheet:=x.workbooks[1].worksheets["Êíèæíûé ìàãàçèí"];
sheet.cells[1,3]:="Ñâåäåíèÿ î ïóñòóïëåíèè êíèã";
sheet.cells[2,1]:="Êîä";
sheet.cells[2,2]:="¹ äîê-òà";
sheet.cells[2,3]:="Íàçâàíèå";
sheet.cells[2,4]:="Êîë-âî øòóê";
sheet.cells[2,5]:="Öåíà";
sheet.cells[2,6]:="Äàòà ïîñòóïëåíèÿ";
sheet.cells[2,7]:="Ïîñòàâùèê";

Index:=3;

DataModule2.Sved_o_post.first;
For i:=0 to DataModule2.Sved_o_post.RecordCount-1 do
Begin
sheet.Cells[index,1]:=DataModule2.Sved_o_post.Fields.Fields[0].AsString;
sheet.Cells[index,2]:=DataModule2.Sved_o_post.Fields.Fields[1].AsString;
sheet.Cells[index,3]:=DataModule2.Sved_o_post.Fields.Fields[2].AsString;
sheet.Cells[index,4]:=DataModule2.Sved_o_post.Fields.Fields[3].AsString;
sheet.Cells[index,5]:=DataModule2.Sved_o_post.Fields.Fields[4].AsString;
sheet.Cells[index,6]:=DataModule2.Sved_o_post.Fields.Fields[5].AsString;
sheet.Cells[index,7]:=DataModule2.Sved_o_post.Fields.Fields[6].AsString;

Inc(index);
DataModule2.Sved_o_post.Next;
end;

end;


 
Сергей М. ©   (2009-01-17 17:57) [2]

Молодец.
А теперь кратко и внятно объясни, к чему вся эта куча говнокода ?


 
Динара   (2009-01-17 18:03) [3]

это вывод отчета в excel, я не могу организовать его по определенному периоду. Даты задаются в DateTimePicker1 и 2. нужно из базы данных Access выбрать данные по заданному периоду и сформировать в отчет


 
Юрий Зотов ©   (2009-01-17 18:20) [4]

Насколько я понял, сам отчет тут ни при чем. Надо сделать правильную выборку из БД, а отчету без разницы, что показывать. То есть:
select ... from ... where поле_даты between дата_1 and дата_2


 
Сергей М. ©   (2009-01-17 18:24) [5]


> это вывод отчета


И кому он интересен ?
Где все касаемое объекта Sved_o_post, ДО того как он был тобой активирован и передан в качестве источника данных для вывода в лтчет ?


 
KilkennyCat ©   (2009-01-17 18:51) [6]


> Сергей М. ©   (17.01.09 18:24) [5]


Я так понял, это как раз внутре Sved_o_post и надо сделать. Куда-то вот сюда:
> For i:=0 to DataModule2.Sved_o_post.RecordCount-1 do


то есть взять какой-то DataModule2.Sved_o_post.Fields.Fields[N].AsDateTime;
и как-то сравнить его с DateTimePicker.Value и если все хорошо, то как-то выполнить присваивание всех остальных DataModule2.Sved_o_post.Fields.Fields[N].AsString каким-то sheet.Cells[index,Nn]


 
Динара   (2009-01-17 19:34) [7]


> KilkennyCat ©   (17.01.09 18:51) [6]
>
> > Сергей М. ©   (17.01.09 18:24) [5]
>
>
> Я так понял, это как раз внутре Sved_o_post и надо сделать.
>  Куда-то вот сюда:
> > For i:=0 to DataModule2.Sved_o_post.RecordCount-1 do
>
>
> то есть взять какой-то DataModule2.Sved_o_post.Fields.Fields[N].
> AsDateTime;
> и как-то сравнить его с DateTimePicker.Value и если все
> хорошо, то как-то выполнить присваивание всех остальных
> DataModule2.Sved_o_post.Fields.Fields[N].AsString каким-
> то sheet.Cells[index,Nn]


спасибо получилось



Страницы: 1 вся ветка

Текущий архив: 2009.03.01;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.016 c
15-1230590376
Хост
2008-12-30 01:39
2009.03.01
Как использовать словарь FireFox для проверки орфографии?


8-1190721566
Jimmy
2007-09-25 15:59
2009.03.01
Ссылка на учебник по векторной графике


15-1230419786
Rubin
2008-12-28 02:16
2009.03.01
Подскажите где найти пример "управления рабочим столом"


2-1232135242
inviz
2009-01-16 22:47
2009.03.01
Раскрыть все узлы TreeView


15-1230313536
DillerXX
2008-12-26 20:45
2009.03.01
Пожалуйста, помогите пройти квест