Форум: "Начинающим";
Текущий архив: 2009.03.01;
Скачать: [xml.tar.bz2];
ВнизОрганизация цикла между дат Найти похожие ветки
← →
Динара (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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.005 c